Sei sulla pagina 1di 3

Trazado de rayos

Trazado de rayos
El raytracing o trazado de rayos es un algoritmo para sntesis de imgenes tridimensionales. Propuesto inicialmente por Turner Whitted en 1980, est basado en el algoritmo de determinacin de superficies visibles de Arthur Appel denominado Ray Casting (1968). En el algoritmo Ray Casting se determinan las superficies visibles en la escena que se quiere sintetizar trazando rayos desde el observador (cmara) hasta la escena a travs del plano de la imagen. Se calculan las intersecciones del rayo con los diferentes objetos de la escena y aquella interseccin que est ms cerca del observador determina cul es el objeto visible. El algoritmo de trazado de rayos extiende la idea de trazar los rayos para determinar las superficies visibles con un proceso de sombreado (clculo de la intensidad del pxel) que tiene en cuenta efectos globales de iluminacin como pueden ser reflexiones, refracciones o sombras arrojadas.

Tres esferas, reflejndose en el suelo y unas en otras.

Para simular los efectos de reflexin y refraccin se trazan rayos recursivamente desde el punto de interseccin que se est sombreando dependiendo de las caractersticas del material del objeto intersecado. Para simular las sombras arrojadas se lanzan rayos desde el punto de interseccin hasta las fuentes de luz. Estos rayos se conocen con el nombre de rayos de sombra (shadow rays). El algoritmo bsico de trazado de rayos fue mejorado por Robert Cook (1985) para simular otros efectos en las imgenes mediante el muestreo estocstico usando un mtodo de Montecarlo; entre estos efectos podemos citar el desenfoque por movimiento (blur motion), la profundidad de campo o el submuestreo para eliminar efectos de aliasing en la imagen resultante. En la actualidad, el algoritmo de trazado de rayos es la base de otros algoritmos ms complejos para sntesis de imgenes (mapeado de fotones, Metropolis, entre otros) que son capaces de simular efectos de iluminacin global complejos como la mezcla de colores (color blending) o las custicas.

Algoritmo de trazado de rayos


Para cada pixel de la imagen { Crear un rayo desde el punto de visin a travs del pixelActual Inicializar NearestT al INFINITO y NearestObject a NULL Para cada objeto de la escena { Si el rayo se interseca con el objetoActual{ Si t de la interseccin es menor que NearestT { Poner NearestT = t de la interseccin Poner NearestObject a objetoActual

Trazado de rayos } } } Si NearestObject = NULL{ Rellenamos pixelActual con el color de fondo } Sino{ Lanzar un rayo a cada foco de luz para comprobar las sombras Si la superficie es reflectiva, generar un rayo reflectivo (recursivo) Si la superficie es transparente, generar un rayo refractante (recursivo) Usar NearestObject y NearestT para computar la funcin de sombreado Rellenar este pixel con el color resultante de la funcin de sombreado } }

Fuentes y contribuyentes del artculo

Fuentes y contribuyentes del artculo


Trazado de rayos Fuente: http://es.wikipedia.org/w/index.php?oldid=56878626 Contribuyentes: Biasoli, Borja.munoz, Ca in, Daniel G., Filiprino, GermanX, Ggenellina, Individuo7, Ivan.Romero, JMPerez, Lasneyx, LeCire, LuchoX, Riviera, Sersanchus, Yrithinnd, 20 ediciones annimas

Fuentes de imagen, Licencias y contribuyentes


Archivo:3chromeballs.png Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:3chromeballs.png Licencia: Public Domain Contribuyentes: User Martinkb on en.wikipedia

Licencia
Creative Commons Attribution-Share Alike 3.0 Unported //creativecommons.org/licenses/by-sa/3.0/

Potrebbero piacerti anche