Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Antecedentes
Captulo 1. Antecedentes
1.1 Introduccin
La Graficacin por Computadora es una de las reas ms interesantes de las Ciencias de la
Computacin y su principal objetivo es establecer los principios, tcnicas y algoritmos para
la generacin y manipulacin de imgenes mediante una computadora. Dichas imgenes
pueden ser de distinta complejidad, desde imgenes en dos dimensiones hasta modelos
tridimensionales donde se requiere producir imgenes de aspecto real. De esta manera, la
graficacin por computadora permite establecer una interaccin especial entre el hombre y la
computadora.
El viejo adagio de que una imagen vale ms que mil palabras es tan cierto en
nuestros das como lo era hace 100 aos, por ello no debe sorprendernos que desde que las
computadoras aparecieran se haya intentado producir imgenes que pudieran verse a travs
de sus pantallas. A lo largo de ms de cuarenta aos de evolucin de los componentes
electrnicos digitales y dems dispositivos computacionales, la habilidad de generar
imgenes por computadora tambin se ha incrementado. Se ha llegado a un punto tal, que
hoy no podemos concebir una computadora, por muy sencilla y modesta que sea, sin alguna
capacidad grfica [1].
En la actualidad las computadoras son una herramienta eficaz en cuanto a graficacin
y creacin de imgenes ya que pueden hacerlo de manera sencilla, rpida y econmica. Es
casi imposible encontrar un ambiente en donde no se requiera implementar o ya se haya
implementado alguna tcnica o algoritmo de graficacin. Por ello nos topamos con el hecho
de que las grficas por computadora se han convertido en un elemento cotidiano en diversas
reas tales como la industria, arte, televisin, gobierno, educacin, publicidad, ciencia,
ingeniera,... cuya finalidad va desde entretenernos hasta capacitarnos.
Pero para entender cmo es que la Graficacin ha llegado a ser una rama tan
fascinante es necesario hacer un breve recorrido a travs del tiempo presentando su origen, y
-7-
Captulo 1. Antecedentes
desarrollo histrico hasta llegar al auge que se vive hoy en da. El objetivo de este primer
captulo es que al final el lector tenga una nocin clara de esta disciplina vanguardista, que
perciba la situacin actual y la importancia del ramo de la sntesis de imgenes, as como la
motivacin de este proyecto de tesis.
Captulo 1. Antecedentes
DVST (Tubo Adaptador de Visin Directa), tambin conocido como tubo de
almacenamiento o tubo de memoria. En l, la informacin grfica se enva de una sola vez y
se muestra permanentemente en pantalla, siendo la imagen enviada de tipo vectorial (Stroke
Writing), es decir, dibujando vectores continuos en lnea recta entre dos puntos de la pantalla
o VDU (Visual Display Unit).
Este tipo de representaciones se caracteriz por la excelente calidad grfica de sus
lneas. Aunque fue abandonado rpidamente debido a las numerosas insuficiencias que
presentaban, entre ellas: su alto costo computacional, la incapacidad de editar elementos y
detalles del dibujo, el no permitir la visualizacin de animaciones ni de imgenes en color,
as como su ineficacia en el relleno de un rea de dibujo [3].
Para lograr realizar las tareas no permitidas al trabajar con los DVST, se desarroll la
segunda tcnica que empleaba los llamados tubos de refresco (Refresh Tube). En dichos
tubos se regenera la imagen cada determinado periodo de tiempo (por lo general en
fracciones de segundo) bajo el control del CPU, permitiendo as editar partes seleccionadas
de un dibujo o la realizacin de secuencias animadas.
Los primeros tubos de refresco generaban las imgenes utilizando todava
representaciones vectoriales, que seguan imponiendo dificultades a la hora de crear reas de
dibujo rellenas, teniendo por otro lado tendencia a parpadear, es decir, a producir sensacin
visual de discontinuidad en la representacin de la imagen. Es por ello que en la actualidad se
ha impuesto como estndar el tubo de refresco que utiliza una trama o raster como soporte
para generar imgenes.
Empleando este tipo de tubo la pantalla se divide en miles o millones de pxeles que
son o no iluminados en cada barrido de la imagen siguiendo la informacin enviada por el
CPU. En las VDU de tipo raster, la calidad de la lnea depende evidentemente del nmero de
pxeles por unidad de superficie, producindose en mayor o menor medida un efecto de
escalonado de las lneas oblicuas representadas.
-9-
Captulo 1. Antecedentes
- 10 -
Captulo 1. Antecedentes
Pero adems Sutherland es conocido y venerado mundialmente como padre del
Diseo Asistido por Computadora (CAD) que actualmente se utiliza de forma rutinaria en el
diseo de construcciones, automviles, aeronaves, embarcaciones, naves espaciales,
computadoras, telas y muchos productos. Tambin a este personaje se le debe la tcnica de
las lneas ocultas, tan empleada hoy en da, la cual, como su nombre lo indica, se encarga de
no mostrar en pantalla (temporalmente) lneas que deben estar ocultas tras otros objetos de la
misma escena.
Pero el ao decisivo para los sistemas grficos fue 1980. A partir de esa fecha los
sistemas grficos, que hasta entonces haban sido del dominio exclusivo de cientficos,
matemticos e ingenieros, comenzaron a ser usados en televisin y estudios de animacin,
producindose un espectacular avance en las ventas de estos equipos. A finales de 1979, IBM
lanz su terminal en color 3279. Nueve meses ms tarde haba recibido ms de 10.000
pedidos, dos tercios de los cuales iban destinados a personas o entidades que utilizaban por
primera vez una computadora para la realizacin de tareas grficas.
De la misma manera, este xito de los sistemas grficos, se pone de manifiesto a
travs de la creacin de asociaciones y la celebracin de congresos. La ACM (Association
for Computing Machinery) cre lo que se denominara Grupo de Inters Especial en
Aplicaciones Grficas. En 1976, este grupo, conocido por sus siglas en ingls, como
Siggraph (Special Interest Group on Graphics) celebrara por primera vez su congreso anual.
A partir de entonces los congresos anuales del Siggraph han sido el foro acadmico ms
importante en este tema, impartindose en ellos ms de 14 cursos simultneos contando con
una asistencia bastante considerable.
Desde 1980 hasta nuestros das ha tenido lugar un rpido desarrollo en el entorno de
los microprocesadores consiguiendo un considerable aumento de velocidad y memoria tanto
en estaciones de trabajo como en computadoras personales, los precios se han vuelto
accesibles, incluso para la economa domstica. Paralelamente a esta circunstancia se nos ha
venido encima una avalancha en la comercializacin de programas de CAD y de Graficacin
en general cada vez ms abiertos y sofisticados.
- 11 -
Captulo 1. Antecedentes
- 12 -
Captulo 1. Antecedentes
La otra la constituye lo que se conoce como Realidad Virtual, es decir, la creacin
de mundos a travs de los cuales el operador puede moverse, teniendo una
experiencia visual, auditiva y tctil reales.
La realidad virtual busca resaltar la percepcin de los sentidos hasta conseguir que el
usuario deje de ser espectador y se convierta en actor del nuevo espacio creado, esto se
consigue actuando sobre la vista, el odo y el tacto. Todo sistema de realidad virtual requiere
un diseo del entorno (grfico, dinmico, interactivo, en tiempo real) y diversos perifricos
encargados de conseguir la inmersin y la interaccin con el mismo (visualizacin,
comunicacin, seguimiento y desplazamiento) [5].
Relacionadas a la segunda lnea de investigacin se encuentran las imgenes
consideradas como foto-realistas ya que presentan un aspecto similar al de una fotografa.
stas son aquellas basadas en el uso de las tcnicas de Radiosidad (Radiosity) y Trazado de
Rayos (Ray Tracing), tcnica central de esta tesis. As pues, se tienen dos opciones paralelas
hacia dnde encaminar las investigaciones:
A. La necesidad de obtencin de imgenes realistas sin importar el tiempo de creacin.
B. La necesidad de obtencin de imgenes interactivas en tiempo real sin importar la
calidad de dicha imagen.
Es importante aclarar que a pesar de que los mtodos empleados en las grficas por
computadora y en el procesamiento de imgenes se traslapan, las dos reas realizan, en forma
fundamental, operaciones distintas. En las grficas por computadora, se utiliza una
computadora para crear una imagen, (el presente proyecto queda incluido en esta rea);
mientras que en el procesamiento de imgenes se aplican tcnicas para modificar o
interpretar imgenes existentes.
Respecto de las Tcnicas de Visualizacin existen varios mtodos de representacin
de escenas tridimensionales, pero no todos ellos producen el mismo resultado. La diferencia
radica en la forma de manejar los efectos de la luz en los ambientes, y por tanto en la
- 13 -
Captulo 1. Antecedentes
generacin o no de sombras tanto arrojadas como propias, los brillos de los diferentes
materiales que intervienen en la escena, y como consecuencia el tiempo de clculo necesario
para completar una escena.
Bsicamente existen dos Modelos de Iluminacin: Modelo de Iluminacin Local
(MIL) y Modelo de Iluminacin Global (MIG). El primero, al que pertenece el popular
"Phong", tiene en cuenta solamente la posicin de las fuentes de luz y la direccin de
visualizacin de la superficie. Al segundo pertenece: el Ray Tracing que permite obtener
imgenes muy realistas por tener en cuenta los fenmenos fsicos de la luz. Tambin a este
modelo pertenece el mtodo de Radiosidad que es capaz de modelar la inter-reflexin de la
luz entre superficies difusas y generar espectaculares efectos tales como luz reflejada por una
superficie coloreada y sombras en penumbra [6].
- 14 -
Captulo 1. Antecedentes
1.4 Motivacin
En la actualidad se ha dado un notable crecimiento dentro del entorno Grfico
Computacional, por doquier podemos percatarnos del empleo de aplicaciones de cmputo
como Maya, 3D Studio MAX o DirectX, por nombrar algunas, tanto para crear un agente
amigable como toda una obra cinematogrfica. Los mtodos de grficos por computadora se
utilizan en forma generalizada, por lo que en la actualidad encontramos una amplia gama de
aplicaciones en las que los usuarios utilizan infinidad de mtodos computacionales
(software). Se aprovecha as, el gran avance tecnolgico que ha experimentado el hardware
para poder cumplir con propsitos especiales como producir pelculas, programas de
televisin, sistemas especiales para personas discapacitadas, modelos de sistemas
fisiolgicos, financieros, poblacionales, etc. Inclusive, aparecen nuevas versiones antes de
aprender a manipular correctamente las disponibles.
Tal fenmeno se debe en gran medida a los avances tecnolgicos en materia de
hardware. Lo que ha dado como resultado el desarrollo de procesadores cada vez ms
veloces, tarjetas de video y monitores de alta resolucin as como de discos duros con gran
capacidad para el almacenamiento de datos, todo con un valor adquisitivo relativamente bajo.
Por todo lo anterior, hoy en da es muy comn que se retomen algunas tcnicas
alusivas a la creacin de grficos por computadora que en dcadas anteriores eran desechadas
por considerar su implementacin poco factible y en otros casos hasta imposible, debido a las
limitantes que presentaban los equipos de cmputo. Es en esta categora de "algoritmos
olvidados" que se encuentra el mtodo conocido como Ray Tracing (RT), que originalmente
fue creado dcadas atrs, pero es ahora cuando se le emplea ms regularmente para la
implementacin de diversas aplicaciones.
El mtodo RT se ha convertido en una de las tcnicas ms populares de este entorno,
por el hecho de ser una eficiente y poderosa herramienta en cuanto a sntesis de imgenes [8].
El algoritmo RT se utiliza con frecuencia en escenas 3D, por la cualidad de obtener imgenes
de gran calidad, aunque para lograrlo precisa de un elevado tiempo de procesamiento. Esto
- 15 -
Captulo 1. Antecedentes
nos recuerda la necesidad de obtener imgenes realistas sin importar el tiempo de creacin,
mencionada anteriormente, para la cual se trabaja en mejorar las tcnicas de representacin,
ya que algunos mtodos como Ray Tracing an no son totalmente satisfactorios. Para
solucionar y aminorar las carencias de stas y otras tcnicas se han desarrollado Tcnicas
Hbridas, Tcnicas de Aceleracin, etc.
De lo anterior surge la necesidad de realizar este proyecto de tesis que presenta el
desarrollo de una aplicacin robusta y eficiente con la cual ser posible generar imgenes
"foto-realistas", es decir, sintetizar grficos por computadora con una muy alta resolucin.
Esto mediante la implementacin del mtodo para la sntesis de imgenes conocido como
Ray Tracing, el cual se basa en el trazo de rayos a partir de una fuente de luz, para despus
analizar el comportamiento de los mismos a lo largo de su trayectoria, (definicin que ser
ampliada en el siguiente captulo). Lo anterior implica un diestro manejo de dicha tcnica.
En la versin original de este algoritmo [9] se propone analizar, para cada uno de los
rayos, sus intersecciones con todos los objetos de la escena. Esta primera versin implica, por
tanto, un elevado costo computacional y requiere nuevas propuestas que consigan su
aceleracin. Por lo tanto, es importante implementar (en medida de lo posible) algunas
tcnicas de aceleracin del proceso, con la finalidad de optimizar el tiempo en que se generen
las imgenes.
1.5 Organizacin
La estructura de este documento est organizada en cinco captulos, dos apndices y
un apartado de referencias bibliogrficas. Adems de este primer captulo, que expone a
manera de introduccin los antecedentes de la Graficacin por Computadora, especialmente
del rea de Sntesis de Imgenes, as como la motivacin del proyecto, la descripcin del
resto de los captulos y apndices es la siguiente:
Captulo 2. Ray Tracing .- Este captulo presenta el marco terico entorno a la tcnica
que es pilar del proyecto: Ray Tracing. Adems de enunciar definiciones de diversos autores
- 16 -
Captulo 1. Antecedentes
se detalla el funcionamiento de la tcnica. Tambin se introducen someramente algunos otros
algoritmos de sntesis de imgenes para dar al lector oportunidad de formular comparaciones
propias.
Captulo 3. Modelo Conceptual de JCRayTracer .- Este apartado est dedicado a
introducir y explicar los aspectos terico-prcticos que deben considerarse para la realizacin
de una aplicacin de tipo Ray Tracer. Es necesario mencionar que los conceptos que aqu se
presentan son aquellos que se emplearon para este proyecto de tesis, pero existen muchos
otros igual de atractivos y funcionales.
Captulo 4. Gestin de JCRayTracer .- Se muestra el anlisis del proyecto, incluyendo
el propsito u objetivo primordial del producto, sus requerimientos y restricciones y los
principales riesgos. Tambin se incluye la etapa del diseo conceptual del sistema
desarrollado. En donde se presenta la arquitectura empleada los posibles casos de uso y el
modelado correspondiente. En cuanto a la implementacin se presentan algunas de
soluciones prcticas que dieron a lo largo del proceso de programacin, as como los recursos
disponibles para su realizacin y ejemplos de sistema desarrollado.
Captulo 5. Resultados y Conclusiones.- Este captulo presenta los resultados
obtenidos al implementar el algoritmo RT. Tambin enuncia algunas opciones de trabajo a
futuro y finalmente se dan las conclusiones del proyecto.
Apndice A. Manual de Usuario .- Esta seccin se encarga de ayudar al usuario para
facilitarle el manejo de la herramienta desarrollada. Entre otros aspectos se describen las
caractersticas de la interfaz, la estructura necesaria de los archivos de entrada y las funciones
que se pueden realizar con el sistema.
Apndice B. Coleccin de Escenas .- Exhibe una pequea coleccin de imgenes
generadas con la herramienta JCRayTracer.
- 17 -