Ray Tracing: Mecanismos de Transporte de la Luz

Juan Mellado, 24 Noviembre, 2005 - 23:26

Este artículo presenta los mecanismos de transporte de la luz, que describen como se comporta un rayo de luz cuando colisiona con un objeto.

Se considerarán cuatro mecanismos de transporte básicos para todo sistema de Ray Tracing:
- Reflexión Difusa Perfecta
- Reflexión Especular Perfecta
- Transmisión Difusa Perfecta
- Transmisión Especular Perfecta

Todos estos fenómenos se considerarán desde un punto de vista idealizado, de ahí el calificativo de perfecto en los nombres de cada uno de ellos, y se estudiarán en base a consideraciones geométricas, en determinar con que ángulo y en que dirección los rayos "rebotan" o son "absorbidos" por los objetos.

Reflexión Especular Perfecta

El fenómeno de reflexión se produce cuando un rayo de luz rebota contra la superficie de un objeto. Y la reflexión especular no es más que un caso particular de este fenómeno, que se produce cuando el ángulo de salida del rayo es igual al ángulo de llegada, tomando como referencia la normal a la superficie en el punto de incidencia. Es decir, cuando el rayo sale rebotado con el mismo ángulo con el que incide sobre la superficie. Lo particular de este tipo de reflexión es que al conservarse los ángulos también se conserva la disposición original de los rayos, y esto hace que se impresionen imágenes nítidas de los objetos que se encuentran alrededor de la superficie sobre la que incide la luz, tal y como ocurre en los espejos o en los metales muy pulidos.

Sea I el vector unitario que representa la dirección con la que incide el rayo de luz sobre la superficie, N la normal al punto de incidencia, y R la dirección en la que sale rebotado el rayo.

Reflexión Especular Perfecta

El problema a resolver consiste en encontrar R, y para resolverlo basta con tener en cuenta que el ángulo de incidencia i es igual que el de reflexión r:

i = r

Como los ángulos son iguales, sus cosenos son iguales:

COS(i) = COS(r)

Y como todos los vectores se consideran normalizados, se puede utilizar el producto escalar para obtener dichos cosenos:

-I · N = |-I| * |N| * COS(i) = 1 * 1 * COS(i) = COS(i)
N · R = |N| * |R| * COS(r) = 1 * 1 * COS(r) = COS(r)
-I · N = N · R

Por otra parte, considerando que el rayo incidente, la normal, y el rayo reflejado caen todos en un mismo plano, entonces R puede expresarse como una combinación lineal de I y N:

R = a * I + b * N

Con lo que el problema se reduce a encontrar los valores de a y b. Sustituyendo y resolviendo en la igualdad de cosenos anterior:

-I · N = N · R
-I · N = N · (a * I + b * N)
-I · N = a * (I · N) + b * (N · N)
-I · N = a * (I · N) + b * (1)
-I · N = a * (I · N) + b
b = (-I · N) - a * (I · N)

Expresión que puede simplificarse mediante la introducción de una variable auxiliar:

k = I · N
b = -k - a * k

Para encontrar el valor de las dos variables, a y b, hace falta al menos dos ecuaciones, y de momento sólo hay una. Para encontrar la segunda ecuación se tiene en cuenta que se quiere obtener el vector R normalizado y que por lo tanto debe cumplirse lo siguiente:

1 = R · R
1 = (a * I + b * N) · (a * I + b * N)
1 = a^2 * (I · I) + b^2 * (N · N) + 2 * a * b * (I · N)
1 = a^2 * (1) + b^2 * (1) + 2 * a * b * k
1 = a^2 + b^2 + 2 * a * b * k

Sustituyendo el valor de b en esta expresión se obtiene el valor de a:

0 = a^2 + (-k - a * k)^2 + 2 * a * (-k - a * k) * k - 1
0 = a^2 + k^2 + a^2 * k^2 + 2 * a * k^2 - 2 * a * k^2 - 2 * a^2 * k^2 - 1
0 = a^2 + (a^2 * k^2 - 2 * a^2 * k^2) + (2 * a * k^2 - 2 * a * k^2) + k^2 - 1
0 = a^2 - a^2 * k^2 + k^2 - 1
0 = a^2 * (1 - k^2) + k^2 - 1
a = SQRT( (1 - k^2) / (1 - k^2) )
a = SQRT(1)
a = 1

Y así, el valor de b es:

b = -k - a * k
b = -k - 1 * k
b = -2 * k
b = -2 * (I · N)

Con lo que, finalmente, se obtiene la expresión del vector unitario R que representa la dirección en la que sale reflejado un rayo debido al fenómeno de reflexión especular:

R = a * I + b * N
R = I - 2 * (I · N) * N

Reflexión Difusa Perfecta

El fenómeno de reflexión especular expuesto en el anterior apartado no suele ocurrir en la práctica en todos los objetos. Sólo en superficies como los espejos o metales muy pulidos. Lo que si suele ocurrir para casi todos los objetos es el fenómeno de reflexión difusa.

La reflexión difusa se produce cuando los rayos de luz se reflejan con un ángulo distinto al de incidencia. Este fenómeno se produce debido a que, a nivel microscópico, las superficies no son perfectamente lisas, sino que presentan multitud de irregularidades, denominadas microfacetas, que impiden que se produzca la reflexión especular. Las microfacetas adoptan todo tipo de formas, conformando huecos, aristas, llanos, depresiones,... y desencadenando una secuencia de reflexiones que hacen que la luz se esparza por toda la superficie.

Resolver de forma exacta el problema de encontrar la intensidad de la luz resultante de todas esas reflexiones es imposible, ya que habría que describir los objetos con un nivel de detalle microscópico, por lo que los sistemas de Ray Tracing suelen considerar un modelo muy simplificado en el que la luz reflejada difusamente se esparce de manera uniforme por toda la superficie.

El estudio geométrico de la reflexión difusa se limita a considerar el valor del ángulo de incidencia. A mayor ángulo, menor reflexión. Es decir, cuanto mayor sea la diferencia que exista entre la dirección del rayo y la dirección de la normal, menor reflexión. Este modelo lo que viene a decir es que un rayo tiene más probabilidad de reflejarse especularmente si incide en la dirección de la normal, porque saldrá reflejado limpiamente en dicha dirección. Y que por el contrario, si lo hace en una dirección muy distinta de la normal, tiene mayor probabilidad de reflejarse difusamente, debido a múltiples rebotes sobre las microfacetas.

Reflexión Difusa Perfecta

A diferencia con la reflexión especular, en este caso no ha lugar ningún cálculo de vectores. Lo único que debe considerarse es el ángulo que forman la normal y el rayo incidente. O equivalentemente, el coseno del ángulo que forman, que puede obtenerse del producto escalar entre ambos vectores. La intensidad de la luz reflejada difusamente por la superficie será directamente proporcional a dicho coseno. A menor ángulo, mayor coseno, mayor reflexión. A mayor ángulo, menor coseno, menor reflexión.