miércoles, 8 de mayo de 2013

5.3 ANIMACIÓN POR COMPUTADORA

5.3 ANIMACIÓN POR COMPUTADORA

¿QUÉ ES LA ANIMACIÓN POR COMPUTADORA?

La animación por computadora es el arte de crear imágenes en movimiento mediante el uso de computadoras.
Cada vez más los gráficos creados son en 3D, aunque los gráficos en 2D todavía se siguen usando ampliamente para conexiones lentas y aplicaciones en tiempo real que necesitan renderizar rápido.

Para crear la ilusión del movimiento, una imágen se muestra en pantalla sustituyéndose rápidamente por una nueva imágen en un fotograma diferente. Esta técnica es idéntica ala manera en que se logra la ilusión del movimiento en las películas y en la televisión.
Para crear una cara en 3D se modela el cuerpo, ojos, boca, etc.Del personaje posteriormente se animan con controladores de animación.
En la mayor parte de los sistemas de animación en 3D,un animador crea una representación simplificada del cuerpo del personaje, análogo a un esqueleto o stick figure. La posición de cada segmento del modelo del esqueleto definida por <<variables de la animación>>.

EXPLICACIÓN

Para engañar al ojo y al cerebro para que alguien piense que está viendo un objeto en movimiento, las imágenes deben ser mostradas a alrededor de 12 imágenes o marcos por segundo o más rápido. Con velocidades superiores a los 70 frames/segundo, no se notará una mejoría en el realismo o suavidad en el movimiento de la imágen debido ala manera en que el ojo  y el cerebro procesan las imágenes. A velocidades menores a 12 frames/segundo la mayoría de las personas podrán detectar un parpadeo en el momento en que se muestren las secuencia de imágenes y disminuirá la ilusión de un movimiento realista.
El motivo de que a altas velocidades no sea perceptible el parpadeo de la imágen, es por la <<persistencia de la visión>>. De momento a momento, el ojo y cerebro trabajando juntos almacenan cualquier cosa que se esté mirando por una fracción por segundo, y  automáticamente realiza <<saltos>> pequeños y suaves. Las películas que se exhiben en los cines, corren a 24 frames/segundo, que es suficiente para crear esta ilusión de movimiento continuo.


BIBLIOGRAFIA
http://www.genotipo.com/glosario/animacion-por-computadora


INTEGRANTES:
AGUIRRE CARDENAS EUNICE
DIEGO BAUTISTA AIDE
HERNANDEZ ROSAS NANCY MARLENE

3.4 LINEAS Y SUPERFICIES CURVAS



3.4 LINEAS Y SUPERFICIES CURVAS


LINEAS

La  recta  es una  sucesión infinita o continua de puntos a lineados en una sola dirección. Es una de las primitivas gráficas en computación gráfica viene dada por la ecuación  y= m.x+b , donde m es la pendiente de la recta y v es el corte con el eje y.


Como los pixeles se grafican en posiciones enteras, la linea trazada solo puede aproximar posiciones de lineas reales entre los puntos extremos especificados.

Una linea recta debe dibujarse como una sucesión de pixeles.

Efecto de escalera que se produce cuando se genera una linea como una serie de pixeles .











TRASFORMAR PRIMITIVAS EN PIXELES

Las coordenadas de los pixeles deben estar lo mas cerca posible de una linea recta real.

Un algoritmo debe cumplir con:
*La secuencia de pixeles debe ser lo mas recta que se pueda.
*Las lineas deben tener el mismo grosor e intensidad sin importar el grado de inclinación.
*Las lineas deben dibujarse lo mas rápido posible.


ALGORITMOS PARA TRAZO DE LINEAS

ALGORITMO DDA

El analizador diferencial digital(DDA) es un algoritmo que sirve para calcular posiciones de pixeles a lo largo de una linea, mediante el uso de la ecuación.

                                                    ∆y=m.∆x

                       

Ecuación básica de la recta y=m.x+b
m es la pendiente y  v es la intersección con el eje y






ALGORITMO DE BRESENHAM

Calcula cual de dos pixeles es el mas cercano a la trayectoria de una linea.
El pixel x(i),y(i) se divide en (xi+1,yi)(xi+1,yi+1) hay que decidir cual pintar calculando la distancia vertical entre el centro de cada pixel y la linea real.

Las  posiciones de los pixeles se representan por las áreas rectangulares  numeradas.






Sección de una retícula de la pantalla donde se desplegara una linea que pasara por:

(Xi,Yi)


De aquí se tiene y=m(xi+1)+b

Definimos: 
d1=y-yi
=m(xi+1)+b-yi

d2=(y1+1)-y
=y1+1-m(xi+1)-b

la diferencia es :

definimos pi como:
donde c es:
obtenemos pi+1 de pi
como:



ATRIBUTOS DE LAS PRIMITIVAS DE SALIDA

Estilo de lineas
*Los atributos de estilo de linea determinan la forma en que se desplegara  una linea por medio de una rutina de trazo de lineas. Los atributos de linea son su tipo,su anchura y su color.

Tipo de linea

Los atributos de linea incluye las lineas solidas,lineas punteadas con lineas y punteadas.

El método setStrokeStyle permite cambiar el estilo de linea.

Este método acepta los siguientes valores:
a)  Graphics.SOLID - linea solida
b)  Graphics.DOTTED- linea de puntos

                                                       GRAPHICS 2D SETSTROKE


Un objeto basicstroke contiene información sobre la anchura de la linea, estilo de uniones, estilos finales, y estilo de punteado.Esta información se usa cuando se dibuja una Shape  con el método DRAW.

La anchura de linea es la longitud de la linea medida  perpendicularmente a su trayectoria. La anchura de la linea se especifica como un valor float en las unidades de coordenadas de usuario, que es equivalente 1/72 pulgadas cuando se utiliza la tranformacion por defecto.

Nota:
Para rellenar o puntear un gráfico primitivo,necesitamos hacer dos llamadas separadas a métodos  fill o drawString para rellenar el interior y draw para dibujar el exterior.

Los 3 estilos de linea usados en este ejemplo ancho, estrecho y punteado son ejemplares de:
BasicStroke:

// Sets the Stroke.
...
case 0 : g2.setStroke(new BasicStroke(3.0f)); break;
case 1 : g2.setStroke(new BasicStroke(8.0f)); break;
case 2 : float dash[] = {10.0f};
g2.setStroke(new BasicStroke(3.0f,
BasicStroke.CAP_BUTT,
BasicStroke.JOIN_MITER,
10.0f, dash, 0.0f));
break;

BASICSTROKE SOPORTA 3 ESTILOS DE UNIÓN:

*JOIN_BEVEL
*JOIN_MITER
*JOIN_ROUND

El estilo de finales es la decoración que se aplica cuando un segmento de linea termina.                      
BASICSTROKE soporta 3 estilos de finalización:

*CAP_BUTT
*CAP_ROUND
*CAP_SQUARE

El elemento 0 representa el primer punteado , el elemento 1 el primer espacio , etc. La fase de punteado es un desplazamiento en el patrón de punteado, también especificado en unidades de coordenadas de usuario. La fase de punteado indica que parte del patrón de punteado se aplica al principio de la linea.

PATRÓN DE RELLENO
Los patrones de relleno están definidos por el atributo Paint en el contexto Graphics2d. Para seleccionar el atributo paint, se crea un ejemplar de un objecto que implemente el interface paint y eso pasa dentro del método Graphics2d setPaint.

ANCHURA DE LINEA
La implementacion de las opciones de anchura de lineas dependen del tipo de dispositivo de salida que se utilice  Una linea ancha en un monitor de vídeo podría trazarse como lineas paralelas adyacentes, mientras que una graficadora de pluma podría requerir cambios de pluma . Como sucede con otros atributos puede usarse como comando de anchura de linea para fijar la anchura regular de la linea.

Color de linea

Cuando un sistema ofrece sistemas de color (o bien de intensidad) un parámetro que da el indice de color regular se incluye en la lista de valores de atributos del sistema.

Método para cambiar color
*setColor(int color)
*setColor(int rojo,int verde,int azul)





SUPERFICIES CURVAS 

Los despliegues tridimensionales de las superficies curvas pueden generarse a partir de un conjunto de entrada de las funciones matemáticas que define la superficies o bien a partir de un conjunto de puntos de datos especificados por el usuario.Cuando se especifican funciones de curvas, un paquete puede emplear las ecuaciones definidoras para localizar y gráfica posiciones de pixeles a lo largo de la trayectoria de la curva, casi igual como sucede con las curvas en dos dimensiones.Un ejemplo de la clase de superficies que pueden generarse a partir de una definición funcional seda en la figura. A partir de un conjunto de datos de entrada, un paquete determina las descripciones funcionales de la curva que mejor se ajusta a los puntos de datos según las restricciones de la aplicación  En  la figura 1.7 se muestra un objeto cuya superficies curvas pueden ser definidas por un conjunto de entrada de punto de datos.




Podemos representar una linea curva tridimensional en forma analítica con la pareja de funciones.

y=f(x),    z=g(x)


Con la coordenada x seleccionada como variable independiente.los valores de las variables dependientes y,z se determinan después a partir de las ecuaciones 1.6 a medida que se avanza a través de valores de x de un extremo de la linea al otro.Esta representación tiene algunas desventajas.Si se desea una gráfica alisada,se debe cambiar la variable independiente siempre que la primera derivada (pendiente) de f(x) o bien g (x) se vuelve mayor que 1.Esto significa que se debe verificar continuamente los valores de las derivadas,que pueden volverse infinitas en algunos puntos. Así mismo, las ecuaciones anteriores ofrecen un formato desproporcionado para representar funciones con valores múltiples. Una representación mas propicia de las curvas para las aplicaciones de las gráficas es en términos de ecuaciones parametricas.



ECUACIONES PARAMETRICAS

Mediante la introducción de un curto parámetro, u, en la descripción coordenada de una curva, se puede expresar cada una de las tres coordenadas cartesianas en forma parametrica. Cualquier punto de la curva puede representarse entonces por medio de la función vectorial.

p(u)=(x(u),y(u),z(u))

Por lo general, las ecuaciones parametricas se constituyen de manera que el parámetro se define en el intervalo de 0 a 1.Por ejemplo una circunferencia en el plano xy con centro en el origen coordenado podría definirse en forma parametrica como:


También son posibles otras formas parametrícas para describir circunferencias y arcos circulares.


En el caso de una curva arbitraria,puede ser difícil idear un conjunto de ecuaciones parametrícas que definen completamente la forma de la curva.Pero cualquier curva puede aproximarse utilizando diferentes conjuntos de funciones parametrícas,sobre partes diferentes de la curva.Por lo general estas aproximaciones se forman con funciones polinomiales. Dicha construcción por partes de una curva debe implantarse cuidadosamente para asegurar de que haya transición sencilla de una sección de la curva a la siguiente.la uniformidad de una curva puede describirse a partir de la continuidad de la curva entre las secciones.La continuidad de orden 0 se refiere simplemente a que las curvas se interceptan.Continuidad de primer orden significa que las lineas tangentes(primeras derivadas) de dos secciones adyacentes de la curva son la misma en el punto de adyacencia. 


Continuidad de segundo orden quiere decir que las curvaturas(segundas derivadas) de las dos secciones de la curva son la misma en la intersección. La figura 1.8 muestra ejemplos de los tres ordenes de continuidad.




Las ecuaciones parametricas de las superficies se formulan con dos parámetros u y v. Una posición coordenada de una superficie se representa entonces por medio de la función vectorial parametrica.

p(u,v)= (x(u,v),y(u,v),z(u,v))

Las ecuaciones de las coordenadas x,y,z a menudo se acomodan de modo de que los parámetros u y v estén definidos dentro del intervalo de 0 a 1.Por ejemplo una superficie esférica puede describirse con las ecuaciones.


Donde r es el radio de la esfera.el parámetro u describe lineas de latitud constante sobre la superficie, mientras que el parámetro v describe lineas de longitud constante.Al mantener uno de estos parámetros fijo mientras que se varia el otro sobre cualquier valor dentro del intervalo 0 a 1, se podrían trazar lineas de latitud y longitud de cualquier sección esférica (fig 1.9).





En aplicaciones de diseño,una curva o superficie a menudo se define especificando interactivamente un conjunto de puntos de control,los cuales indican la forma de la curva.estos puntos de control son usados por el paquete para formal ecuaciones parametricas polinomiales para desplegar la curva definida.cuando la curva desplegada pasa a través de los punto de control, como en la figura 1.10 se dice que interpola los puntos de control.





Por otro lado, se dice que los puntos de control se aproximan si la curva desplegada pasa cerca de ellos (fig 1.11).Existen muchas técnicas para constituir ecuaciones parametricas polinomiales de curvas y superficies, dada las coordenadas de los puntos de control.entre los métodos básicos para desplegar curvas especificas con punto de control se incluyen las formulaciones de Bezier y "Spline".






REPRESENTACIONES DE "SPLINE"


Un spline es una curva diferenciable definida en porciones mediante polinomios.Para el ajuste de curvas, los splines se utilizan para aproximar formas complicadas.

La simplicidad de la representación y la facilidad de computo de los splines los hacen oculares para la representación de curvas en informática  particularmente en el terreno de los gráficos por ordenador. 





Curvas B-spline

Son las mas utilizadas en la practica:

1.-b-splines cuadraticos: fuentes True Type.

2.-b-splens cubicos: los mas comunes en programas de diseño gráfico.

En general, no pasa por ningun punto de control (ni siquiera los extremos) , aunque se pude forzar que lo haga.

Principales ventajas sobre las curvas de Bezier:

1.Es de grado acotado (aun definida por n puntos)

2. Sobre todo, mas apropiada para el diseño interactivo: mas "suaves", control local.



Dado un conjunto de puntos P0,...Pn,obtenemos una curva de aproximación compuesta por varios tramos, y las ecuaciones de cada tramo están influenciadas solamente por K vértices del polígono de control siendo K (orden de la B-spline ) un parámetro elegido a voluntad por el diseñador y lógicamente, K <n+1:




Los parametros que intervienen en una curva B-spline se enumeran a continuación:

  • P0,...Pn,n+1 vertices o puntos de control.
  • Ni,K: funciones B-spline basica de orden K.
  • d: grado de las B-spline basicas (eleccion usual,d=3).
  • K:orden de la B-spline: K=d+1.
  • N° de tramos:n-d+1.
  • suavidad global de la curva: CK-2=Cd-1.
Propiedades

  • No interpolen(salvo en P0,Pn, si así se especifica).
  • Parametricas P(t)=(x(t),y(t)).
  • Suavidad Ck-2:K es el orden de la B-spline.
  • No oscilan.
  • Locales
  • Dificiles de calcular salvo casos especiales con formula matricial: B-spline uniformes, Bezier.
  • Mayor flexibilidad: elección de nodos permiten mas tipos de curva.
CURVAS Y SUPERFICIES DE BEZIER


Pierre Bezier, ingeniero francés desarrollo este método de aproximación de spline para utilizarlo en el diseño de carrocerías de los automóviles Renault. Las spline de Bezier tienen varias propiedades que hacen que sean muy útiles y convenientes para el diseño de curvas y superficies. Así mismo,es fácil implementarla.Por esos motivos las splines de Bezier están disponibles en forma común en varios sistemas de CAD, en paquetes generales de gráficas y en paquetes seleccionados de dibujo y pintura.

Curvas de Bezier

En general,es posible ajustar una curva de bezier para cualquier numero de puntos de control.el numero de puntos de control que se debe aproximar y su posición relativa determina el grado de polinomio de Bezier.

La idea de definir geometricamente las formas no es demasiado compleja:un punto del plano puede definirse por coordenadas.Por ejemplo, un conjunto A tiene unas coordenadas(x1, y1) y aun punto B le corresponde (x2, y2).para trazar una recta entre ambos basta con conocer su posición.
.
Si en lugar de unir dos puntos con una recta se unen con una curva,surgen los elementos esenciales de una curva  Bezier: los puntos se denominan puntos de anclaje o nodos.La forma de la curva se define por unos puntos invisibles en el dibujo,denominados puntos de control,manejadores o manecillas.


Curvas lineales( grado 1)
 
  • Solo dos puntos de control (P0,P1).
  • Son lineas rectas.
  • Podemos recorrer la curva con un parametro  t є [0,1] que recorre la recta de P0 a P1.

La curva viene dada por la expresión: 

 B(t)=P0+(P1-P0) t=(1-t) P0+tP1, t  є  [0,1] .


La t en la función para curva lineal de Bezier se puede considerar como un descriptor de  cuan lejos esta B(t) de P0 a P1. Por ejemplo cuando T= 0.25, B(t) es un cuarto de la longitud entre el punto P0 y el punto P1. Como t varia entre 0 y 1 , B(t) describe una linea recta de P0 a P1.


 


Curvas cuadráticas (grado 2)
  • Tres puntos de control (P0, P1 y P2).
  • Se construyen dos curvas lineales de Bezier entre P0-P1 y P1-P2.
  • Se contruye una tercera curva lineal de Bezier entre las dos anteriores.
  • El t que recorre esta tercera recta, forma nuestra curva.
 
Una curva cuadrática de Bezier es el camino trazado por función  B(t), dado los puntos: P0,P1 y  P2, 

B(t)=(1-t)^2  P0 +2t (1-t) P1+t^2 P2,t є  [0,1] .


Para curvas cuadráticas se pueden construir puntos intermedios desde Q0 a Q1  tales que t varia de 0 a 1:

  • Punto Q0 varia de P0 a P1 y describe una curva lineal de Bezier.
  • Punto Q1 varia de P1 a P2 y describe una curva lineal de Bezier.
  • Punto B(t) varia de Q0 a Q1 y describe una curva cuadrática de Bezier.








Propiedades de Bezier.

  1. El grado de la base de polinomios es uno menos que la cantidad de puntos de control.
  2. El primer y ultimo punto de la curva coincide con  el primer y ultimo punto del grafo de control.
  3. El vector tangente en los extremos de la curva tiene la misma dirección que el primer y ultimo segmento del grafo de control respectivamente.
  4. El tiene control global.


Desventajas de las curvas de Bezier

Para grafos de control complejos(formados por muchos puntos)

  1. El grado de la base es elevado
  2. Tienden a suavizar demasiado la geometría del grafo de control
  3. Se tornan insensibles a pequeños cambios locales.El desplazamiento de un solo punto de control casi no produce efecto en la curva
  4. El control global provoca que el desplazamiento de un solo punto de control modifique a toda la curva.


Aplicaciones de la curva de Bezier

Las curvas de Bezier han sido ampliamente usadas en los gráficos generados por ordenador para modelado de curvas suaves. como la curva esta completamente contenida en la envolvente convexa de los puntos de control,dichos puntos pueden ser suavizados gráficamente sobre el área de trabajo y usados para manipular la curva de una forma muy intuitiva.las transformaciones afines tales como traslación y rotación pueden ser aplicadas con gran facilidad a las curvas, aplicando las transformaciones respectivas sobre los puntos de control.

  
BIBLIOGRAFIA

GRAFICACION POR COMPUTADORA
DONALD HERAN /M.PAULINE BAKER



PRESENTADO POR:

GASPAR REYES MARIA DEL CARMEN

NORBERTO CRUZ GABRIELA

GARCIA HERNANDEZ IMELDA






martes, 7 de mayo de 2013

4.2 MODELOS BÁSICOS DE ILUMINACIÓN

4.2 MODELOS BÁSICOS DE ILUMINACIÓN

PRESENTAN:
DE LA CRUZ ALONSO JESÚS ADRIÁN.
FLORES ORDóÑEZ LEI LANI.
GALLARDO GASPAR SAUL.
Alfredo Weitzenfeld Gráfica: Illuminación y Sombreado
http://www.cannes.itam.mx/Alfredo/Espaniol/Cursos/Grafica/Sombreado.pdf

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 relumbrante 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 para cada punto 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.

EJEMPLO:

REFLEXION DIFUSA

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




EJEMPLO: 


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

EJEMPLO:
EJEMPLO ILUMINACIÓN PHONG: