El trastero de José Juan Valid XHTML 1.1 Valid CSS! Estilo de página alternativo
Artículo creado en 2002.
Valoración ValoraciónValoraciónValoraciónValoraciónValoraciónValoraciónValoraciónValoraciónValoraciónValoración sobre 2 comentarios.

Radiosidad / Montecarlo

Existen diferentes métodos para calcular la distribución de la energía lumínica en un sistema (en informática gráfica suele denominarse escena), calcularla correctamente es la llave para generar escenas con un gran realismo. A esta transmisión de energía y concretamente en informática gráfica se le denomina radiosidad. Más concretamente, la radiación es la energía que se transmite a distancia, sin necesidad de contacto inmediato y, la energía lumínica es un tipo de radiación llamada normalmente radiancia haciendo referencia a la cantidad de energía (fotones en este caso) que se emiten (y reciben).

El método más sencillo (y preciso) sin ninguna duda de calcular la radiosidad en una escena es estableciendo el sistema lineal que determina los transportes de energía en la escena y calcularlo. El problema teórico es trivial, resolver un sistema lineal de n ecuaciones con n incógnitas. Ponerlo en práctica desafortunadamente no es tan sencillo, pues una escena útil en la práctica (por ejemplo un edificio que planea construir un arquitecto) requeriría resolver un sistema con millones (o miles de millones) de incógnitas, problema que toma demasiados recursos para ser resuelto (en tiempo, ordenadores, memoria, etc...).

Un método que es bastante sencillo de implementar, que no requiere excesivos recursos y que obtiene resultados razonables es el llamado método de Montecarlo, que es utilizando frecuentemente para el cálculo de integrales de las que no se conoce su expresión exacta o son muy complicadas para resolverlas directamente.

El problema de este método es que requiere calcular bastantes trayectorias de luz para conseguir buenos resultados. Como esto es sólo un experimento y el objetivo no es la geometría implicada en la escena sino tan sólo la difusión de la luz (nuestros objetos pueden ser toscos y feos), el motor de la geometría es un ray-casting (algo así como testeador de rayos) que permite realizar complejas escenas sin coste adicional de cálculo de rayos, eso sí, las escenas estarán formadas sólo por rectángulos paralelos a los planos XY, XZ e YZ.

Algunas pruebas realizadas son:


Prueba 1 de cálculo de radiosidad
Prueba 2 de cálculo de radiosidad
Prueba 3 de cálculo de radiosidad
Prueba 4 de cálculo de radiosidad

A la derecha puedes ver la escena con pequeños cuadraditos que son las unidades mínimas de recepción/emisión de energía (en un sistema lineal, cada cuadradito sería una incógnita) y a la izquierda esos mismos cuadraditos, pero se suaviza interpolando las intensidades entre los centros de cada cuadradito (simplificando, en medio de dos cuadraditos, tenemos el promedio de la energía de los cuadraditos).
Aquí tienes un vídeo (160x120, 145Kbytes) de la escena en movimiento.


Radiosidad / Montecarlo descargar código fuente de Radiosidad / Montecarlo.
Opinado el 16/02/11 14:42, valoración ValoraciónValoraciónValoraciónValoraciónValoraciónValoraciónValoraciónValoraciónValoraciónValoración
    GENIO!!! MUY BUENO
Opinado el 31/05/13 18:25, valoración ValoraciónValoraciónValoraciónValoraciónValoraciónValoraciónValoraciónValoraciónValoraciónValoración
    bacano
¿Te ha gustado? ¡aporta tu opinión!
Valoración:
 0    1    2    3    4    5    6    7    8    9    10

Comentario:
NOTA: si es una petición... ¡pon el e-mail al que responderte o no sabré a dónde escribir!

Código de verificación captcha