SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
Simulación de Cáusticas
en POV-Ray
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
INFORMÁTICA
INGENIERO EN INFORMÁTICA
Realizado por
JUAN JOSÉ DOMÍNGUEZ DUARTE
Dirgido por
FRANCISCO VILLATORO MACHUCA
UNIVERSIDAD DE MÁLAGA
MÁLAGA, Marzo de 2005
Contenido
➲ I. OBJETIVO
● 1. ¿Qué es una cáustica?
● 2. Los trazadores de rayos
➲ II. ALGORITMO
● 3. Ideas claves
● 4. El Principio de Fermat
● 5. Propagación de frentes de ondas
➲ III. IMPLEMENTACIÓN
● 6. DKB-Trace y POV-Ray
● 7. El método de Newton:
● 8. “Punto medio”
● 9. Octree
● 10. Extrapolación y cache
● 11. Cache y lista enlazada
● 12. Propagación de frente de ondas
● 13. Mapeado de tonos
➲ IV. RESULTADOS
● 14. Comparación de Métodos de
Newton
● Ejemplo 1: Esfera
● 15. Iluminación indirecta
● 16. Frente de ondas
● 17. Sólo iluminación indirecta
● Ejemplo 2: Cuártica
● 18. Iluminación indirecta
● 19. Frente de ondas
● 20. Sólo iluminación indirecta
➲ V. CONCLUSIONES
● 21. Conclusiones finales
● 22. Líneas futuras de trabajo
¿Qué es una cáustica? 1/22
cáustica (Del lat. caustĭcus, y este del
gr.καυστικ ς, der. de κα ειν, quemar).ό ί
1. f. Fís. Superficie tangente a los rayos
reflejados o refractados por un sistema.
Una cáustica se produce cuando un haz de
fotones se acumula en un punto. En la
imagen de la izquierda se observa una
cáustica en la parte de sombra de la copa
causada por la refracción de los fotones que
atraviesan la copa.
Los trazadores de rayos 2/22
➲ El trazado de rayos es un algoritmo que
genera imágenes fotorrealistas trazando rayos
desde el punto de vista elegido hacia los
objetos y fuentes luminosas que forman la
escena.
➲ No tiene en cuenta el efecto de todos los
fotones que siguen caminos indirectos
(reflejándose o refractándose en otros objetos
antes de alcanzar el punto de vista).
OBJETIVO DEL PFC
La simulación de cáusticas mediante la incorporación de la iluminación
indirecta a un trazador de rayos
Conceptos fundamentales 3/22
➲ Artículo de Don Mitchell y Pat Hanrahan de 1992. Illumination from Curved
Reflectors.
¿Qué necesitamos conocer de un rayo indirecto?
El camino que ha seguido
La intensidad luminosa que
viaja a través de él
Principio de Fermat
Propagación del Frente de
ondas del rayo
(Conservación de la energía)
El Principio de Fermat 4/22
Longitud del camino óptico con un rebote:
Que de forma general, nos lleva a plantear el
siguiente sistema de ecuaciones:
La luz viaja a lo largo de caminos ópticos de longitud óptica estacionaria, donde la
longitud del camino óptico es un máximo o un mínimo con respecto a una pequeña
variación del mismo.
Propagación de frente de ondas 5/22
➲ El mismo flujo de radiación lumínica atraviesa dA y dA'.
➲ Por la ley de la conservación de la energía:
➲ De donde se deduce que:
➲ O lo que es lo mismo:
La intensidad luminosa que viaja a lo largo de un rayo es proporcional a la
curvatura gausiana de su frente de ondas.
DKB-Trace y POV-Ray 6/22
➲ POV-Ray (Persistence of Vision Raytracer)
● Es un trazador de rayos freeware muy popular.
● La versión 1.0 se lanzó, en 1989 y la última versión oficial (3.6.1) en Agosto de 2004.
➲ DKB-Trace (David Kirk Buck Tracer)
● Es el trazador de rayos precursor de POV-Ray.
● La versión 2.12 fue la última (1989), antes de que se le cambiara el nombre.
● Características avanzadas:
● Aunque escrito en C, sigue diseño orientado a objetos.
● Contiene un parser que reconoce un lenguaje para la descripción de escenas.
● Primitivas para superficies de cuarto grado.
● Permite definir objetos CSG (Constructive Solid Geometry).
El método de Newton-Raphson 7/22
➲ Es el método utilizado para resolver el sistema de ecuaciones planteado por el Principio
de Fermat.
➲ OBJETIVO: Maximizar el porcentaje de caminos indirectos que realmente son
encontrados respecto de los que se quieren determinar.
➲ CÓMO:
● Utilizando diferentes implementaciones del método:
● 1ª IMPLEMENTCIÓN: libro Métodos Numéricos con Matlab.
● 2ª IMPLEMENTACIÓN: libro Numerical Recipes in C.
● 3ª IMPLEMENTACIÓN: método de convergencia global del libro Numerical
Recipes in C.
● Utilizando diferentes estrategias para la elección de la aproximación inicial a la
solución del sistema.
Estrategia: Punto Medio 8/22
➲ Determina el punto medio de la fuente
luminosa y el punto de la escena destino.
➲ Traza un rayo desde ese punto al centro
del objeto que genera iluminación
indirecta, para determinar el valor inicial
X.
➲ Complejidad constante.
Estrategia: Octree 9/22
➲ Octree: árbol que indexa 3 dimensiones,
de forma que cada nodo tiene 8 hijos o
ninguno.
➲ Cada par (fuente luminosa,objeto) tiene
asociado un octree.
➲ Se va llenando la estructura con los puntos
destino y sus correspondientes soluciones
X.
➲ Para cada punto destino, se elige la X del
punto destino más cercano de la rama
recorrida.
➲ Complejidad logarítmica.
Estrategia: Extrapolación 10/22
➲ Utiliza una cache para cada par
(objeto,fuente luminosa) donde
almacena los puntos destino y
soluciones X para los 3 últimos píxeles
trazados.
➲ La próxima solución, X, se extrapola
utilizando una expresión derivada del
polinomio de Lagrange de grado 2.
➲ Complejidad constante.
Estrategias: cache y lista enlazada 11/22
➲ Cache
● Para cada par (objeto,fuente luminosa) guarda
los últimos 4 puntos destino calculados y las
soluciones X asociadas.
● Complejidad constante.
➲ Lista enlazada de puntos del objeto
● Para cada objeto se crea una lista enlazada con
los puntos de la superficie del objeto y sus
vectores normales.
● Se elige como solución X el punto que minimice
● Complejidad lineal respecto al tamaño de la lista.
Implementación de frente de ondas 12/22
➲ Se ha añadido a DKB-Trace una
nueva clase Wavefront para guardar
la curvatura gaussiana del frente de
ondas asociado al rayo conforme
este interactúa con los objetos de la
escena.
➲ Se ha añadido el método Shape() a
la clase Object, que calcula la
curvatura del objeto en un punto y
dirección dados.
➲ La intensidad luminosa asociada a un
punto por donde pasa un rayo se
calcula como:
Mapeado de tonos 13/22
➲ La mayoría de los frentes de ondas en las escenas
son esféricos o convexos.
➲ Como consecuencia, los valores finalmente
asignados a los píxeles de la imagen son de
magnitud muy pequeña.
Solución:
➲ Escalar los valores de los píxeles al rango
adecuado [0,1].
➲ Determinar el valor clave de la escena (log-average
luminance) y mapear los valores utilizando un
operador como:
Imagen sin mapeado de tono
Imagen con mapeado de tono
y valor clave α=0,05.
Comparación de estrategias 14/22
Datos obtenidos para una escena con una cuártica y una fuente luminosa
cercana (tamaño 200x150 píxeles)
Ejemplo 1: Esfera con iluminación 15/22
indirecta
Sin iluminación indirecta Con iluminación indirecta
(opción +G del trazador activada)
Ejemplo 1: Esfera con propagación
16/22
de frente de ondas
Con iluminación indirecta
(opciones +G +U del trazador activada)
Sin iluminación indirecta
(opción +U del trazador activada)
Ejemplo 1: Esfera sólo iluminación 17/22
indirecta
Iluminación indirecta causada por una esfera vista
desde arriba (opciones +u +R +t0.04 del trazador).
Como se trata de una supeficie convexa, no
produce cáusticas.
Ejemplo 2: Cuártica con iluminación 18/22
indirecta
Sin iluminación indirecta Con iluminación indirecta
(opción +G activada)
Ejemplo 2: Cuártica con propagación 19/22
de frente de ondas
Sin iluminación indirecta
(opciones +U +T activadas)
Con iluminación indirecta
(opciones +G +U +T activadas)
Ejemplo 2: Cuártica sólo iluminación 20/22
indirecta
Iluminación indirecta causada por una cuártica vista desde arriba
(opciones +U+R +T0.03 del trazador).
Como se trata de una supeficie con regiones cóncavas, produce
cáusticas.
Conclusiones finales 21/22
➲ La técnica propuesta por Don Mitchell y Pat Hanrahan en su artículo de 1992
Illumination from Curved Reflector se puede implementar en un trazador “popular”
como es DKB-Trace.
➲ Es una técnica costosa:
● Resolver sistema de ecuaciones no lineales por cada camino indirecto.
● Evaluar el operador Shape en cada reflexión (o refracción).
➲ En su implementación, es necesario tener presente las posibles inconsistencias:
● No convergencia.
● Combinanción de propagación de frente de ondas con otros modelos de iluminación.
Líneas futuras de trabajo 22/22
➲ Para mejorar la eficiencia:
● Implementaciones específicas del método resultor para cada primitiva.
● Nuevas estrategias para elegir la aproximación inicial.
➲ Para mejorar la consistencia:
● Implementar métodos resultores que aseguren convergencia.
● Utilizar filtros que disimulen los efectos de la no convergencia.
➲ Para añadir funcionalidad:
● Simulación de caminos indirectos con más de un rebote.
● Objetos CSG (Constructive Solid Geometry) con iluminación indirecta.

Más contenido relacionado

La actualidad más candente

3eval exfinal fis2_bach
3eval exfinal fis2_bach3eval exfinal fis2_bach
3eval exfinal fis2_bachmariavarey
 
Lecture 16 probabilidad de error para señales en awgn parte 1
Lecture 16 probabilidad de error para señales en awgn parte 1Lecture 16 probabilidad de error para señales en awgn parte 1
Lecture 16 probabilidad de error para señales en awgn parte 1nica2009
 
Analisis de señales discretas en t
Analisis de señales discretas en tAnalisis de señales discretas en t
Analisis de señales discretas en tkinetic15
 
Estudio de regiones activas solares a través de técnicas de diversidad de fase
Estudio de regiones activas solares a través de técnicas de diversidad de faseEstudio de regiones activas solares a través de técnicas de diversidad de fase
Estudio de regiones activas solares a través de técnicas de diversidad de faseastrosanti
 
Tippens fisica 7e_diapositivas_33
Tippens fisica 7e_diapositivas_33Tippens fisica 7e_diapositivas_33
Tippens fisica 7e_diapositivas_33Robert
 
Lecture 12 representación espacial de señales
Lecture 12 representación espacial de señalesLecture 12 representación espacial de señales
Lecture 12 representación espacial de señalesnica2009
 
3er parcial Biocontroladores
3er parcial Biocontroladores3er parcial Biocontroladores
3er parcial BiocontroladoresMariannN1
 

La actualidad más candente (12)

3eval exfinal fis2_bach
3eval exfinal fis2_bach3eval exfinal fis2_bach
3eval exfinal fis2_bach
 
Fisica atomica
Fisica atomicaFisica atomica
Fisica atomica
 
Placa zonales
Placa zonalesPlaca zonales
Placa zonales
 
Lecture 16 probabilidad de error para señales en awgn parte 1
Lecture 16 probabilidad de error para señales en awgn parte 1Lecture 16 probabilidad de error para señales en awgn parte 1
Lecture 16 probabilidad de error para señales en awgn parte 1
 
Analisis de señales discretas en t
Analisis de señales discretas en tAnalisis de señales discretas en t
Analisis de señales discretas en t
 
Problemasresuetos
ProblemasresuetosProblemasresuetos
Problemasresuetos
 
Transformada z
Transformada zTransformada z
Transformada z
 
Estudio de regiones activas solares a través de técnicas de diversidad de fase
Estudio de regiones activas solares a través de técnicas de diversidad de faseEstudio de regiones activas solares a través de técnicas de diversidad de fase
Estudio de regiones activas solares a través de técnicas de diversidad de fase
 
Tippens fisica 7e_diapositivas_33
Tippens fisica 7e_diapositivas_33Tippens fisica 7e_diapositivas_33
Tippens fisica 7e_diapositivas_33
 
Proyecto de 1016
Proyecto de 1016Proyecto de 1016
Proyecto de 1016
 
Lecture 12 representación espacial de señales
Lecture 12 representación espacial de señalesLecture 12 representación espacial de señales
Lecture 12 representación espacial de señales
 
3er parcial Biocontroladores
3er parcial Biocontroladores3er parcial Biocontroladores
3er parcial Biocontroladores
 

Destacado

Destacado (6)

Los niños de nadie
Los niños de nadieLos niños de nadie
Los niños de nadie
 
Portafolio Futura2
Portafolio Futura2Portafolio Futura2
Portafolio Futura2
 
Sistema nervioso
Sistema nerviosoSistema nervioso
Sistema nervioso
 
Trabajo3
Trabajo3Trabajo3
Trabajo3
 
Corritos
CorritosCorritos
Corritos
 
Presentacion slideshare
Presentacion slidesharePresentacion slideshare
Presentacion slideshare
 

Similar a Cáusticas

Óptica Geometrica
Óptica GeometricaÓptica Geometrica
Óptica GeometricaJessyLopez16
 
Lecture 6 analisis radioprop p4
Lecture 6 analisis radioprop   p4Lecture 6 analisis radioprop   p4
Lecture 6 analisis radioprop p4nica2009
 
Informe de disfraccion modificado
Informe de disfraccion modificadoInforme de disfraccion modificado
Informe de disfraccion modificadoEduardo Mera
 
Utp ia_2014-2_s10_redes de funciones de base radial
 Utp ia_2014-2_s10_redes de funciones de base radial Utp ia_2014-2_s10_redes de funciones de base radial
Utp ia_2014-2_s10_redes de funciones de base radialjcbp_peru
 
S13 - Procesamiento digital de imágenes y visión artificial.pptx-1.pdf
S13 - Procesamiento digital de imágenes y visión artificial.pptx-1.pdfS13 - Procesamiento digital de imágenes y visión artificial.pptx-1.pdf
S13 - Procesamiento digital de imágenes y visión artificial.pptx-1.pdfEddyBerlyFloresMejia
 
MatCledPresentacion
MatCledPresentacionMatCledPresentacion
MatCledPresentacionUCI
 
peliculas delgadas por spin coating
peliculas delgadas por spin coatingpeliculas delgadas por spin coating
peliculas delgadas por spin coatingguestf4623a
 
Analisis cuantitativo por absorción de la radiación 2
Analisis cuantitativo por       absorción de la radiación 2Analisis cuantitativo por       absorción de la radiación 2
Analisis cuantitativo por absorción de la radiación 2Facundo Carbajal
 
Espectrometria e mera
Espectrometria e meraEspectrometria e mera
Espectrometria e meraEduardo Mera
 
Manual Erdas imagine 2011
Manual Erdas imagine 2011Manual Erdas imagine 2011
Manual Erdas imagine 2011Karina Jara
 

Similar a Cáusticas (20)

Óptica Geometrica
Óptica GeometricaÓptica Geometrica
Óptica Geometrica
 
Lecture 6 analisis radioprop p4
Lecture 6 analisis radioprop   p4Lecture 6 analisis radioprop   p4
Lecture 6 analisis radioprop p4
 
elem_finitos
elem_finitoselem_finitos
elem_finitos
 
Sm 001 sar_course_content
Sm 001 sar_course_contentSm 001 sar_course_content
Sm 001 sar_course_content
 
Informe de disfraccion modificado
Informe de disfraccion modificadoInforme de disfraccion modificado
Informe de disfraccion modificado
 
Utp ia_2014-2_s10_redes de funciones de base radial
 Utp ia_2014-2_s10_redes de funciones de base radial Utp ia_2014-2_s10_redes de funciones de base radial
Utp ia_2014-2_s10_redes de funciones de base radial
 
Taller 3 MATLAB
Taller 3 MATLABTaller 3 MATLAB
Taller 3 MATLAB
 
Proyecto parcial II
Proyecto parcial IIProyecto parcial II
Proyecto parcial II
 
S13 - Procesamiento digital de imágenes y visión artificial.pptx-1.pdf
S13 - Procesamiento digital de imágenes y visión artificial.pptx-1.pdfS13 - Procesamiento digital de imágenes y visión artificial.pptx-1.pdf
S13 - Procesamiento digital de imágenes y visión artificial.pptx-1.pdf
 
MatCledPresentacion
MatCledPresentacionMatCledPresentacion
MatCledPresentacion
 
peliculas delgadas por spin coating
peliculas delgadas por spin coatingpeliculas delgadas por spin coating
peliculas delgadas por spin coating
 
Fotointerpretación
FotointerpretaciónFotointerpretación
Fotointerpretación
 
Occ d 4_physi_inf_1402_1_s
Occ d 4_physi_inf_1402_1_sOcc d 4_physi_inf_1402_1_s
Occ d 4_physi_inf_1402_1_s
 
Metodos topograficos
Metodos topograficosMetodos topograficos
Metodos topograficos
 
practica analisis instrumental.docx
practica analisis instrumental.docxpractica analisis instrumental.docx
practica analisis instrumental.docx
 
Ecuación de la circunferncia
Ecuación de la circunfernciaEcuación de la circunferncia
Ecuación de la circunferncia
 
Fi152 T1
Fi152 T1Fi152 T1
Fi152 T1
 
Analisis cuantitativo por absorción de la radiación 2
Analisis cuantitativo por       absorción de la radiación 2Analisis cuantitativo por       absorción de la radiación 2
Analisis cuantitativo por absorción de la radiación 2
 
Espectrometria e mera
Espectrometria e meraEspectrometria e mera
Espectrometria e mera
 
Manual Erdas imagine 2011
Manual Erdas imagine 2011Manual Erdas imagine 2011
Manual Erdas imagine 2011
 

Último

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 

Último (10)

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 

Cáusticas

  • 1. Simulación de Cáusticas en POV-Ray ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA INGENIERO EN INFORMÁTICA Realizado por JUAN JOSÉ DOMÍNGUEZ DUARTE Dirgido por FRANCISCO VILLATORO MACHUCA UNIVERSIDAD DE MÁLAGA MÁLAGA, Marzo de 2005
  • 2. Contenido ➲ I. OBJETIVO ● 1. ¿Qué es una cáustica? ● 2. Los trazadores de rayos ➲ II. ALGORITMO ● 3. Ideas claves ● 4. El Principio de Fermat ● 5. Propagación de frentes de ondas ➲ III. IMPLEMENTACIÓN ● 6. DKB-Trace y POV-Ray ● 7. El método de Newton: ● 8. “Punto medio” ● 9. Octree ● 10. Extrapolación y cache ● 11. Cache y lista enlazada ● 12. Propagación de frente de ondas ● 13. Mapeado de tonos ➲ IV. RESULTADOS ● 14. Comparación de Métodos de Newton ● Ejemplo 1: Esfera ● 15. Iluminación indirecta ● 16. Frente de ondas ● 17. Sólo iluminación indirecta ● Ejemplo 2: Cuártica ● 18. Iluminación indirecta ● 19. Frente de ondas ● 20. Sólo iluminación indirecta ➲ V. CONCLUSIONES ● 21. Conclusiones finales ● 22. Líneas futuras de trabajo
  • 3. ¿Qué es una cáustica? 1/22 cáustica (Del lat. caustĭcus, y este del gr.καυστικ ς, der. de κα ειν, quemar).ό ί 1. f. Fís. Superficie tangente a los rayos reflejados o refractados por un sistema. Una cáustica se produce cuando un haz de fotones se acumula en un punto. En la imagen de la izquierda se observa una cáustica en la parte de sombra de la copa causada por la refracción de los fotones que atraviesan la copa.
  • 4. Los trazadores de rayos 2/22 ➲ El trazado de rayos es un algoritmo que genera imágenes fotorrealistas trazando rayos desde el punto de vista elegido hacia los objetos y fuentes luminosas que forman la escena. ➲ No tiene en cuenta el efecto de todos los fotones que siguen caminos indirectos (reflejándose o refractándose en otros objetos antes de alcanzar el punto de vista). OBJETIVO DEL PFC La simulación de cáusticas mediante la incorporación de la iluminación indirecta a un trazador de rayos
  • 5. Conceptos fundamentales 3/22 ➲ Artículo de Don Mitchell y Pat Hanrahan de 1992. Illumination from Curved Reflectors. ¿Qué necesitamos conocer de un rayo indirecto? El camino que ha seguido La intensidad luminosa que viaja a través de él Principio de Fermat Propagación del Frente de ondas del rayo (Conservación de la energía)
  • 6. El Principio de Fermat 4/22 Longitud del camino óptico con un rebote: Que de forma general, nos lleva a plantear el siguiente sistema de ecuaciones: La luz viaja a lo largo de caminos ópticos de longitud óptica estacionaria, donde la longitud del camino óptico es un máximo o un mínimo con respecto a una pequeña variación del mismo.
  • 7. Propagación de frente de ondas 5/22 ➲ El mismo flujo de radiación lumínica atraviesa dA y dA'. ➲ Por la ley de la conservación de la energía: ➲ De donde se deduce que: ➲ O lo que es lo mismo: La intensidad luminosa que viaja a lo largo de un rayo es proporcional a la curvatura gausiana de su frente de ondas.
  • 8. DKB-Trace y POV-Ray 6/22 ➲ POV-Ray (Persistence of Vision Raytracer) ● Es un trazador de rayos freeware muy popular. ● La versión 1.0 se lanzó, en 1989 y la última versión oficial (3.6.1) en Agosto de 2004. ➲ DKB-Trace (David Kirk Buck Tracer) ● Es el trazador de rayos precursor de POV-Ray. ● La versión 2.12 fue la última (1989), antes de que se le cambiara el nombre. ● Características avanzadas: ● Aunque escrito en C, sigue diseño orientado a objetos. ● Contiene un parser que reconoce un lenguaje para la descripción de escenas. ● Primitivas para superficies de cuarto grado. ● Permite definir objetos CSG (Constructive Solid Geometry).
  • 9. El método de Newton-Raphson 7/22 ➲ Es el método utilizado para resolver el sistema de ecuaciones planteado por el Principio de Fermat. ➲ OBJETIVO: Maximizar el porcentaje de caminos indirectos que realmente son encontrados respecto de los que se quieren determinar. ➲ CÓMO: ● Utilizando diferentes implementaciones del método: ● 1ª IMPLEMENTCIÓN: libro Métodos Numéricos con Matlab. ● 2ª IMPLEMENTACIÓN: libro Numerical Recipes in C. ● 3ª IMPLEMENTACIÓN: método de convergencia global del libro Numerical Recipes in C. ● Utilizando diferentes estrategias para la elección de la aproximación inicial a la solución del sistema.
  • 10. Estrategia: Punto Medio 8/22 ➲ Determina el punto medio de la fuente luminosa y el punto de la escena destino. ➲ Traza un rayo desde ese punto al centro del objeto que genera iluminación indirecta, para determinar el valor inicial X. ➲ Complejidad constante.
  • 11. Estrategia: Octree 9/22 ➲ Octree: árbol que indexa 3 dimensiones, de forma que cada nodo tiene 8 hijos o ninguno. ➲ Cada par (fuente luminosa,objeto) tiene asociado un octree. ➲ Se va llenando la estructura con los puntos destino y sus correspondientes soluciones X. ➲ Para cada punto destino, se elige la X del punto destino más cercano de la rama recorrida. ➲ Complejidad logarítmica.
  • 12. Estrategia: Extrapolación 10/22 ➲ Utiliza una cache para cada par (objeto,fuente luminosa) donde almacena los puntos destino y soluciones X para los 3 últimos píxeles trazados. ➲ La próxima solución, X, se extrapola utilizando una expresión derivada del polinomio de Lagrange de grado 2. ➲ Complejidad constante.
  • 13. Estrategias: cache y lista enlazada 11/22 ➲ Cache ● Para cada par (objeto,fuente luminosa) guarda los últimos 4 puntos destino calculados y las soluciones X asociadas. ● Complejidad constante. ➲ Lista enlazada de puntos del objeto ● Para cada objeto se crea una lista enlazada con los puntos de la superficie del objeto y sus vectores normales. ● Se elige como solución X el punto que minimice ● Complejidad lineal respecto al tamaño de la lista.
  • 14. Implementación de frente de ondas 12/22 ➲ Se ha añadido a DKB-Trace una nueva clase Wavefront para guardar la curvatura gaussiana del frente de ondas asociado al rayo conforme este interactúa con los objetos de la escena. ➲ Se ha añadido el método Shape() a la clase Object, que calcula la curvatura del objeto en un punto y dirección dados. ➲ La intensidad luminosa asociada a un punto por donde pasa un rayo se calcula como:
  • 15. Mapeado de tonos 13/22 ➲ La mayoría de los frentes de ondas en las escenas son esféricos o convexos. ➲ Como consecuencia, los valores finalmente asignados a los píxeles de la imagen son de magnitud muy pequeña. Solución: ➲ Escalar los valores de los píxeles al rango adecuado [0,1]. ➲ Determinar el valor clave de la escena (log-average luminance) y mapear los valores utilizando un operador como: Imagen sin mapeado de tono Imagen con mapeado de tono y valor clave α=0,05.
  • 16. Comparación de estrategias 14/22 Datos obtenidos para una escena con una cuártica y una fuente luminosa cercana (tamaño 200x150 píxeles)
  • 17. Ejemplo 1: Esfera con iluminación 15/22 indirecta Sin iluminación indirecta Con iluminación indirecta (opción +G del trazador activada)
  • 18. Ejemplo 1: Esfera con propagación 16/22 de frente de ondas Con iluminación indirecta (opciones +G +U del trazador activada) Sin iluminación indirecta (opción +U del trazador activada)
  • 19. Ejemplo 1: Esfera sólo iluminación 17/22 indirecta Iluminación indirecta causada por una esfera vista desde arriba (opciones +u +R +t0.04 del trazador). Como se trata de una supeficie convexa, no produce cáusticas.
  • 20. Ejemplo 2: Cuártica con iluminación 18/22 indirecta Sin iluminación indirecta Con iluminación indirecta (opción +G activada)
  • 21. Ejemplo 2: Cuártica con propagación 19/22 de frente de ondas Sin iluminación indirecta (opciones +U +T activadas) Con iluminación indirecta (opciones +G +U +T activadas)
  • 22. Ejemplo 2: Cuártica sólo iluminación 20/22 indirecta Iluminación indirecta causada por una cuártica vista desde arriba (opciones +U+R +T0.03 del trazador). Como se trata de una supeficie con regiones cóncavas, produce cáusticas.
  • 23. Conclusiones finales 21/22 ➲ La técnica propuesta por Don Mitchell y Pat Hanrahan en su artículo de 1992 Illumination from Curved Reflector se puede implementar en un trazador “popular” como es DKB-Trace. ➲ Es una técnica costosa: ● Resolver sistema de ecuaciones no lineales por cada camino indirecto. ● Evaluar el operador Shape en cada reflexión (o refracción). ➲ En su implementación, es necesario tener presente las posibles inconsistencias: ● No convergencia. ● Combinanción de propagación de frente de ondas con otros modelos de iluminación.
  • 24. Líneas futuras de trabajo 22/22 ➲ Para mejorar la eficiencia: ● Implementaciones específicas del método resultor para cada primitiva. ● Nuevas estrategias para elegir la aproximación inicial. ➲ Para mejorar la consistencia: ● Implementar métodos resultores que aseguren convergencia. ● Utilizar filtros que disimulen los efectos de la no convergencia. ➲ Para añadir funcionalidad: ● Simulación de caminos indirectos con más de un rebote. ● Objetos CSG (Constructive Solid Geometry) con iluminación indirecta.