Tipos de atributos de primitivas geométricas Dibujo de atributos de contorno Dibujo de Atributos de Relleno Trazo de Primitivas Geométricas III Hugo Franco, PhD 7 de marzo de 2011 Hugo Franco, PhD Trazo de Primitivas Geométricas III Tipos de atributos de primitivas geométricas Dibujo de atributos de contorno Dibujo de Atributos de Relleno Contenido 1 Tipos de atributos de primitivas geométricas 2 Dibujo de atributos de contorno 3 Dibujo de Atributos de Relleno Hugo Franco, PhD Trazo de Primitivas Geométricas III Tipos de atributos de primitivas geométricas Tipos de atributos de primitivas geométricas Dibujo de atributos de contorno Dibujo de Atributos de Relleno Atributos de primitivas geométricas Relleno (brocha) Color Pluma Patrón geométrico Ancho Color Relleno de Patrón Estilo Relleno de Textura Estática Dinámica (Parametrizada) Hugo Franco, PhD Trazo de Primitivas Geométricas III Dibujo de Atributos de Contorno Tipos de atributos de primitivas geométricas Dibujo de atributos de contorno Dibujo de Atributos de Relleno Color de la pluma Al momento de activar los píxeles se debe tener en cuenta el color asignado a la pluma con la que se traza un contorno... Cuando se usa antialiasing, se debe asignar una función de mezcla de la intensidad en relación con el fondo sobre el que se está trazando la primitiva (Implementación del color-buer) Hugo Franco, PhD Trazo de Primitivas Geométricas III Tipos de atributos de primitivas geométricas Dibujo de atributos de contorno Dibujo de Atributos de Relleno Dibujo de contornos de ancho mayor a 1 píxel Se usa la discretización de la línea como trazo de rastreo y se activan píxeles aledaños al píxel detectado por el algoritmo Dependiendo de la pendiente de la línea, se escogen vecinos del píxel detectado en la dirección vertical (abajo) u horizontal (derecha) Hugo Franco, PhD Trazo de Primitivas Geométricas III Tipos de atributos de primitivas geométricas Dibujo de atributos de contorno Dibujo de Atributos de Relleno Plumas con forma y grosor Cuando se asume que la pluma tiene forma (grosor mayor a 1 píxel con cabezales y empalmes especícos) se requiere otra estrategia para activar los píxeles contenidos en el trazo Optimización: evaluar los píxeles vecinos al detectado por el trazo de rastreo sólo en una dirección (requiere análisis de condiciones en los extremos) Hugo Franco, PhD Trazo de Primitivas Geométricas III Tipos de atributos de primitivas geométricas Dibujo de atributos de contorno Dibujo de Atributos de Relleno Implementación de plumas de forma variable Dirección de trazo Ejemplo de máscara rectangular Estrategia: Denir las vecindades de manera que aproximen la forma de la pluma seleccionada: máscaras Activar vecindades a cada píxel detectado por el algoritmo de discretización de la recta Hugo Franco, PhD Trazo de Primitivas Geométricas III Tipos de atributos de primitivas geométricas Dibujo de atributos de contorno Dibujo de Atributos de Relleno Estilo de pluma Añadiendo complejidad al elemento de estructura pueden crearse objetos complejos basados en trayectorias No son óptimos para dibujo en tiempo real... no suelen ser de utilidad para aplicaciones 3D Hugo Franco, PhD Trazo de Primitivas Geométricas III Tipos de atributos de primitivas geométricas Dibujo de atributos de contorno Dibujo de Atributos de Relleno Algoritmo de trazo de primitivas geométricas con plumas arbitrarias Recorrer el trayecto que une los dos extremos de la primitiva geométrica (segmento o región simétrica) con el Dirección de trazo criterio de elección de píxeles Detectar el píxel sobre la primitiva en la discretización Ubicar la máscara de activación sobre el píxel detectado Activar los píxeles de la vecindad que se superponen con la máscara de activación Permiten simular discontinuidades (líneas punteadas) Hugo Franco, PhD Trazo de Primitivas Geométricas III Tipos de atributos de primitivas geométricas Dibujo de atributos de contorno Dibujo de Atributos de Relleno Simulación de efectos de pluma en el dibujo Difuminado: cambia densidad de puntos activados Aerógrafos Sprays Presión: cambia grosor e intensidad Especialmente útil con tabletas especializadas de dibujo Mezcla: combina mediante modelos de interpolación los colores de fondo previos al dibujo con el color de la pluma en uso Hugo Franco, PhD Trazo de Primitivas Geométricas III Tipos de atributos de primitivas geométricas Dibujo de atributos de contorno Dibujo de Atributos de Relleno Antialiasing/continuidad basada en plumas Estrategia: usar máscaras que ponderen la intensidad del color de la pluma a cada elemento de la vecindad del píxel detectado Suelen usarse modelos matemáticos de variación de la intensidad Ejemplo: Gaussiana 2D − f (x, y) = Ae x2 +y 2 2σ 2 Hugo Franco, PhD Trazo de Primitivas Geométricas III Atributos de Relleno Tipos de atributos de primitivas geométricas Dibujo de atributos de contorno Dibujo de Atributos de Relleno Estilos de relleno Primitivas básicas sin relleno (Sketch, Wireframes) Relleno plano (caras de objetos sólidos con materiales planos) Rellenos de patrón y textura (emulan irregularidades o mosaicos repetidos en la supercie de un objeto según materiales complejos) Hugo Franco, PhD Trazo de Primitivas Geométricas III Tipos de atributos de primitivas geométricas Dibujo de atributos de contorno Dibujo de Atributos de Relleno Algoritmo de la línea de barrido Scanline El algoritmo de relleno más simple consiste en activar con el color del relleno las áreas delimitadas por los contornos de la Línea de rastreo primitiva mediante barrido horizontal Un píxel en una línea de barrido está dentro de una primitiva, y debe ser activado, si se comprende entre los píxeles de corte entre la línea de barrido y un contorno izquierdo y derecho de la primitiva Las intensidades pueden ser constantes (rasterización 2D) o variables (rendering 3D de supercies) Hugo Franco, PhD Trazo de Primitivas Geométricas III Tipos de atributos de primitivas geométricas Dibujo de atributos de contorno Dibujo de Atributos de Relleno Algoritmo relleno de ujo Algoritmo recursivo para activar progresivamente píxeles vecinos a cada píxel evaluado Se introduce una semilla conocida como punto interior del polígono y se marca como punto de relleno Se los evalúan píxeles vecinos al píxel de relleno, si no pertenecen al contorno de la primitiva y no están previamente marcados... Se establecen como puntos de relleno Se invoca de nuevo el método, con cada píxel vecino como de relleno como semillas Hugo Franco, PhD Trazo de Primitivas Geométricas III Tipos de atributos de primitivas geométricas Dibujo de atributos de contorno Dibujo de Atributos de Relleno Algoritmos basados en criterios de pertenencia Se pueden usar criterios vectoriales Algoritmo de vuelta impar Si número de giros que dan las aristas del polígono en torno a un punto en el sentido horario es par, el punto es exterior, de lo contrario, el punto es interior Hugo Franco, PhD Trazo de Primitivas Geométricas III Tipos de atributos de primitivas geométricas Dibujo de atributos de contorno Dibujo de Atributos de Relleno Implementación de patrones Similarmente a las máscaras de forma de pluma, se pueden modicar los algoritmos de relleno para incorporar patrones Los patrones se crean mediante la aplicación iterativa de máscaras de relleno en la supercie de la primitiva gráca Hugo Franco, PhD Trazo de Primitivas Geométricas III Tipos de atributos de primitivas geométricas Dibujo de atributos de contorno Dibujo de Atributos de Relleno Texturas Por forma de generación se clasican en: Estáticas Dinámicas Por implementación Plana (2D) Proyectada (requiere transformación del dominio de la textura al dominio de la proyección vía transformaciones tridimensionales) Hugo Franco, PhD Trazo de Primitivas Geométricas III