domingo, 10 de noviembre de 2013

Unidad 4 - Iluminación y Sombreado

4.1 Relleno de Polígonos

     Polígono es una figura básica  dentro de las representaciones y tratamiento de imágenes bidimencionales 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 lineas (aristas) y cuyo interior puede estar rellenado por un color o patrón dado.
   
CASOS DE RELLENO SEGÚN SU COMPLEJIDAD
  El caso mas sencillo de relleno es el triangulo.
  Luego sigue el relleno de polígonos convexos de N-lados.
  Relleno de polígonos cóncavos.



MÉTODO DE RELLENO DE POLÍGONOS CON  COLOR

SCAN-LINE

  Fila a fila van trazando lineas de color entre aristas.

  • para scan-line que cruce el polígono se busca en la intersección entre las lineas de barrido y las aristas del polígono.
  • Dichas intersecciones se ordenan y se rellenan a pares.


LINEA DE BARRIDO

     Es valido para polígonos cóncavos como convexos. Incluso para si el objeto tiene huecos interiores.
     Funcionan en el trozo de lineas horizontales, denominadas lineas de barridos, que intersectan un numero de veces, permitiendo a partir de ella identificar los puntos que se consideran interiores al polígono.

INUNDACIÓN

  • Empieza en un interior y pinta hasta encontrar la frontera del objeto.
  • Partimos de un punto inicial (x,y), un colo de relleno y  un color de frontera.
  •  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.


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.

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.
  1. 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).

EJEMPLO DE SCAN-LINE

  • Encontrar las intersecciones de los scanlines en el polígono.
  • Almacenar las intersecciones en alguna estructura de datos ET (edge table), de manera ordena ascendiente en Y y en X  en  buckets.
  • Rellenar los spans usando la estructura.
  • Usar algún criterio de paridad para saber cuando un intervalo debe ser rellenado o no.



4.2 Modelos básicos de iluminación

Probablemente, el modelo de iluminación más simple que se puede encontrar es en el que cada objeto es iluminado con una intensidad propia. Todo el objeto es visto como una silueta monocromática a menos que cada parte del objeto (como polígonos u otro tipo de poliedros), tenga diferentes sombras desde el momento en que fue creado. Este modelo de iluminación se denomina modelo simple.

Un modelo de iluminación puede ser expresado mediante una ecuación de iluminación.

En el modelo simple de iluminación, esta ecuación es:

I = ki

I = Intensidad resultado.

ki = Intensidad propia del objeto (auto-iluminación).

Como la ecuación no posee términos que dependan de la posición del punto que va a ser iluminado, se evalúa una vez por objeto y no una vez por punto. El proceso de evaluar esta ecuación para cada objeto (o para cada punto del objeto según el caso) es lo que se llama iluminar el objeto.

LUZ AMBIENTE

Si en vez de que cada objeto posea una intensidad propia, asumimos que existe una fuente de luz difusa yomnidireccional (emite luz en todas direcciones) en un punto del espacio que no podemos identificar, pues la luz que llega a un objeto en la escena es producto de múltiples reflexiones en las variadas superficies que componen la escena, estaremos observando el efecto que produce lo que se denomina una luz ambiente.

Ahora, puede ocurrir que se tenga en cuenta que la luz incide de forma distinta según el tipo de superficie, lo cual redundaría en un mayor realismo en el resultado final de la escena iluminada pero también en una mayor complejidad de la ecuación que representa al modelo. Si no es así, y damos por hecho que la luz incide de igual forma en todos los objetos de la escena, la ecuación que representará a este modelo quedaría de la siguiente forma:

I = Ia · ka

Ia = Intensidad de la luz ambiente.

ka = Coeficiente de reflexión ambiente. Cantidad de luz ambiente reflejada por la superficie de cada objeto, varía entre 0 y 1. Este coeficiente es una propiedad del material del objeto.

- REFLEXIÓN DIFUSA

Como se comento antes, los objetos iluminados por una luz ambiente son más o menos brillantes según la intensidad ( Ia ) de esta luz, pero aún así están iluminados de forma uniforme en toda su superficie.

Si ahora se sitúa una fuente de luz en un punto concreto del espacio de la cual los rayos emanan uniformemente en todas direcciones, entonces el brillo del objeto variará de una parte a otra del mismo, según la dirección y la distancia que lo separa de la fuente de luz.

Reflexión de Lambert:

Las superficies que muestran reflexión difusa, aparecen igual de brillantes desde cualquier ángulo de vista ya que cualquier punto de estas superficies reflejan la luz con igual intensidad en todas direcciones. Es decir, un punto de la superficie del objeto parece igual de brillante desde cualquier lugar desde el que se observe y al variar la posición de la vista, esta intensidad sigue sin variar.

En las imágenes inferiores, el brillo del polígono señalado con una flecha roja es el mismo, a pesar de que el ángulo de vista es distinto.

imagen 1 










imagen 2

Esto se explica debido a que en este modelo de iluminación, para una superficie dada, el brillo de la misma depende únicamente del ángulo (θ) entre la dirección de la luz (L) y el vector normal a la superficie (N) y no depende para nada del ángulo de vista.

Matemáticamente, hay dos factores que hacen que esto ocurra:

1. Por un lado, esto es así porque, en un principio, un rayo que intercepta una superficie cubre un área que es inversamente proporcional al coseno del ángulo entre este rayo y el vector normal a la superficie. Por ejemplo, si consideramos que el rayo posee una sección transversal diferencial dA infinitamente pequeña, entonces la superficie que intercepta el rayo equivaldría a dA / cos θ. Entonces obtenemos que para un rayo cualquiera, la cantidad de energía que incide en dA es proporcional al cos θ.

2. Por otro, debemos conocer una propiedad de este modelo de sombreado, por el cual consideramos que la cantidad de luz reflejada hacia el observador, es directamente proporcional al coseno entre observador y la normal de la superficie que refleja la luz. Pero como hemos visto en el punto 1, la cantidad de superficie visible es inversamente proporcional a este coseno, por lo que estos dos factores se anulan.


Entonces, la cantidad de luz vista por el observador sólo es proporcional al cos θ, que es el ángulo con el que incide la luz en la superficie. Esto hace que la ecuación del modelo de iluminación difusa quede así:

I = Ip · kd · cos θ

Ip = Intensidad del punto de luz.

kd = Coeficiente de reflexión difusa del material del objeto. Constante entre 0 y 1 que depende del tipo de material.

θ = ángulo entre 0º y 90º si queremos que el efecto de iluminación afecte únicamente a las caras externas del objeto.

Si lo que queremos es que la iluminación afecte tanto a las caras exteriores como a las caras interiores del polígono, debemos tomar, en la función, abs(cos θ).

- REFLEXION ESPECULAR

La denominada reflexión especular se puede contemplar en cualquier tipo de superficie brillante. Por ejemplo, si se ilumina una manzana de piel lisa con una luz blanca muy brillante se producirá un resplandor causado por la reflexión especular mientras que la luz reflejada por el resto de la superficie de la manzana será debido a la antes mencionada reflexión difusa. También nos deberíamos dar cuenta de que el resplandor especular en la superficie de la manzana no es rojo (en cuanto que suponemos que la manzana es roja), sino blanco (el color de la luz).

Si, todavía con ese objeto que refleja la luz especularmente, nos movemos alrededor del mismo, veremos que no toda la superficie refleja luz de forma homogénea, sino esta emisión varia debido, sobre todo, a las rugosidades en la superficie del objeto, como ocurre con la manzana. Esto se debe a que la superficie de esta no es un reflector perfecto.

Pero aún teniendo un reflector perfecto como por ejemplo, un espejo, la luz sólo es reflejada en una sola dirección. Matemáticamente, esto ocurre por que, ahora, la luz es reflejada sólo en la dirección del vector R, el cual es simétrico a L (dirección de la fuente de luz) con respecto a N (normal de la superficie).


Siendo V el vector que indica la dirección hacia el observador, éste verá

el reflejo especular si el ángulo α entre este vector y R es 0.

Modelo de iluminación de Phong:

Phong Bui-Tuong desarrollo un modelo de iluminación muy popular para reflectores no perfectos, como la manzana. Asume que, como se observó antes, el máximo reflejo especular ocurre cuando α es 0, disminuyendo a medida que aumenta α. Esta caída es aproximada mediante la siguiente función:

cosn α

n = exponente de reflexión especular. Constante propia del materia del objeto. Los valores de n suelen variar entre 1 y varios cientos, dependiendo del material que se quiere simular. Para obtener un reflector perfecto, n debería tender a infinito.

Al igual que en el modelo de reflexión de Lambert, tomamos valores negativos de este coseno como 0.

El modelo de iluminación de Phong está basado en otros trabajos anteriores, sin embargo, este fue el primero en construir un modelo de reflexión especular para observador y luces que se encuentran en posiciones arbitrarias del universo.

La cantidad de luz incidente reflejada de forma especular depende del ángulo de incidencia θ.



Si W(θ) es la fracción de luz especular reflejada, el modelo de Phong es:

Iλ = Iaλ · ka · Odλ + ƒatt · Ipλ · [kd · Odλ · cos θ + W(θ) · cosn α]

Aquí se muestran diferentes valores de cosn α usados habitualmente en el modelo de iluminación de Phong:

Si la dirección del vector reflejo R, y la dirección del punto de vista están normalizados, entonces cos α = R · V. Además, W(θ) se transforma en una constante ks, que es el coeficiente de reflexión especular del material, con un valor acotado entre 0 y 1. El valor de ks, se obtiene experimentalmente para obtener resultados estéticamente correctos. Con esto, la función puede ser reescrita de la siguiente forma:

Iλ = Iaλ · ka · Odλ + ƒatt · Ipλ · [kd · Odλ · (N · L)] + ks · (R · V)n]

Se puede ver que el color de la componente especular en el modelo de Phong no depende de ninguna propiedad del material, por este modelo en concreto obtiene muy buenos resultados al simular superficies plásticas, las cuales poseen la misma propiedad.

Pero como se mostró anteriormente, a la reflexión especular le afectan las propiedades del material del objeto y, en general, el reflejo especular tendrá un color diferente al reflejo difuso cuando la superficie está compuesta de varios materiales. Se puede obtener este efecto con esta nueva variación de la ecuación anterior:

Iλ = Iaλ · ka · Odλ + ƒatt · Ipλ · [kd · Odλ · (N · L)] + ks · Osλ · (R · V)n]

Donde Osλ es el color especular del objeto.

ATENUACIÓN DE LA INTENSIDAD

Si tenemos una escena formada por dos superficies paralelas de idéntico material que se solapan y que están iluminadas desde nuestro punto de vista, no podremos distinguir donde termina un plano y donde comienza el otro, como se ve en esta escena iluminada con una luz direccional.



Para obtener el resultado requerido, introducimos un factor de atenuación ƒatt de la siguiente forma en nuestra función de reflexión difusa:

I = Ia · ka + ƒatt · Ip · kp · (N · L)

La explicación del uso de este factor ƒatt lo obtenemos del hecho físico de que la energía desde el origen de la fuente de luz cae como el inverso del cuadrado de dL, que es la distancia que viaja la luz desde el punto de luz hasta la superficie dada. En este caso:

ƒatt = 1 / dL2

Un ejemplo de este tipo de iluminación, es la misma escena de antes, iluminada con el mismo tipo de luz direccional, con la excepción de que ahora se emplea atenuación de la intensidad de la luz (con el parámetro ƒatt = 1 / dL2):



Sin embargo, en la práctica, esto no funciona demasiado bien. Si la fuente luz está demasiado lejos, 1 / dL2 no varía demasiado, y si la fuente de luz está demasiado cerca, 1 / dL2 varía muy rápido, dando como resultado sombras considerablemente diferentes para el mismo ángulo θ entre N y L. Un ejemplo de escena excesivamente oscura por una atenuación 1 / dL2 sería:









Así que, aunque este comportamiento es correcto para fuentes de luz puntuales, los objetos que vemos en la vida real no están iluminados por fuente de luz puntuales, ni usan modelos simplificados de iluminación.

Lo que se espera de este modelo es que aproxime algunos de los efectos de la atenuación atmosférica entre el observador y el objeto. Un compromiso que nos permite acercarnos a esta aproximación de forma más simple que la ley de atenuación del cuadrado de la distancia es:



ƒatt = min(1 / (c1 + c2 · dL + c3 · dL2), 1)



Donde c1, c2 y c3 son constantes definidas por el usuario asociadas con la fuente de luz. c1 evita que el denominador se vuelva demasiado pequeño cuando la luz esta cerca, y la expresión es ajustada a un valor máximo de 1 para asegurar que siempre se atenúa.




- MÚLTIPLES FUENTES DE LUZ





Aunque hasta ahora, se están tratando, sobre todo, escenas con una única fuente de luz, lo más común es que una escena posea varios focos de luz, donde cada uno ilumina los objetos de forma diferente.

La forma de aplicar estas luces de forma conjunta es, como se puede suponer, sumando sus términos. Así, si hay mfuentes de luz, los términos se suman de la siguiente manera:



Iλ = Iaλ · ka · Odλ + Σ1≤i≤m ƒatti · Ipλi · [kd · Odλ · (N · Li)] + ks · Osλ · (Ri · V)n]



El problema ahora es que Iλ puede exceder el máximo valor representable por un píxel. Para evitar esto, se pueden aplicar varias aproximaciones, siendo el más simple, aquel en el que anclamos cada Iλ a sus máximos valores.




- REFRACCIÓN



Otra mejora en la visualización de superficies es el modelo de refracción, por el cual una superficie que posee un nivel de transparencia varía la dirección de lo rayos de luz que la atraviesan. Este tema se trata con profundidad en el capitulo referente a la transparencia y, en concreto, en la sección de transparencias con refracción.

4.3 Técnicas para el Sombreado

¿Alguno de ustedes ha visto de cerca cómo se toca un violín? A diferencia de un piano donde cada tecla es una nota, en un violín las notas no están separadas visualmente, tienes que saber dónde presionar en cada cuerda para producir cada nota. Si pulsas el lugar incorrecto suena desafinado. En un piano es fácil, porque cuando te dicen que toques la nota Sol, pues presionas esa tecla y punto. En un violín es más difícil, al principio uno tiende a presionar un poco más aquí o más allá y no suena bien. Una amiga violinista solía decir antes de practicar, "Voy un rato a serruchar al gato." :)

Del mismo modo, para sombrear realistamente es importante saber qué sombras y de qué oscuridad debe ir en el papel. Esas son las notas de nuestra canción. Es igualmente importante y crítico saber pintar el tono o valor correcto en el papel. Eso es como pulsar correctamente la nota en el violín. Podemos saber la nota, la oscuridad correcta, pero es igualmente importante saber representarla en el papel, en caso contrario nuestro dibujo saldrá "desafinado."

¡Y esto no es difícil! Como todo en el dibujo, es cuestión de práctica, así que sin más ni más veamos las técnicas más usadas para sombrear con nuestros lápices.

Técnicas de Sombreado
La forma más simple de sombreado es hacer líneas seguidas juntas usando la punta del lápiz o inclinándolo para pintar con el costado de la mina de éste. Es importante hacer todas las líneas en una misma dirección para que el resultado sea uniforme. La cantidad de sombra varía según la presión del lápiz y la cercanía entre las líneas.


Otra técnica es el "Cross Hatching," que es un tramado cruzado. Dibujas una serie de líneas diagonales y luego inclinas el papel y dibujas otra serie de líneas que las crucen. Se puede obtener una menor o mayor oscuridad según la separación que le dejes entre las líneas.


Otra técnica es el "Circulismo," que consiste en dibujar una serie de círculos pequeños que se superponen entre sí. No es necesario que los círculos sean perfectos, solamente hacerlos lo suficientemente pequeños y juntos. La oscuridad de la sombra depende del tamaño de los círculos que dibujemos asi como la presión que hagamos con el lápiz. El Circulismo es muy útil para dibujar la piel de las personas, ya que el acabado es irregular. Para este caso es bueno hacer los círculos suavemente.


Aquí un ejemplo usando la primera técnica de sombreado:


Finalmente, estas tres técnicas mencionadas se pueden complementar con el Suavizado. Utilizando un trozo de papel normal, papel higiénico, alguna tela suave o un tortillon mezclamos el grafito que pintamos en nuestro dibujo. El resultado es un color uniforme, suave.


¿Torti-qué?
El tortillon es una herramienta muy sencilla de construir que nos permitirá suavizar nuestros dibujos fácilmente.


Para hacer nuestro tortillon necesitamos un papel en blanco. Lo enrollamos de manera ligeramente diagonal de modo que sobresalga una punta. Para que no se desarme pegamos con goma o cinta el extremo final. ¡Listo! Para usarlo pintamos primero una superficie con lápiz y luego lo suavizamos con el tortillon.
Cuando quiero obtener tonos suaves pinto con el lápiz en otro papel, suavizo eso con el tortillon y como se queda impregnado el grafito, uso ese remanente en mi dibujo. Es como si el grafito fuese pintura y el tortillon una brocha.

Un ejemplo de un acabado con tortillon:


Practicando y usando estas técnicas se pueden obtener resultados asombrosos. Este es un dibujo hecho por un verdadero profesional (y no un aficionado como quien les escribe), Jose Carlo G. Mendoza, usando la técnica circular, diversos lápices, borradores, tissues (pañuelos de papel) y mucho trabajo duro.


Aquí otra muestra de la técnica de Cross Hatching, esta vez del artista Michael May:


Todos los valores están construidos en tramados cruzados que a lo lejos nuestros ojos lo ven como variaciones de luz. Aquí el detalle:




Fuente:
  • http://graficacionporcomputadora.blogspot.mx/2013/05/41-relleno-de-poligonos.html
  • http://sabia.tic.udc.es/gc/teoria/iluminacion/Index.html
  • http://www.dibujemos.com/artistica/articles/tecnicas-para-el-sombreado

No hay comentarios:

Publicar un comentario