Ecuación de representación: ¿por qué no se puede resolver directamente?

9

¿Por qué la ecuación de representación, introducida por Kajiya en 1986, no se puede resolver directamente / analíticamente?

Blongphong
fuente
55
Buena pregunta, sin esfuerzo de investigación.
ivokabel
¿Cuánto sabes sobre ecuaciones integrales en general? ¿Estás preguntando por una solución analítica?
galois

Respuestas:

16

Lamentablemente, no puedo agregar un comentario a la respuesta anterior (no hay suficiente reputación), así que lo haré así.

Me gustaría señalar que lo que describe Dragonseel es simplemente una ecuación integral (específicamente una ecuación de Fredholm del segundo tipo). Hay muchas ecuaciones de este tipo que tienen una solución analítica; incluso algunas formas de la ecuación de representación tienen una (por ejemplo, la solución de un horno blanco se puede dar usando una serie geométrica convergente simple, aunque la ecuación de representación sea infinitamente recursiva).

Tampoco es necesario sesgar la solución estimada al limitar el número de recursiones. Russian Roulette proporciona una herramienta útil para darnos una solución imparcial para una ecuación de representación infinitamente recursiva.

La principal dificultad radica en el hecho de que las funciones de reflectancia (BRDF), radiación emitida y visibilidad son muy complejas y a menudo contienen muchas discontinuidades. En estos casos, a menudo no existe una solución analítica, o simplemente es inviable encontrar dicha solución. Esto también es cierto en el caso unidimensional; La mayoría de las integrales carecen de soluciones analíticas.

Finalmente, me gustaría señalar que, aunque la mayoría de los casos de la ecuación de representación no tienen soluciones analíticas, se está investigando mucho sobre las formas de la ecuación de representación que sí tienen una solución analítica. El uso de tales soluciones (como aproximaciones) cuando sea posible puede reducir significativamente el ruido y acelerar los tiempos de renderizado.

Tom van Bussel
fuente
13

La ecuación de representación es la siguiente:

ingrese la descripción de la imagen aquí

Ahora, la integral está sobre la esfera alrededor del punto x. Se integra sobre una luz atenuada, entrante desde todas las direcciones.

¿Pero cuánta luz entra? Esta es la luzL(x,ωi) que algún otro punto x refleja en la dirección ωi de punto x.

Ahora tienes que calcular cuánta luz ese nuevo punto xrefleja, lo que requiere resolver la ecuación de representación para ese punto. Y la solución para ese punto depende de una gran cantidad de otros puntos, incluidosx.

En resumen, la ecuación de representación es infinitamente recursiva.

No puede resolverlo de manera exacta y analítica porque tiene integrales infinitas sobre dominios de integración infinitos.

Pero como la luz se debilita cada vez que se refleja, en algún momento un humano simplemente ya no puede notar la diferencia. Por lo tanto, en realidad no resuelve la ecuación de representación, sino que limita el número de recursiones (digamos reflexiones) a algo que está "lo suficientemente cerca".

Dragonseel
fuente
1
Bueno, probablemente podrías resolver la ecuación de renderizado para un punto analíticamente si tuvieras una escena estúpidamente simple. Y posiblemente podría obtener una solución analítica para toda la imagen proyectada si su escena es aún más simple que eso. Pero eso sería inútil ... :)
joojaa
3
La escena debería ser realmente simple como un solo objeto plano. Dado que existe la integración de toda la esfera, incluso si hay dos puntos que pueden verse entre sí, la ecuación de representación se vuelve infinita. Cada punto incluye al otro en el dominio de integración. así que solo un reflector único que no puede reflejarse en sí mismo. entonces podrías resolverlo. Entonces simplemente no habría efectos de iluminación global, por lo que se reduce a la iluminación local. Y eso es solucionable.
Dragonseel
Sí, eso sería estúpidamente simple.
joojaa
2
@joojaa Según tengo entendido, no es que la ecuación de representación sea imposible de resolver en todos los casos, sino que, en cualquier momento, es solucionable, no tiene ningún uso práctico
galois
44
Para su información, la sintaxis de Mathjax funciona en este StackExchange, por lo que si coloca signos de $ alrededor de sus identificadores, se verán todos matemáticos.
Julien Guertault