1. Unidad 4 graficación
4.1 Relleno de polígonos
El polígono es una figura básica dentro de las representaciones y tratamiento de imágenes
bidimensionales y su utilización es muy interesante para modelar objetos del mundo real. En
un sentido amplio, se define como una región del espacio delimitada por un conjunto de líneas
(aristas) y cuyo interior puede estar rellenado por un color o patrón dado.
El caso más sencillo de relleno es el
triángulo. Luego sigue el relleno de
polígonos convexos de N-lados.
MÉTODO DE RELLENO DE POLÍGONOS CON COLOR
SCAN-LINE
También llamado scan conversion algorithm, fila a fila van trazando líneas de color entre
aristas. Para scan-line el cruce del polígono se busca en la intersección entre las líneas de
barrido y las aristas del polígono. Dichas
intersecciones se ordenan y se rellenan a pares.
Consiste en detectar la intersección de los
scanlines del dispositivo con los bordes de la
primitiva, y por cada scanline rellena el span de
pixeles entre cada par de intersecciones.
Cuando el polígono no es convexo, solo hay dos
intersecciones por scanline, en cualquier dirección.
en el procedimiento, primero encuentra las
intersecciones en alguna estructura de datos
2. ET(edge table), de forma ordenada, ascendentemente en "y" y en "x" , en buckets y rellena los
spans utilizando la estructura:
utiliza algún criterio de paridad para saber cuándo un intervalo debe ser rellenado o no.
ejemplo: (x2,x3) debe ser rellenado; (x3,x4)no; (x4,x5)si debe ser rellenado.
INUNDACIÓN
También conocido como Flood-fil algorithm (FFA) o algoritmo de relleno por inundación. Se
comienza desde un píxel dentro del polígono, al cual se le asigna el color de relleno, el color se
propaga desde esta hacia sus pixeles vecinos, y de estos a sus vecinos y así sucesivamente,
simulando una inundación dentro del polígono.
La propagación continúa hasta encontrar los pixeles del borde, o simplemente encontrar
pixeles de un color diferente al color de la semilla inicial. se pueden usar dos patrones
distintos para hacer la propagación:
Este
algor
itmo
es inherentemente recursivo.
Empieza en un interior y pinta hasta encontrar la frontera del objeto.
Partimos de un punto inicial (x,y), un color de relleno y un color de frontera.
3. El algoritmo va testeando los píxeles vecinos a los ya pintados, viendo si son frontera o
no.
No solo sirven para polígonos, sino para cualquier área curva para cualquier imagen
AE se usan los programas de dibujo.
LINEA DE BARRIDO
Es válido para polígonos cóncavos como convexos.
Incluso para si el objeto tiene huecos interiores.
Funcionan en el trozo de líneas horizontales,
denominadas líneas de barridos, que intersectan
un número de veces, permitiendo a partir de ella
identificar los puntos que se consideran interiores
al polígono.
FUERZA BRUTA
Calcula una caja contenedora del objeto.
Hace un barrido interno de la caja para comprobar
c/pixel este dentro del polígono.
Con polígonos simétricos basta con que hagamos un
solo barrido en una sección y replicar los demás pixeles.
Requiere aritmética punto-flotante, esto lo hace preciso
y costoso.
RELLENO MEDIANTE UN PATRÓN
Un patrón viene definido por el área rectangular en el que cada punto tiene determinado
color o novel de gris. Este patrón debe repetirse de modo periódico dentro de la región a
4. rellenar. Para ello debemos establecer una relación entre los puntos del patrón y los pixeles de
la figura. En definitiva debemos determinar la situación inicial del patrón respecto a la figura
de tal forma que podamos establecer una correspondencia entre los pixeles interiores al
polígono y los puntos del patrón.
ALTERNATIVAS PARA LA SITUACIÓN INICIAL DEL PATRÓN
Consiste en situar el punto asociado a la esquina superior izquierda del patrón en un vértice
del polígono. Considerar la región a rellenar en toda la pantalla y por lo tanto el patrón se
citua en el origen de esta (esquina superior izquierda).
4.2 Modelos básicos de iluminación.
Una escena de animación se ilumina mediante unas propiedades globales (Luz ambiente) así
como por diferentes puntos de luz (Luz puntual) que emulan otros tantos tipos de “lámparas”.
Los cálculos matemáticos que se realizan con estos parámetros, aplicados a la geometría que
define la escena, se asocian con el concepto de “Modelos de iluminación“.
Phong, Lambert, Fressnell, Minnaert, Toon, Oren-Nayar, Toon etc son algunos de los nombres
con los que normalmente se referencian algunos de los principales modelos de iluminación.
El modelo de Phon es sencillo matemáticamente y permite obtener imágenes muy correctas.
Los modelos basados en trazados de rayos permiten imágenes más brillantes y realistas en
determinados campos de aplicación. Otros conceptos como la energía radiante de los cuerpos
permiten abordar el problema bajo ópticas muy diferentes que aportan nuevas características
a las imágenes.
Puntos de Luz
Cada punto de luz (L) se define con diferentes parámetros:
5. intensidad
color
alcances mínimo y máximo
modelo de atenuación de la intensidad
parámetros de las sombras arrojadas y recibidas
direccionalidad del haz de rayos …
Esta variedad de parámetros permite que se adapte al comportamiento que se pretende emular
en cada tipo de lámpara incorporado en el
software de creación de imágenes de síntesis.
La intensidad de iluminación en un punto de la
escena, depende de las posiciones de la cámara ( V
) y de los puntos de luz (L) respecto de las
superficies.
En cada punto de una superficie hay una dirección
ortogonal (perpendicular) a la superficie que se
puede representar por la dirección (N) .
La intensidad de la luz en cada punto depende de
diferentes factores. Por supuesto el primer factor
será la intensidad que tenga la lámpara (potencia
de la bombilla), pero hay otros factores que lo
condicionan.
Cuanto mayor sea la distancia entre el punto de
luz y el objeto menor será la aportación de ese
punto de luz a dicho objeto.
Otro factor que influirá notablemente será la
dirección en la que se reciba la luz.
Aparece un ángulo importante en este modelo,
el que forma el rayo de luz (L) con la normal
(N) a la superficie (ángulo alfa).
Si nos imaginamos un haz de luz como un
cilindro que parte del punto de iluminación
podemos entender la dependencia entre el ángulo alfa y la intensidad de luz que llega a un
punto.
6. El cilindro tiene un espesor y en consecuencia cubre un área (dA) que al incidir en la
superficie se convierte en el área iluminada. Su tamaño depende del ángulo alfa.
El nuevo área iluminada es la del cilindro dividida por una función, el coseno de alfa. Esta
sencilla ecuación nos muestra cómo se distribuye una energía radiante (lumínica) sobre una
superficie dependiendo de su inclinación. A mayor superficie iluminada, menor intensidad,
luego al aumentar alfa disminuye la “cantidad de luz” que llega a cada punto.
INTERACCIONES ENTRE LUZ Y MATERIALES
Superficies especulares
Superficies Difusas
Superficies difusas perfectas
Superficies translucidas
FUNCIÓN DE ILUMINACIÓN
Cada punto (x,y,z) en la superficie puede emitir
luz que se caracteriza por su dirección de emisión (θ,Φ) y la intensidad de energía emitida en
cada frecuencia λ. Por lo tanto, una fuente de luz general se puede caracterizar por la función
de iluminación I(x, y, z, θ,Φ, λ) de seis variables.
Para una fuente de luz distribuida, como un foco de luz, la evaluación de este integral es
difícil, usando métodos analíticos y numéricos.
A menudo, es mas fácil modelar la fuente distribuida
con polígonos, cada una de las cuales es una fuente
simple, o aproximando a un conjunto de fuentes de
punto.
Se considerarán cuatro tipos básicos de fuentes, que
serán suficientes para generar las escenas más
sencillas:
MODELO DE ILUMINACIÓN PHONG
Es un modelo empírico simplificado para iluminar puntos de una escena
Los resultados son muy buenos en la mayoría de las escenas
En este modelo, los objetos no emiten luz, sólo reflejan la luz que les llega de las
fuentes de luz o reflejada de otros objetos
7. El modelo usa cuatro vectores para calcular el color para un punto arbitrario p sobre
la superficie.
Si la superficie es curva, los cuatro vectores pueden
cambiar según se mueve de punto a punto.
1. El vector n es la normal en p.
2. El vector v tiene dirección de p al observador o COP.
3. El vector l tiene dirección de una línea de p a un
punto arbitrario sobre la superficie para una fuente
de luz distribuida, o una fuente de luz de punto.
4. El vector r tiene la dirección de un rayo
perfectamente reflejado de l. La dirección de r está
determinada por n y l.
El modelo Phong apoya los tres tipos de interacciones
material-luz: ambiente, difusa y especular. Si se tiene un conjunto de fuentes puntos, con
componentes independientes para cada uno de los tres colores primarios para cada uno de los
tres tipos de interacciones material- luz; entonces, se puede describir la matriz de iluminación
para una fuente de luz i para cada punto p sobre una superficie, mediante:
La primera fila contiene las intensidades ambiente para
rojo, verde y azul para la fuente i.
La segunda fila contiene los términos difusos.
La tercera fila contiene los términos especulares. (Aún no
se ha aplicado ninguna atenuación por la distancia.)
REFLEXION DE AMBIENTE
La intensidad de la luz ambiente La es la misma sobre cada punto de la superficie. Parte de la
luz es absorbida y parte es reflejada. La cantidad reflejada está dada por el coeficiente de
reflexión de ambiente ka, Ra = ka. Como sólo se refleja una fracción positiva de luz, se debe
tener 0 ≤ ka≤ 1 y por lo tanto Ia= kaLa.
Aquí, La puede ser cualquiera de las fuentes de luz individuales, o puede el término ambiente
global. Una superficie tiene tres coeficientes ambiente, kar, kag y kab, que pueden ser distintas.
Por ejemplo, una esfera se vería amarilla bajo luz ambiente blanca si su coeficiente ambiente
azul es pequeño y sus coeficientes rojo y verde son grandes.
REFLEXIÓN DIFUSA
8. Un reflector difuso perfecto esparce la luz que refleja de manera igual en todas las direcciones,
viéndose igual para todos los observadores. Sin embargo, la cantidad de luz reflejada depende
del material, dado que parte de la luz es absorbida, y de la posición de la fuente de luz relativa
a la superficie. Reflexiones difusas son caracterizadas por superficies rugosas, como se ve en la
siguiente figura (corte trasversal):
Se considera una superficie plana difusa iluminada por el sol, como se muestra en la siguiente
figura:
La superficie se vuelve mas brillante al mediodía, y menos durante la madrugada y la puesta,
dado que, según la ley de Lambert, solo se ve el componente vertical de la luz entrante. Para
comprender esta ley, se considera una fuente de luz paralela pequeña pegando en un plano,
como se muestra en la siguiente figura:
Según la fuente baja en el cielo (Artificial), la misma cantidad de luz se esparce sobre una área
mas grande, y la superficie parece
oscurecerse. Se puede caracterizar reflexiones
difusas matemáticamente. La ley de Lambert
dice que:
Rd ∝ cosθ
Donde θ es el ángulo entre la normal n en el
punto de interés y la dirección de la fuente de
luz l. Si l y n son ambos vectores unidad, entonces
cosθ = l ⋅ n
Si se agrega un coeficiente de reflexión kd que representa la fracción de luz difusa entrante
que es reflejada, se tiene el siguiente término de reflexión
9. Id= kd (l ⋅ n) Ld 0 ≤ kd≤ 1
Si se desea incorporar el término de distancia, para
considerar la atenuación de la luz según esta viaja una
distancia d desde la fuente a la superficie, se puede
agregar el término cuadrático de atenuación:
REFLEXIÓN ESPECULAR
Si se emplea solo reflexiones ambiente y difusas, las imágenes serán sombreadas y aparecerán
tridimensionales, pero todas las superficies se verán sin vida. Lo que hace falta son la reflexión
de secciones más brillantes en los objetos. Esto ocasiona un color diferente del color del
ambiente reflejado y luz difusa. Una esfera roja, bajo luz blanca, tendrá un resplandecer
blanco que es la reflexión de parte de la luz de la
fuente en la dirección del observador.
Mientras que una superficie difusa es rugosa,
una superficie especular es suave. Mientras mas
lisa se la superficie, mas se parece a un espejo,
como se ve en la siguiente figura.
Según la superficie se hace mas lisa, la luz reflejada se concentra en un rango mas pequeño de
ángulos, centrado alrededor del ángulo de un reflector perfecto: un espejo o una superficie
especular perfecta. Modelar superficies especulares realísticas puede ser complejo, ya que el
patrón por el cual se esparce no es simétrico, dependiendo de el largo de onda de la luz
incidente y cambia con el ángulo de reflexión
Phong propuso un modelo aproximado que puede computarse con solo un pequeño
incremento en el trabajo para superficies difusas. El modelo agrega un término para reflexión
especular. Se considera la superficie como rugosa para el término difuso u lisa para el término
especular. La cantidad de luz que el observador ve depende del ángulo ø entre r, la dirección
de un reflector perfecto, y v, la dirección del observador. El modelo de Phong usa la ecuación
Is= ks Ls cosα φ 0 ≤ ks ≤ 1
El coeficiente ks (0 ≤ ks ≤ 1) es la fracción reflejada de la luz especular entrante. El exponente
α es el coeficiente de brillantez. La siguiente figura muestra como, según se incrementa a, la
luz reflejada se concentra en una región mas delgada, centrada en el ángulo de un reflector
perfecto. En el límite, según α tiende a infinito, se obtiene un espejo; valores entre 100 y 500
corresponden a la mayoría de las superficies metálicas, y valores menores (<100)
corresponden a materiales que muestran brillantez gruesa.
10. La ventaja computacional del modelo de Phong es que, si se normaliza r y v
a valores unitarios, se puede usar el producto punto, y el término especular
se vuelve
Se puede agregar el término de distancia, como se
hizo con las reflexiones difusas. Finalmente, se refiere al modelo Phong, incluyendo el término
de distancia, a la siguiente ecuación:
Esta fórmula se computa para cada fuente de luz y para cada primaria. El modelo de Phong se
ha hecho en espacio de objetos. El
sombreado, sin embargo, no se hace hasta
que los objetos hayan pasado por las
transformaciones modelo-vista y proyección.
Estas transformaciones pueden afectar los
términos de coseno en el modelo.
4.3 Técnicas de sombreado
El objetivo del sombreado es hacer mas realistas los objetos, y para esto existen diferentes
técnicas como las siguientes:
Sombreado Constante o Plano
Obtenemos una intensidad que aplicamos a un conjunto de puntos de un objeto (Aceleramos
el proceso de síntesis)
Correcto si se verifica.
Fuente de luz en el infinito
Observador en el infinito
Un cálculo para todo el polígono
Obtenemos una intensidad que aplicamos a un conjunto de puntos de un objeto
Aceleramos el proceso de síntesis
Correcto si se verifica
11. Fuente de luz en el infinito
Observador en el infinito
El polígono representa una superficie plana real del objeto que se modela y no es una
aproximación de un objeto curvo.
Interpolación de Intensidades (Gouraud)
Se basa en la interpolación de intensidad o color
Considera que facetas planas vecinas proceden desaproximar una superficie curva (salvo que
se declare una arista real entre ambas
Elimina en gran medida las discontinuidades de iluminación
Es sencilla, pero produce peores resultados en objetos con brillos especulares que el
método de Phong.
Implementado en OpenGL.
Necesita la dirección de la normal en cada vértice (si se desconoce, se calcula a partir
de las normales de las facetas que contienen el vértice)
Si dos facetas están separadas por una arista real, se utilizan dos normales diferentes
para trabajar en cada faceta (se promedian las normales situadas solo a un lado de la
arista)
A partir de la normal en cada vértice, se evalúa la ecuación de iluminación (solo para
cada vértice) y se obtiene un valor de intensidad para cada uno de ellos
Se realiza una interpolación bilineal para obtener la intensidad en cada punto dentro
de la
faceta (de forma incremental).
Calcula normales al polígono
La iluminación no produce buenos resultados en superficies curvas aprox. Por facetas planas.
Evaluar la ecuación de iluminación en cada punto de una superficie genérica es muy costoso.
Posible solución: aproximar mediante facetas planas e interpolar dentro de cada polígono. Hay
que evitar producir una apariencia “faceteada” (bandas de Mach; respuesta del ojo humano).
Sombreado de Phong
Se basa en la interpolación de la dirección de la normal, calculada de la misma forma
que antes.
12. Igual que en Gouraud, se interpola a lo largo de cada línea de barrido, entre los puntos
inicial y final, interpolados a su vez de los valores de los vértices de la arista.
Captura mejor los brillos especulares en el medio de facetas planas (Gouraud los
puede omitir).
Produce mejores resultados, a un coste computacional mayor (hay que incrementar la
dirección de la normal en tres direcciones, normalizarla y calcular la ecuación de
sombreado encada punto)
Si el coeficiente de reflexión especular es pequeño, los resultados no difieren tanto (se
pueden combinar objetos sombreados por ambos métodos en una escena).
Conclusiones:
Los métodos de relleno de polígonos son muy útiles, para dar color a nuestras figuras, existen
diferentes métodos y cada uno con un propósito especifico que nos ayudan es nuestras tareas,
pero no todos funcionan de la misma manera por lo cual no todos nos sirven para colorear el
mismo tipo de figuras ni con la misma precisión, es importante conocerlos para saber cuál
elegir al querer darle color a alguna de nuestras imágenes, o en el caso de utilizar un software
especializado con el cual ya no tengamos que preocuparnos más que por escoger el color,
almenas saber cómo es que funciona internamente y todo el proceso necesario para poder
colorear una figura.
Para poder darle un efecto más profesional a nuestros gráficos una vez coloreados es
importante dale un efecto de luz, estos efectos nos ayudan a que la imagen se aprecie de
manera distinta, con efectos como sombras y reflejos, es muy importante conocer estas
técnicas, como funciona cada una y que efectos podemos lograr con ellas para poder darle un
mayor realismo a nuestras creaciones, y crear efectos de iluminación lo más reales posibles,
estas técnicas sin duda son un gran apoyo para todo lo que hoy conocemos desde publicidad
hasta películas animadas.
Las técnicas de sombreado nos permiten dar un mayor realismo a nuestros gráficos y junto
con las técnicas de iluminación nos permiten tener un acabado excelente en cualquier trabajo
de CAD que realicemos, es importante conocer estas técnicas ya que así podemos saber cual
nos conviene más utilizar de acuerdo al tipo de elemento que estemos trabajando además de
que es importante sabes como funcionan para poder manipularlas adecuadamente sin tener
mayores problemas.
Referencias:
http://ccg.ciens.ucv.ve/~esmitt/cgI/II-2010/RellenoPoligonos.pdf