domingo, 10 de noviembre de 2013

 TÉCNICAS DE SOMBREADO

INTENSIDAD CONSTANTE

  EN CIERTAS CONDICIONES, UN OBJETO CON SUPERFICIES PLANAS PUEDE SOMBREARSE EN FORMA REALISTA UTILIZANDO INTENSIDADES DE SUPERFICIE CONSTANTES. EN EL CASO DONDE UNA SUPERFICIE SE EXPONE SOLAMENTE A LA LUZ AMBIENTE Y NO SE APLICAN DISEÑOS, TEXTURAS O SOMBRAS DE SUPERFICIE, EL SOMBREADO CONSTANTE GENERA UN A REPRESENTACIÓN EXACTA DE LA SUPERFICIE.
     UNA SUPERFICIE CURVA QUE SE REPRESENTA  COMO UN CONJUNTO DE SUPERFICIES PLANAS PUEDE SOMBREARSE CON INTENSIDADES DE SUPERFICIE CONSTANTE, SI LOS PLANOS SE SUBDIVIDEN LA SUPERFICIE SE HACE LO SUFICIENTEMENTE PEQUEÑOS.

La siguiente figura muestra un objeto modelado con sombreado constante.

  CON ESTE MÉTODO, LA INTENSIDAD SE CALCULA EN UN PUNTO INTERIOR DE CADA PLANO Y TODA LA SUPERFICIE SE SOMBREA CON LA INTENSIDAD CALCULADA. CUANDO LA ORIENTACIÓN ENTRE PLANOS ADYACENTES CAMBIA EN FORMA ABRUPTA, LA DIFERENCIA EN INTENSIDADES DE SUPERFICIE PUEDE PRODUCIR UN EFECTOS ÁSPERO O IRREAL. PODEMOS ALISAR LAS DISCONTINUIDADES DE INTENSIDAD SOBRE CADA SUPERFICIE DE ACUERDO CON ALGÚN ESQUEMA DE INTERPOLACIÓN.

SOMBREADO DE GOURAUD

  ESTE ESQUEMA DE INTERPOLACIÓN DE INTENSIDAD, CREADO POR GOURAUD, ELIMINA DISCONTINUIDADES EN INTENSIDADES ENTRE PLANOS ADYACENTES DE LA REPRESENTACIÓN DE UNA SUPERFICIE VARIANDO EN FORMA LINEAL LA INTENSIDAD SOBRE CADA PLANO DE MANERA QUE LO VALORES DE LA INTENSIDAD CONCUERDEN EN LAS FRONTERAS DEL PLANO. EN ESTE MÉTODO LOS VALORES DE LA INTENSIDAD A LO LARGO DE CADA LÍNEA DE RASTREO QUE ATRAVIESAN UNA SUPERFICIE SE INTERPOLAN A PARTIR DE LAS INTENSIDADES EN LOS PUNTOS DE INTERSECCIÓN DE CON LA SUPERFICIE.

   La siguiente figura demuestra este esquema de interpolación.

ESTE PROCESO SE REPITE CON CADA LÍNEA QUE PASA POR EL POLÍGONO. EN ESTE MÉTODO DE INTERPOLACIÓN  PRIMERO DEBEN APROXIMARSE LAS NORMALES A LA SUPERFICIE EN CADA VÉRTICE DE UN POLÍGONO. ESTO SE LOGRA PROMEDIANDO LAS NORMALES A LA SUPERFICIE PARA CADA POLÍGONO QUE CONTIENE EL PUNTO DE VÉRTICE, COMO SE MUESTRA EN LA SIGUIENTE FIGURA. ESTOS VECTORES NORMALES DE LOS VÉRTICES SE UTILIZAN ENTONCES EN EL MODELO DE SOMBREADO PARA GENERAR LOS VALORES DE INTENSIDAD DE LOS VÉRTICES.
 Un ejemplo de un objeto de sombreado con el método de Gouraud.

SOMBREADO DE PHONG

 ESTE MÉTODO CREADO POR PHONG BUI TUONG TAMBIÉN SE CONOCE COMO ESQUEMA DE INTERPOLACIÓN DE VECTOR NORMAL DESPLIEGA TOQUES DE LUZ MAS REALES SOBRE LA SUPERFICIE Y REDUCE CONSIDERABLEMENTE EL EFECTO DE LA BANDA DE MACH.

Aprecia la franja obscura que aparece justo a la derecha del gradiente, y la franja blanca que aparece justo a  la izquierda de éste.
  EL SOMBREADO DE PHONG PRIMERO INTERPOLA LOS VECTORES NORMALES EN LOS PUNTOS LIMITE DE UNA LÍNEA DE RASTREO. PUEDE HACERSE MEJORAS A LOS MODELOS DE SOMBREADO DE GOURAUD DETERMINANDO LA NORMAL APROXIMADA A LA SUPERFICIE EN CADA PUNTO A LO LARGO DE UNA LÍNEA DE RASTREO Y CALCULANDO DESPUÉS LA INTENSIDAD MEDIANTE EL USO DEL VECTOR NORMAL APROXIMADO EN ESE PUNTO. 













ALGORITMO DE TRAZO DE RAYAS


   PUESTO QUE PODRÍA GENERARSE UN NÚMERO INFINITO DE PUNTOS DE 
INTENSIDAD SOBRE LAS DIVERSAS SUPERFICIES DE UNA ESCENA, UN BUEN MÉTODO PARA DETERMINAR LAS INTENSIDADES ESPECULARES EN POSICIONES VISIBLES DE LA SUPERFICIE CONSISTE EN TRAZAR RAYAS HACIA ATRÁS DESDE LA POSICIÓN DE VISIÓN HASTA LA FUENTE DE LUZ. COMENZANDO DESDE LA POSICIÓN DE VISIÓN, LA RAYA QUE ATRAVIESA CADA PIXEL EN EL PLANO DE VISIÓN SE TRAZA HACIA ATRÁS A UNA SUPERFICIE DE LA ESCENA TRIDIMENSIONAL. ESTA TÉCNICA, CONOCIDA COMO TRAZO DE RAYAS, SE ILUSTRA EN LA SIGUIENTE FIGURA.

     CUANDO SE ENCUENTRAN OBJETOS TRANSPARENTES EN EL PROCESO DEL TRAZO DE RAYAS, LAS CONTRIBUCIONES DE INTENSIDAD DE LA REFLEXIÓN ESPECULAR SE TOMA EN CUENTA. EN UNA SUPERFICIE TRANSPARENTE, LA RAYA SE DIVIDE EN LOS DOS COMPONENTES QUE SE MUESTRAN EN LA SIGUIENTE FIGURA. CADA RAYA SE TRAZA DESPUÉS EN FORMA INDIVIDUAL HACIA SU FUENTE.


  DESPUÉS QUE SE HA PROCESADO UNA RAYA PARA DETERMINAR TODAS LAS CONTRIBUCIONES DE INTENSIDAD ESPECULAR, SE FIJA LA INTENSIDAD DEL PIXEL CORRESPONDIENTE. LA FIGURA SIGUIENTE MUESTRA DOS VISTAS DE UNA ESCENA GENERADA CON TÉCNICAS DE TRAZO DE RAYAS.


SUPERFICIES FRACTALES

   PARA DETERMINAR NIVELES DE INTENSIDAD PARA LOS DIVERSOS PUNTOS DE LA SUPERFICIE DE UN OBJETO FRACTAL SE NECESITA ALGÚN MÉTODO PARA DETERMINAR  LAS NORMALES A LA SUPERFICIE. UN MÉTODO PARA REALIZAR ESTO CONSISTE EN REPRESENTAR A UN FRACTAL COMO UN NÚMERO DE PLANOS PEQUEÑOS CON UN CONJUNTO DE NORMALES A LA SUPERFICIE PARA CADA PLANO.

FRONTERAS DE SUPERFICIES CON ANTI SEUDÓNIMOS

  LAS LÍNEAS Y LAS ARISTAS DE POLÍGONOS PUEDEN ALIARSE CON TÉCNICAS DE ANTI SEUDÓNIMOS QUE AJUSTAN POSICIONES DE PIXELES O BIEN FIJA LAS INTENSIDADES DE LOS PIXELES DE ACUERDO CON EL PORCENTAJE DE ÁREA-PIXEL CUBIERTA EN CADA PUNTO. PUEDEN APLICARSE MÉTODOS DE ANTI SEUDÓNIMOS SEMEJANTES PARA ALISAR LAS FRONTERAS DE UNA ESCENA QUE CONTIENE UN CONJUNTO DE SUPERFICIES.

MODELOS BÁSICOS DE ILUMINACIÓN


INTRODUCCIÓN

Entendemos por modelo de iluminación el cálculo de la intensidad de cada punto de la escena.
En el cálculo de la intensidad de un punto intervienen:

  •     El tipo e intensidad de la fuente de luz
  •     El material del objeto
  •     La orientación del objeto con respecto a la luz
El modelo más utilizado es el modelo de Phong. 

PROCESO DE ILUMINACIÓN





     Si un rayo de luz entra al ojo directamente     de la fuente, se verá el color de la fuente.

  •   Si un rayo de luz pega en una superficie que es visible al observador, el color visto se basará en la interacción entre la fuente y el material de la superficie: se verá el color de la luz reflejado de la superficie a los ojos.

En término de gráfica por computadora, se reemplaza el observador por el plano de proyección, como se ve en la siguiente figura:


El recorte del plano de proyección y su mapeo a la pantalla significa un número particular de pixeles de despliegue. 

El color de la fuente de luz y las superficies determina el color de uno o mas pixeles en el frame buffer.
Se debe considerar solo aquellos rayos que dejan las fuentes y llegan al ojo del observador, el COP, después de pasar por el rectángulo de recorte.
Cuando la luz da en una superficie, parte se absorbe, y parte se refleja.

  • Si la superficie es opaca, reflexión y absorción significará de toda la luz que dé en la superficie.
  • Si la superficie es translúcida, parte de la luz será transmitida a través del material y podrá luego interactuar con otros objetos.
Un objeto iluminado por luz blanca se ve rojo porque absorbe la mayoría de la luz incidente pero refleja luz en el rango rojo de frecuencias.
Un objeto relumbraste se ve así porque su superficie es regular, al contrario de las superficies irregulares.
El sombreado de los objetos también depende de la orientación de las superficies, caracterizado por el vector normal a cada punto.

INTERACCIONES ENTRE LUZ Y MATERIALES


  • Superficies especulares
  • Superficies Difusas
  • Superficies difusas perfectas
  • Superficies translucidas

FUENTES DE LUZ



La luz puede dejar una superficie mediante dos procesos fundamentales:

  • Emisión propia
  •  Reflexión
Normalmente se piensa en una fuente de luz como un objeto que emite luz solo mediante fuentes de energía internas, sin embargo, una fuente de luz, como un foco, puede reflejar alguna luz incidente a esta del ambiente.
Si se considera una fuente como en la siguiente figura, se le puede ver como un objeto con una superficie.

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 I 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:

1)       Luz ambiente
2)       Fuentes de punto
3)       Spotlights
          ( Luces direccionales)
4)       Luces distantes

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
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.)
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
  • INUNDACIÓN
  • FUERZA BRUTA
  • PATRÓN

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.





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

sábado, 12 de octubre de 2013

3.4 Líneas y superficies curvas.

Planos

Veamos primero algunos planos que nos van a ser útiles un poco más adelante.
$\bullet \;$ El plano (horizontal) $xy$, donde $z = 0$;

$\bullet \;$ El plano (vertical) $yz$, donde $x = 0$

$\bullet \;$ El plano (vertical) $xz$, donde $y = 0$



Curvas en el espacio
Vamos a considerar curvas en el espacio tridimensional, pero definidas sobre uno de los planos $XY$, $XZ$ o $YZ$ y con ecuaciones del tipo: 
  1. en el plano $XY$, $y=y(x)$ o $x=x(y)$ o definidas de manera implícita por $\;F(x,y) = 0$
  2. en el plano $XZ$, $z=z(x)$ o $x=x(z)$ o definidas de manera implícita por $\;F(x,z) = 0$
  3. en el plano $YZ$, $z=z(y)$ o $y=y(z)$ o definidas de manera implícita por $\;F(y,z) = 0$



Superficies cilíndricas
Una buena parte de las superficies con las que trabajaremos en el curso se generan a partir de una curva que se mueve en el espacio (llamada generatriz), siguiendo una trayectoria determinada (llamada directriz) . Trazar la gráfica de una superficie de este tipo es muy simple, la idea es arrastrar la generatriz en la dirección de la directriz, el movimiento de la generatriz forma la superficie por la traza que va dejando. En la figura 7,  la curva generatriz es una párabola y como  directriz se usa el vector u = ( 0, 5, 0). En el software para este ejemplo, se puede cambiar la curva y la trayectoria u.

Observación : esta definición es una generalización del conocido cilindro circular recto donde, por ejemplo, la generatriz es $x^2+y^2=r^2$ que esta sobre el plano $xy\;$ y la directriz es paralela al eje $z$.Para los fines del curso, vamos a estar interesados únicamente en cilindros cuyas curvas generatrices están sobre planos paralelos a los planos coordenados y cuyas directrices son rectas paralelas a alguno de los ejes coordenados.Este tipo de cilindros se conoce como cilindros rectos.Cuando la directriz es una recta que no es paralela a alguno de los ejes coordenados el cilindro generado se conoce como oblicuo. 
Un cilindro circular recto tiene como generatriz un círculo y como recta directriz una recta paralela a uno de los ejes coordenados.En la figura 7 se muestra un cilindro con generatriz; $x^2 + z^2 = 4, \; \; y = 0\;$ y con recta directriz paralela al eje $y$.