TEMA 2: EL MODELO FÍSICO DE LA INTERACCIÓN DE LA LUZ.

Una vez hemos estudiado las diferentes formas de representar los objetos tridimensionales que van a formar parte de la escena que deseamos visualizar, tenemos que analizar cómo estos objetos responden a la luz, de manera que podamos figurarnos cómo simular por ordenador ese proceso y dotar a los objetos sintéticos de un aspecto realista en función de las fuentes de luz, superficies y medios materiales que hayamos definido.

2.1. CARACTERIZACIÓN DE LA LUZ.

Para caracterizar físicamente la luz nos interesará la dirección en la que viajen los rayos (direccionalidad) y la distribución de intensidad energética, magnitud ésta que se relacionaría con la producción de un determinado color cuando la luz alcanzara el ojo del observador u otro tipo de detector.

En nuestro modelo utilizaremos ciertas aproximaciones bastante comunes. Una de ellas será considerar que la luz viaja en línea recta y atraviesa medios más o menos homogéneos. En realidad, si el medio tuviera un índice de refracción que variara de forma continua (fenómeno que se produce, por ejemplo, en la atmósfera y en ciertas lentes) la luz tendría una trayectoria curva. La luz también puede curvarse debido a efectos de difracción (al pasar por bordes o rendijas), y tal como explica la Teoría de la Relatividad General, también cuando pasa cerca de masas muy grandes. Pero estas situaciones son extraordinariamente raras, en el sentido de que difícilmente somos capaces de percibirlas en un entorno normal.

Otra aproximación inicial es considerar que la información de fase resulta irrelevante para nuestro modelo. La luz es una composición de ondas, que además de caracterizarse por su frecuencia y su amplitud (relacionada con la energía que transportan), también tendrían una determinada fase según la posición en la que se encuentran las 'crestas' y 'valles' de la onda respecto a un origen arbitrario de distancias. El único fenómeno perceptible que se debe a la fase, y que por tanto dejaríamos de considerar en nuestro modelo, es el de la interferencia de ondas de luz. En determinadas condiciones las crestas y valles de varias ondas de luz que se combinan se hacen visibles, pero de nuevo se trata de situación relativamente rara en los entornos normales.

La intensidad luminosa nos definirá la densidad de energía que transporta el rayo luminoso. Podemos medirla en relación a diferentes magnitudes físicas, por ejemplo respecto al tiempo , o a la cantidad de superficie atravesada por la onda . Una de las definiciones que más se suele utilizar en informática gráfica sentido es la llamada radiosidad (B), la intensidad luminosa por unidad de tiempo y de superficie perpendicular atravesada :

También se define otro tipo de intensidad, la radiancia, donde se considera que la luz parte de un punto y se divide la radiosidad por el ángulo sólido abarcado por la onda luminosa desde el punto emisor [Esto lo veremos en detalle al estudiar ENLACE el modelo global de comportamiento de la luz].

Para caracterizar energéticamente una fuente de luz se emplea el espectro luminoso. La luz natural está compuesta por distintas longitudes de onda , o visto de otro modo, por gran diversidad de frecuencias o períodos de onda T diferentes. Siendo c la velocidad de la luz, la relación entre estas magnitudes es:


El espectro de una radiación se define, entonces, como la función que nos da la intensidad de la radiación en función de la frecuencia (o equivalentemente, de la longitud de onda). El espectro luminoso (visible) está constituido por aquel intervalo de frecuencias que puede detectar el ojo humano y es solamente una parte dentro espectro total de las radiaciones electromagnéticas (ver FIGURA ESPECTRO con visible, ultiravioleta, etc.).


Ciertas características de la función de intensidad están relacionadas con la sensación cualitativa del color, y por tanto conviene analizarlas.

* Tono: desde el punto de vista de la visión del color, el tono es lo que diferenciaría cualitativamente los diferentes colores perceptibles, independientemente de su brillo y su pureza. Físicamente podríamos definirlo por medio de longitud de onda (o frecuencia) predominante en el espectro de luz, es decir, por su punto de intensidad máxima.


* Saturación: desde el punto de vista de la visión, equivale a la pureza del color. Se dice que un color es más 'puro' cuanto más saturado esté. Desde la perspectiva física, un espectro es más saturado cuanto más monocromático sea, es decir, cuanto más se parezca a una función de intensidad que solamente sería diferente de cero para un valor único de frecuencia. Como una luz blanca posee componentes en todas las frecuencias del espectro, disminuir la saturación de un color equivale a sumarle un cierto porcentaje de luz blanca.


* Luminosidad: desde el punto de vista de la visión, se trata de lo brillante que es percibido el color, independientemente de sus diferencias de tono y pureza. Físicamente esta magnitud tiene que ver con la energía total o intensidad total del espectro. Se trata, por tanto, de la integral de toda el área cubierta por el espectro.


El ojo humano y de muchos animales está compuesto por dos tipos fundamentales de detectores, que son los bastones y los conos. Estos detectores responden a la energía luminosa que les va llegando de diferentes partes del espectro. Los bastones se utilizan en la visión nocturna y responden básicamente a la luminosidad, por lo que no efectúa una distinción entre los diferentes colores. Sin embargo, existen tres tipos de conos que responden a diferentes colores del espectro, y que por tanto se suelen denominar como detectores de radiación Roja, Verde y Azul.


Para caracterizar un color podemos descomponer la función espectral en una combinación lineal de las funciones a las que son sensibles cada uno de estos detectores:

El espectro de la intensidad luminosa será: .

Por ello, en la síntesis de imágenes 3D se suele caracterizar un color por medio de sus componentes R,V,A (Red, Green , Blue en inglés) y efectuar con ellas los cálculos de iluminación. Sin embargo, existen modelos más precisos que mantienen una discretización mucho más fina del espectro luminoso.

El proceso de generación de una imagen en la pantalla del ordenador es de alguna manera inverso al de la percepción, de modo que los puntos rojo, verde y azul de una pantalla o proyector tendrán unos espectros de emisión para una de las tres componentes que serán lo más similares posibles al espectro detectado por cada tipo de sensor. De esa forma, para reproducir un cierto color no tenemos más que producir una excitación luminosa con los valores (R,V,A) correspondientes en cada punto.

En realidad existen muchas restricciones en la manipulación del color, y toda una teoría compleja que intenta dar cuenta de ella. El sistema R, V, A es solamente un posible sistema de representación en el que se efectúa una suma aditiva. [ENLACE AL TEMA DE IG de segundo donde se explica color]

2.2. INTERACCIÓN LUZ_MATERIA

La luz sufre una serie de transformaciones tanto en su espectro como en la direccionalidad de sus rayos cuando interactúan con otros objetos. Debemos estudiar esas interacciones para poder hacernos idea de cómo reproducirlas en el ordenador.

2.2.1. INTERACCIÓN CON UNA SUPERFICIE

Desde el punto de vista de la luz una superficie activa es una zona que separa dos medios de diferente índice de refracción. La interacción de una luz con una superficie es la más comúnmente aplicada en gráficos de síntesis. Consideraremos una fuente emisora de luz y un punto en la superficie de cierto objeto. En general tenemos como resultado que la distribución de intensidad incidente será en parte absorbida por la superficie, en parte devuelta al medio de donde provenía (componente reflejada) y en parte pasará al segundo medio tras la superficie (componente transmitida):


Donde :


Es común hacer la aproximación de que el comportamiento de la luz no tiene dependencia del ángulo i (comportamiento isótropo) pero en muchos materiales, como los tejidos, sabemos que la dirección de la luz incidente respecto a las fibras puede determinar la forma en que se produzca la reflexión (comportamiento no isótropo). A partir de ahora supondremos que todas las superficies son isótropas, tanto respecto a la intensidad reflejada como a la transmitida.

También efectuaremos a partir de ahora la aproximación de caracterizar la distribución espectral por medio de las tres componentes r,v,a o r,g,b, en lugar de tener una representación continua de la intensidad. Por tanto, cuando en una cierta fórmula escribamos acerca de la Intensidad, nos estamos refiriendo a cada una de sus tres componentes de color, cuyo comportamiento se caracterizaría por una ecuación independiente.

Vamos a ver primero cómo efectuar aproximaciones sencillas a las distribuciones reflejada y transmitida, para luego combinar estas aproximaciones en un modelo local de iluminación.

2.2.2. APROXIMACIONES A LAS DISTRIBUCIONES REFLEJADA Y TRANSMITIDA:

1.- Componente Ambiente.

Supondremos que sólo existe una dependencia respecto a la intensidad de la fuente, despreciando todos los otros factores:

Donde es el coeficiente de reflexión o transmisión de luz ambiente, que en realidad tendría un valor diferente para cada componente de color: .

El comportamiento que representa esta ecuación es muy simple: cuanto más luz emiten las fuentes, más se ilumina la superficie, independientemente de cómo está orientada, dónde esté el observador, etc. No tiene en cuenta para nada la dirección, el color observado en la superficie sería el mismo desde cualquier punto de vista.

La utilidad de esta componente reside en que sirve para iluminar con un color constante aquellas partes de los objetos que normalmente no recibirían luz directa, evitando así las sombras demasiado oscuras.


2.- Componente Difusa. ( reflexión o transmisión difusa ) .

En este caso tanto la distribución de intensidad reflejada y transmitida son isótropas, iguales en todas las direcciones, no dependen del punto de vista del observador, es decir, desde cualquier punto se percibirá la misma intensidad, y por tanto el mismo color aparente, en la superficie. Pero al contrario que en el caso de la componente ambiente, ahora esta intensidad reflejada o transmitida sí dependerá de dónde coloquemos la fuente emisora de luz respecto a la superficie. En concreto, dependerá del coseno del ángulo de incidencia de la luz, el formado por la dirección de la luz incidente con el vector normal de la superficie. Esta ecuación se conoce también como ley de Lambert.


Con un modelo de comportamiento difuso se podría realizar ya realizar un sombreado más o menos realista de un objeto aislado, consiguiendo darle la apariencia de volumen. Debemos tener en cuenta, sin embargo, que el comportamiento difuso es una aproximación, y solamente materiales rugosos o porosos muy homogéneos, que no reflejan la luz en ninguna dirección privilegiada, se comportan de forma casi difusa. Por otro lado, los medios transmisores de la luz con comportamiento únicamente difuso también son raros. Se trataría de materiales que actúan como filtros difusores, del tipo de los utilizados en luminotecnia para eliminar las sombras de una escena añadiendo iluminación difusa.

3.- Componente Especular.

Es muy normal que la intensidad reflejada o transmitida lo haga predominantemente en una dirección que viene dada por la ley de reflexión o de refracción (para la componente transmitida):


Pero, al contrario de lo que supone la óptica geométrica, el comportamiento especular nunca es perfecto: no todos los rayos salen en la misma dirección, sino que se tiene una cierta dispersión (anchura de la distribución especular). Según lo separado que esté el observador de la dirección de mayor intensidad (esta separación la mide el ángulo ), percibirá más o menos intensidad. Tendremos que:



donde es un factor que mide el decrecimiento de la intensidad alrededor de la dirección principal. El parámetro s (shininess o brillo) controla lo rápido que es este decrecimiento, de manera que cuando mayor sea s, más apuntada es la función y por ello más 'perfecto' es el comportamiento especular.

Aproximando por una constante


2.2.3. MODELOS DE SOMBREADO LOCAL.

A la hora de realizar la iluminación (asignación de colores) de una escena podemos optar por el empleo de un modelo local o global. En este apartado vamos a centrarnos en las características de los modelos locales, que son más sencillos de implementar y menos costosos computacionalmente.

En un modelo local, para calcular la intensidad que percibimos (el color) procedente de un cierto punto de una superficie, se tiene en cuenta la posición de ese punto en el espacio, el vector normal a la superficie en el punto, la posición de las fuentes de luz, las características que definen el material y la posición del observador (en el caso de considerar la componente especular).

En los métodos locales no se consideran las interacciones entre los objetos y por ello no nos permiten crear sombras ni reproducir la influencia de la luz reflejada o transmitida por un objeto sobre los otros cuerpos de la escena. Es como si a la hora de calcular la iluminación de un objeto los demás desaparecieran de la escena, lo que hace el proceso más rápido y eficiente. El coste de la iluminación sería lineal con el número de puntos a iluminar y el número de fuentes de luz, además de depender de otros factores. Es por ello que, como veremos, se usa para la producción de gráficos en tiempo real [ENLACE].

Los modelos de sombreado local combinan todas las aproximaciones que hemos visto anteriormente y añaden otros efectos como la emisión propia de luz por parte de la superficie. Las características del material que forma la superficie de los objetos vienen determinadas por una serie de coeficientes , cada uno de los cuales tendrá tres versiones para cada componente de color (r, g, b). Por ejemplo, para caracterizar la distribución de intensidad reflejada tendríamos:




De donde se obtiene la ecuación que engloba todas las componentes:


Podemos simplificar esta ecuación considerando que no existe atenuación de la fuente, es decir, que



Este es el modelo básico de sombreado. Para calcular los colores a partir de los valores de intensidad habrá que tener en cuenta los límites en el rango de las componentes de color. Los valores de los coeficientes se suelen definir entre 0 y 1. Si suponemos que cada componente , se debe normalizar la fórmula de manera que el valor resultante para cada componente de nunca sea mayor que uno cuando las intensidades incidentes también se limitan a este intervalo.

2.2.4. OTROS EFECTOS SOBRE LA LUZ

2.2.4.1 ATENUACIÓN CON LA DISTANCIA


Al ser una onda física que se va expandiendo por el espacio, la intensidad local de la luz se atenúa con la distancia. Puesto que la misma energía, emitida desde un cierto punto, se distribuye en un espacio esférico cuya superficie aumenta con el cuadrado de la distancia, llegamos a la conclusión de que la intensidad a una distancia d de la fuente será proporcional al inverso del cuadrado de d: . Para una fuente que consideramos a una distancia infinita [ENLACE a TIPOS FUENTES]., como por ejemplo el Sol, supondremos que no existe atenuación. Pero si intentamos aplicar esta aproximación de la atenuación con el inverso del cuadrado en nuestros modelos de sombreado local obtendremos atenuaciones demasiado bruscas para las fuentes de luz que no están en el infinito La razón es que en un entorno real la luz de una fuente local se distribuye por la escena y llega luego a los objetos desde diferentes puntos por efecto de la interdifusión, haciendo que el efecto global de la atenuación con la distancia no sea tan brusco.


Por esta razón en gráficos de síntesis se suele utilizar una función polinomial más general, donde podremos controlar la suavidad de manera que la atenuación de la luz no varíe bruscamente.



2.2.4.2. ATENUACIÓN POR ABSORCIÓN (FILTRADO)

Cuando la luz atraviesa un medio físico (sólido, líquido, gas) y recorre una cierta distancia, se produce una atenuación debida a la absorción del medio de parte de la intensidad luminosa. Este fenómeno no solamente causa una disminución de la intensidad total, sino que al producirse una absorción diferente para cada componente de color, también se altera el equilibrio general de color.

Si suponemos que el medio es homogéneo y viene caracterizado por una constante de absorción k, para representar el efecto de la absorción con la distancia r se debería emplear una función de decrecimiento exponencial .


De este modo se trata de simular lo que ocurre en la realidad pero en la práctica no funciona tan bien como cabría esperar ya que esta atenuación produce unos efectos muy bruscos. Es por ello que se suele usar un modelo de decrecimiento lineal .


Veamos unos ejemplos prácticos donde se podría utilizar estos efectos:

- Trazado de rayos para iluminar una esmeralda.

El color que observamos se debe a que parte de la luz que incide por la superficie es absorbida y parte reflejada. Para el caso de la esmeralda la coloración verdosa aparece porque la absorción de la componente verde de la luz no sería tan grande como para las componentes roja y azul.


- Simulación de efectos atmosféricos:

Como hemos indicado anteriormente el hecho de producir una absorción totalmente homogénea no es realista, además de producir efectos no deseados como cambios bruscos de luz. Por ejemplo en la atmósfera la absorción de la luz solar dependerá de la cantidad de microgotas que existiesen en ella. En la niebla real tendremos que la constante k será una función variable, y por tanto tendríamos que realizar el cálculo de una integral a lo largo del recorrido del rayo. Otra complicación es que en el efecto de la niebla influye no solamente la absorción de la luz que proviene del objeto, sino también la difusión de la luz proveniente del Sol y otros objetos, aspecto que veremos en el siguiente apartado.

Este efecto es diferente al de la esmeralda. En la esmeralda si su absorción es muy brusca el objeto se vuelve negro. En la niebla influye la luz solar, esta luz se va difundiendo en todas las direcciones y por tanto hay que tener en cuenta.



2.2.4.3. MODIFICACIÓN POR DIFUSIÓN:

Otro fenómeno que sufre la luz al pasar por un medio es el de la difusión. Por un lado parte de la intensidad se desvía al interaccionar con las partículas del medio. No es que la energía sea absorbida, sino que es reenviada en otra dirección. Un ejemplo de este primer efecto de la difusión es la coloración de la atmósfera debida a la luz del Sol. La componente azul de la luz solar se difunde más que la verde y la roja, y ésta es la razón de que el Sol tienda a aparecernos amarillo-anaranjado, especialmente cuando está bajo sobre el horizonte y su luz atraviesa la atmósfera a lo largo de una distancia mayor.

Por otro lado la luz que ha sido desviada de su curso original (por ejemplo, proviniente del Sol) puede llegar al observador como si viniera aparentemente desde otro sitio, dando una coloración a esa parte de la escena que no se debe a los objetos que contiene. Así, la luz azul que es difundida por la atmósfera desde el Sol es la que le otorga su tonalidad característica al fondo celeste. La niebla difunde la luz solar y hace que parte de ella vaya hacia el observador, por lo que los objetos lejanos se funden en el color blanquecino y pierden el suyo propio, es decir, se dan al mismo tiempo dos efectos: la disminución del color propio del objeto debida a la absorción de la niebla y la adición de un color blanco debido a la difusión de la luz solar.



2.2.5. TIPOS DE FUENTES DE LUZ

A la hora de calcular la iluminación deberemos también considerar cómo es generada la intensidad de luz que luego incidirá en los objetos. Podemos clasificar las fuentes de luz como:

* Direccionales: emiten rayos paralelos, como si estuvieran localizadas en el infinito. No poseen atenuación debida a la distancia.


* Puntuales: se trata de fuentes localizadas en ciertas coordenadas no infinitas (fuentes locales), que emiten por igual en todas las direcciones.


* Puntuales direccionales (focos): también son locales, pero emiten preferentemente en una dirección determinada..


* Fuentes extensas: se trata de una fuente, local o en el infinito, que emite desde más de un punto (si es local) o dirección (si es infinita). El tratamiento de una fuenta de este tipo siempre va a involucrar un cierto proceso de integración, sea analítica o descomponiendo la fuente en elementos de comportamiento conocido, como puntos o polígonos. Existen ciertos métodos, como la radiosidad, que permiten trabajar directamente con fuentes extensas [ENLACE]. A diferencia de las fuentes puntuales, éstas producen una zona de penumbra en los bordes de las sombras.



2.3. COLORACIÓN DE LOS OBJETOS

Para colorear el objeto lo que debemos hacer es asignar componentes de color RGB a todos sus puntos visibles, es decir, a aquellos que resultan proyectados en nuestra ventana de visión. Existen dos métodos básicos para evaluar el color de estos puntos. Uno consiste en hacerlo directamente enviando un rayo en esa dirección y calculando la intensidad de luz que transportará hacia el observador [ENLACE TRAZADO RAYOS]. El otro método consiste en evaluar el color solamente para ciertos puntos, normalmente los vértices de una descomposición poligonal del objeto (ver [ENLACE A VISUAL. TIEMPO REAL]), para luego interpolar el color de los puntos intermedios. Vamos a analizar ahora esta segunda forma de cálculo.

Supondremos que nuestro objeto se ha descompuesto en polígonos, y éstos a su vez en triángulos. De cada vértice conocemos su posición y su vector normal. Si los tres vectores normales de los vértices del triángulo coinciden, es decir, consideramos que el triángulo debe iluminarse como si fuera efectivamente plano (una faceta), entonces todo el polígono se colorea de un mismo tono (sombreado plano o por facetas). Sin embargo, si las normales son diferentes tenemos que hacer variar el color en el interior del triángulo mediante una interpolación. Hay dos métodos básicos de realizar esta interpolación, los de Gouraud y Phong.

2.3.1. MÉTODO DE GOURAUD (Interpolación lineal del color).

En este caso se calcula el color de cada vértice utilizando las propiedades materiales y la dirección del vector normal. El cálculo del color de cada punto interno del triángulo se realizará como una interpolación lineal entre los colores de los vértices. Si representáramos en el espacio las dos coordenadas x,y de cada vértice y el color como una tercera coordenada, podríamos calcular el color de los puntos internos del triángulo como aquellos correspondientes al plano que pasa por los tres vértices [DIBUJO].


La forma eficiente de realizar esta interpolación es utilizar un algoritmo de rellenado incremental [ENLACE A TIEMPO REAL, donde se explique el algoritmo de rellenado].

2.3.2. MÉTODO DE PHONG (INTERPOLACIÓN DE LAS NORMALES).

El método de Gouraud es muy rápido, pero produce efectos visuales poco realista. Si los polígonos aparecen muy grandes en la ventana de visualización, se apreciarán cambios no suaves en la coloración, observándose las fronteras entre triángulos. El método de Phong consiste básicamente en calcular el valor del vector normal para cada punto interno del triángulo y aplicar entonces el modelo de iluminación para calcular el color en ese punto.


El coste de este método es más elevado, puesto que las operaciones involucradas en el modelo de iluminación son más costosas que meras sumas y multiplicaciones. Sin embargo, el resultado es mucho más realista. Se suele utilizar al efectuar el trazado de rayos de objetos descritos por primitivas poligonales.