Академический Документы
Профессиональный Документы
Культура Документы
Y
Representacin de Pixel
Representacin Geomtrica
Por su parte, los archivos geomtricos guardan la informacin precisa de las formas grficas, a travs de un sistema de coordenadas cartesianas (X,Y). De este modo, cada figura se identifica por sus puntos extremos, y pueden ser representadas a cualquier escala o calidad de imagen (son independientes de la resolucin). Naturalmente, la definicin y manejo de las figuras geomtricas son ms complejas, pero permiten trabajar con dimensiones exactas e incluso con formas tridimensionales, porque basta con agregar un tercer eje de coordenadas (Z). Estos programas son denominados CAD (computer-aided design o diseo asistido por computador). Por ello ahora no es difcil encontrar diseos de construcciones, automviles, computadores y otros, realizados con programas CAD. La informacin grfica consiste en una base de datos numrica almacenada en el computador, que define cualquier tipo de forma o volumen. Para poder visualizarlos, es necesario interpretarlos y generar una imagen en la pantalla. Aunque la geometra sea tridimensional, se genera una vista plana de la informacin (planta o elevacin). Ocasionalmente esta vista rene varias caras de las formas (en una isomtrica o perspectiva) otorgando una representacin de la volumetra. Esta informacin es coherente, en el sentido que la alteracin de una parte de la geometra tridimensional, altera el conjunto, por tanto cada vista presentar la geometra modificada, asegurando la sensacin de manejar un modelo completo.
Parra Marquez, Juan Carlos; Garca Alvarado, Rodrigo; Santelices Malfanti, Ivn "Introduccin Prctica a la Realidad Virtual" Ediciones U. Bo-Bo, Concepcin, 2001
13
Parra Marquez, Juan Carlos; Garca Alvarado, Rodrigo; Santelices Malfanti, Ivn "Introduccin Prctica a la Realidad Virtual" Ediciones U. Bo-Bo, Concepcin, 2001
Cuando los diseos estn prcticamente completos, se aplican frmulas de iluminacin y presentacin de superficies para producir imgenes ms realistas. Estas propiedades son aplicadas con mayor o menor detalle de exactitud dependiendo de las exigencias requeridas. Otra potencialidad que se le ha adicionado a estos productos es la animacin, utilizada para diversos diseos. Las animaciones se utilizan, por ejemplo, para desplegar superfi-
cies de los objetos o escenarios completos. En los entornos de Realidad Virtual las animaciones se utilizan tambin para representar movimientos de los objetos, como los controles de un vehculo, y mediante dispositivos montados sobre la cabeza, obtener vistas estereoscpicas y recorridos. Otro aspecto importante dentro de la computacin grfica son los tipos de software, stos pueden ser clasificados en dos grandes grupos: paquetes generales de programacin y aplicaciones para propsitos especiales. En los primeros podemos reconocer las libreras de funciones grficas que se utilizan con un lenguaje de programacin de alto nivel, como el leguaje C. En el segundo grupo se pueden clasificar los productos diseados para personas que no son programadores, este es el caso de los CAD. De este modo, la computacin grfica se encuentra en diversos campos, que ya son parte de nuestra vida cotidiana, como el cine, diseo de edificios, prendas de vestir, avisos publicitarios, edicin de peridicos, revistas, textos de estudios, muebles, vehculos y juegos por computadoras en general.
14
planteado descripciones sobre la base de slidos, como la mencionada subdivisin de espacios, pero poseen mayor demanda de procesamiento computacional y representa una mayor sofisticacin del producto. De este modo la descripcin de una geometra tridimensional en el computador se realiza, generalmente, segn los polgonos externos de las formas, localizados en un espacio determinado por tres ejes cartesianos, que representan el espacio, con cierta magnitud general (tamao del universo) y precisin (medidas). Puede ser representado en distintas escalas (proporcionando las dimensiones computacionales con las medidas de salida en pantalla o impresora), pero en las aplicaciones de Realidad Virtual se utilizan bsicamente vistas interiores, sin escala definida, trabajando de manera absoluta (1:1). En estas descripciones grficas las posiciones de cada punto (que constituyen vrtices de una forma geomtrica) se identifican por sus coordenadas (X, Y, Z).
Y
(x, y, z)
En los inicios de la computacin grfica las descripciones geomtricas se estructuraban slo en puntos o lneas con direccin (vectores), pero actualmente la mayora de los programas de CAD y Realidad Virtual se basan en la representacin por fronteras. Se han
Con dos puntos extremos se puede indicar una lnea tridimensional (definiendo una arista), y a su vez tres puntos definen un plano triangular bsico. Aunque frecuentemente los programas utilizan cuadrilteros como
15
Parra Marquez, Juan Carlos; Garca Alvarado, Rodrigo; Santelices Malfanti, Ivn "Introduccin Prctica a la Realidad Virtual" Ediciones U. Bo-Bo, Concepcin, 2001
polgonos bsicos, con el fin de ahorrar informacin, ya que la mayora de los volmenes son rectangulares (sin embargo, como los cuatro puntos extremos no necesariamente son co-planares, se producen algunos polgonos quebrados). De este modo, un objeto tridimensional se define como un conjunto de superficies poligonales (denominadas facetas o caras), en el cual se identifican sus aristas y vrtices. Tambin se reconoce en cada polgono bsico, una normal o perpendicular del punto medio, que indica la orientacin de la cara, estableciendo un lado visible y otro invisible.
una tabla de vrtices, una de aristas y una de polgonos. Definiendo el objeto de la manera siguiente:
Polgono (tringulo) V2 vrtice e1 V1 arista
V3
e2
e3 V4
Los programas grficos especifican una superficie poligonal mediante la serie de coordenadas de sus vrtices y los parmetros de atributos asociados. Estos datos se colocan en tablas que se utilizan en el procesamiento y generacin de imgenes, y en la manipulacin de objetos. Estas tablas de datos de polgonos pueden ser organizadas en dos grupos, tablas geomtricas y tablas de atributos. Las primeras contienen las coordenadas de vrtices y los parmetros para identificar la orientacin espacial de las superficies. La segunda tabla contiene los parmetros que especifican el grado de transparencia del objeto, las caractersticas de reflexin y textura de las superficies, entre otros datos. Una organizacin muy utilizada para la tabla geomtrica es crear 3 sub-tablas (listas),
Otra posibilidad es utilizar slo una tabla de polgonos, pero esto intensifica la informacin sobre las coordenadas, ya que los valores explcitos de las coordenadas se listan para cada vrtice en cada polgono. Puesto que las tablas geomtricas de datos pueden contener extensas listas de vrtices y aristas para objetos complejos, es importante que se verifique la consistencia de la totalidad de los datos. Es importante mencionar que, sobre todo en las aplicaciones interactivas, como es el caso de la Realidad Virtual, es frecuente que se cometan ciertos errores en la manipulacin de las tablas de datos, que luego distorsionan la presentacin de algn objeto. Los objetos tridimensionales son usualmente poliedros de base rectangular (paraleleppedos regulares, como los cubos), tambin denominados cajas. Agrupando estas formas bsicas se puede conformar una gran variedad de objetos. Tambin se utilizan mucho volmenes bsicos como pirmides,
16
cilindros o esferas, aunque las superficie curvas son aproximadas a travs de secuencias de planos rectos. Una mayor cantidad de polgonos permite una descripcin ms exacta de la curvatura, pero a la vez exige mayor procesamiento computacional. Formas ms complejas pueden ser realizadas determinando un polgono o perfil base y una distancia, en la cual se reproduce el polgono, generando superficies en cada una de sus aristas, en un proceso conocido como extrusin o lofter, tambin vinculado con darle espesor a figuras planas (generando paralelep-pedos de base irregular). Algunos programas permiten establecer un trazado de proyeccin (sweep) produciendo una forma estirada en torno a una trayectoria, til para modelar tuberas, helicoides, etc.
Para las formas curvas de simetra radial (como las esferas, cilindros, conos, vasos o jarrones), se pueden generar las superficies poligonales basadas en el concepto de slido de revolucin. Consiste en generar la forma curva mediante la rotacin de una cierta cantidad de puntos, o un perfil determinado, alrededor de un eje en el sistema de coordenadas. Estableciendo tambin la cantidad de segmentos o tramos en los cuales se subdividir la superficie curva en polgonos rectos. Una forma tridimensional es atmica si es indivisible o no descompuesta en formas menores y puede constituir un objeto virtual. En ese caso es un objeto simple, pero tambin un objeto puede estar constituido por varias formas, debido a: a) El objeto virtual es demasiado complejo, esto es, no es posible representarlo con una sola forma. b) El objeto virtual est conformado por componentes o partes que poseen un comportamiento independiente entre ellos. Para el caso a) podemos dar como ejemplo la carrocera de un vehculo, y para el caso b) el ejemplo de una puerta de automvil con su manilla y su ventana (en el cual el vidrio sube y baja, independientemente de la puerta en s). A los objetos compuestos se les denomina objetos agrupados o simplemente grupos. Tambin un objeto ms complejo puede estar conformado a su vez, por varios grupos. Por ejemplo, una habitacin puede estar conformada por el grupo ventana, grupo paredes, grupo puerta, etc. De este modo un ambiente virtual est conformado por formas poligonales, que constituyen objetos simples o agrupados.
Eje de giro
17
Parra Marquez, Juan Carlos; Garca Alvarado, Rodrigo; Santelices Malfanti, Ivn "Introduccin Prctica a la Realidad Virtual" Ediciones U. Bo-Bo, Concepcin, 2001
donde la rotacin, con respecto al eje z, es en A grados. La matriz se puede adaptar para los giros en los otros ejes. c) Escalamiento: escalar un objeto se refiere a cambiar el tamao y volverlo a posicionar con respecto al origen de las coordenadas. Si todos los parmetros de transformacin son iguales se cambian las dimensiones relativas del objeto. La matriz que representa el escalamiento es la siguiente:
Donde tx, ty, tz corresponden a la distancia de traslacin para los ejes x, y, z respectivamente. Dicha traslacin se traduce en:
Esta forma de traslacin es vlida para todos los puntos del objeto en cuestin. Por lo tanto, un objeto se traslada en tres dimensiones al trasladar cada uno de los puntos de definicin inicial del objeto. Para un objeto que se representa como un conjunto de superfi-
x2 y2 z3 1
Sx 0 0 0
0 Sy 0 0
0 0 Sz 0
0 0 0 1
x1 y1 z1 1
donde Sx, Sy, Sz son los parmetros de escalamiento con respecto al origen. Existen otras transformaciones tridimensionales como la reflexin y el recorte.
18
Otras operaciones volumtricas bastante utilizadas en los programas tridimensionales, son las operaciones booleanas. Se refieren cuando se utiliza una geometra de construccin slida (CSG: constructive solid geometry) para operaciones similares al lgebra de Boole, esto es: adicin, sustraccin o interseccin. Aplicadas en volmenes, la adicin o unin (A + B) genera la fusin de los dos volmenes en uno solo, descartando cualquier parte que se intersecte entre ambos. Si no se intersectan, simplemente se crea un volumen compuesto de dos partes separadas.
La sustraccin (A - B) genera un volumen en el que se ha eliminado la parte del otro en que se intersecta, el volumen sustrado simplemente desaparece (si no se intersectan, queda ntegro el original). En este caso es muy relevante cul volumen es el original, generalmente reconocido como el primer operando. En la interseccin (A B), se genera el volumen comn en el cual participan los dos originales, en los cuales se eliminan en sus partes restantes. En algunos programas tambin se agrega una operacin de interseccin que conserva los volmenes restantes (generando tres formas). Estas modalidades son muy efectivas para construir fcilmente ciertas formas complejas, como por ejemplo, muros con ventanas o piezas mecnicas aunque la informacin computacional es estrictamente de superficies y no slida, ocasionalmente se producen errores en la presentacin grfica.
19
Parra Marquez, Juan Carlos; Garca Alvarado, Rodrigo; Santelices Malfanti, Ivn "Introduccin Prctica a la Realidad Virtual" Ediciones U. Bo-Bo, Concepcin, 2001
Forma 3D
Observador
b) Proyeccin polar (perspectivas): Esta tcnica se basa en proyectar puntos del objeto al plano de visualizacin a lo largo de trayectorias convergentes al punto de vista. Esto implica que los objetos que estn ms lejos de este plano se desplieguen ms pequeos y representen cabalmente la profundidad del entorno, pero sin medidas precisas. En este tipo de proyeccin las imgenes de escenarios 3D obtienen mayor realismo visual. Adems, las aristas de los objetos tienden a converger en una lnea de fondo (horizonte).
En principio, los objetos son presentados como formas transparentes (wireframe) y luego se aplican tcnicas de iluminacin y presentacin de superficie para colorear y sombrear las reas visibles. As la computadora genera las imgenes a partir de la posicin de la cmara con respecto a los objetos que sta debiera estar visualizando. Dentro de las tcnicas para generar la vista de un objeto tridimensional, tenemos: a) Proyeccin paralela: este mtodo consiste en proyectar puntos del objeto a travs de lneas paralelas al eje de visin. Es as, como en diferentes posiciones de la cmara, se proyectan las superficies visibles del objeto sobre el plano de visualizacin para obtener diversas vistas (superiores, laterales, isomtricas) que posean medidas proporcionales del objeto.
c) Eliminacin de lneas ocultas: se utiliza como tcnica para poder distinguir el frente y la parte de atrs de los objetos desplegados. Sin ocultamiento un objeto no podra ser comprendido en su posicin con respecto a otros.
20
Otra manera de indicar el volumen es variar la intensidad de los objetos con respecto a su distancia de la posicin de visualizacin, es decir, las lneas que estn ms cerca del punto de vista se despliegan con mayor intensidad, seleccionando los valores en un rango de distancia en que deben variar. Otra forma de indicar la profundidad es otorgar un efecto de atmsfera entre los objetos, es decir, los objetos ms lejanos tienen una apariencia ms tenue que los ms cercanos, en algunos casos se agregan distorsiones de color para fortalecer la visin borrosa a la distancia.
21
Parra Marquez, Juan Carlos; Garca Alvarado, Rodrigo; Santelices Malfanti, Ivn "Introduccin Prctica a la Realidad Virtual" Ediciones U. Bo-Bo, Concepcin, 2001
deras o mrmoles), que se aplican como imgenes planas en algunas superficies. La tcnica de aplicacin es similar a la proyeccin de mapas, por lo que se denomina mapeo, y consiste en calzar la imagen en las distintas superficies del objeto tridimensional. Si la forma es distinta a la imagen, sta simplemente se recorta. Si el tamao de la imagen es muy pequeo se puede repetir en la superficie, o se puede agrandar, aunque esto ltimo muestra notoriamente los puntos de la imagen (pixelado). En algunas superficies laterales la textura se aplica en ngulos tan inclinados que los puntos se extienden por las caras, aunque esto sirve para algunos materiales (como la madera), usualmente se utiliza una proyeccin por superficies o frmulas de mapeo cilndrico o esfrico.
Las texturas pueden tener un valor de rugosidad (bumpy), en que las sombras adquieren profundidad, lo que es muy adecuado para reproducir, por ejemplo, ladrillos o piedras. De hecho, es ms eficaz en algunas formas pequeas, no modelarlas tridimensionalmente sino simplemente texturizarlas con una imagen real (como las fachadas de los edificios), con el fin de ahorrar procesamien-
to geomtrico en objetos que tienen un rol secundario en la escena. Tambin algunas formas naturales difciles de modelar apropiadamente (como los rboles), es preferible representarlas con una fotografia, en que se asigna un valor de transparencia al color de fondo, para generar un perfil recortado. Otra aplicacin usual de las texturas es de paisaje general (background), para tener un entorno ms realista, a veces ajustado a una forma cilndrica o semi-esfrica (especialmente cuando se utilizan cielos con nubes), para representarlo apropiadamente al desplazarse por el escenario virtual. El otro aspecto relevante en la apariencia visual del modelo, es la incorporacin de mtodos de iluminacin. Cuando la luz enfrenta una superficie opaca, en parte se refleja y en parte se absorbe, esta ltima es llamada reflexin difusa. La mayora de los programas otorgan una iluminacin pareja en todo el ambiente (environmental light), reproduciendo esta difusin indirecta. A veces esta iluminacin posee un sentido determinado como el sol, tal que las superficies enfrentadas y perpendiculares a la fuente de luz estn ms iluminadas y las ms inclinadas o posteriores, se oscurecen. De este modo se reconocen sombras propias en los objetos, y se distinguen las distintas superficies, por tonalidades ms o menos luminosas del mismo color, otorgando un sentido de volumen. El sentido de la luz se puede determinar a partir de un entorno esfrico alrededor del modelo, o por ngulo de altitud y azimut (algunos programas arquitectnicos permiten indicar la fecha, hora, latitud y paralelo de la localizacin para colocar la posicin real del sol). Otro tipo de iluminacin consiste en colocar algunos focos de luz, posicionados dentro del modelo geomtrico, especialmente para iluminar zonas posteriores o interiores, que la iluminacin ambiental deja oscureci-
22
das. Indicando la posicin tridimensional se establece una luz omni-direccional, que al igual que una ampolleta, ilumina con similar intensidad en todas las direcciones. Algunas fuentes de luz pueden poseer un sentido o eje determinado basado en un punto particular (spot light). Estas luces focalizadas se aplican en un cono, reproduciendo la iluminacin de una lmpara con pantalla, destacando algunas partes de la escena. Es importante mencionar que estos focos no tienen una geometra determinada, al aparecer en la imagen son slo puntos de luz, por lo cual a veces se deben definir formas de lmparas para representarlas en el modelo. Cualquiera de estas luces puede ser aplicada con distintas intensidades y con tintes de color, baando los objetos en alguna tonalidad que altere sus colores propios. Tambin se pueden considerar sombras arrojadas, en que cada objeto proyecte oscurecimiento en sus objetos vecinos. Esta capacidad exige un procesamiento adicional en el modelo, porque se debe calcular el trazado de la sombra de cada objeto en los dems, de acuerdo con la posicin de la fuente de luz, de manera similar al mapeo de texturas. Algunos objetos pueden considerar transparencia, en que parte de la luz atraviese la forma, o pueden considerar reflejo, en que rebote la iluminacin (y tambin se reflejen los objetos vecinos, proyectando la imagen en su superficie).
El clculo del valor de la tonalidad del color (o textura) de cada superficie se realiza con ciertos algoritmos grficos. Bsicamente se relaciona la direccin e intensidad de la luz (y distancia si es un foco), con la normal de la superficie (perpendicular en el punto medio). Algunos algoritmos ms avanzados (Gouraud, Phong), lo calculan segn la normal de los vrtices, interpolando los valores medios de la superficie, para otorgar una degradacin suave de los colores y suavizar las formas complejas, generando un gran realismo en objetos curvos y marcando ciertos brillos o puntos de luz. La mayora de estas frmulas calcula finalmente el tono de color aplicado en cada punto de la imagen del modelo, de acuerdo con la vista vigente, por lo que se denominan algoritmos del pintor. Otros mtodos efectan un clculo general de la iluminacin del entorno, basados en la reflexin de luz entre los objetos (Radiosity) o por el trazado de los rayos luminosos (Ray-tracing). Los que son ms fidedignos en ambientes ms difusos o con objetos ms especulares respectivamente.
23
Parra Marquez, Juan Carlos; Garca Alvarado, Rodrigo; Santelices Malfanti, Ivn "Introduccin Prctica a la Realidad Virtual" Ediciones U. Bo-Bo, Concepcin, 2001
2.
3.
4.
5.
24
vimientos generalmente equivalen a comportamientos del mundo virtual (abrir una puerta, desplazar un vehculo) y pueden ser automticos u originados por algn evento (interaccin con el usuario o con otro objeto). 6. Articulado: Se refiere a que los objetos puedan ser organizados en jerarquas; es decir, que partes componentes de un objeto posean propiedades de movimiento distintas a otras partes, pero supeditadas al total. Un ejemplo de esto son las ruedas de un automvil, que pueden girar en un sentido, pero a su vez; debe desplazarse en la direccin del vehculo completo. 7. Deteccin de colisiones: Es una caracterstica que permite identificar cuando un objeto intersecta a otros, de modo que pueda ser obstaculizado el movimiento del objeto, de manera similar a si stos fueran slidos, como en el mundo real. 8. Propiedades fsicas: Adicionalmente se presenta una serie de atributos relacionados con caractersticas fsicas, como masa o roce, reconocimiento de gravedad (movimiento vertical acelerado en proporcin al tamao o peso) e incluso de ascensin (salto sobre el objeto). 9. Color y texturizacin: Asignacin de colores a las superficies y utilizacin de texturas digitalizadas. Incluyendo propiedades de transparencia (para generar objetos de textura, como rboles o nubes) y secuencias (como videos). 10. Fuentes de luz: Definicin de iluminacin ambiental y focos de luz con cierta posicin, orientacin, intensidad e incluso colores propios. Ocasionalmente con movimientos propios. 11. Incorporacin de audio: Es la propiedad de asociarle a los objetos, de la aplicacin virtual, un sonido que les corresponda en el mundo real. Un ejemplo de esto es el
caso de un motor que al ser encendido, emite el ruido correspondiente. Una caracterstica importante es controlar el volumen en relacin a la distancia existente entre el objeto y el navegador. Tambin se puede incorporar informacin tctil, que establezca una retro-alimentacin fsica con el usuario (feed-back), a travs de dispositivos especiales. As como otros sentidos en exploracin (sinptica, temperatura, etc.) 12. Lenguajes de programacin: Esta propiedad corresponde a que el software disponga de comandos de control que dicten comportamientos de los objetos y manejen datos de entradas y salidas. 13. Manipulacin de eventos: Refleja la capacidad de activar un comportamiento al interactuar con un determinado objeto. Esto implica reconocer la posicin y accin del usuario, interpretar una programacin y modificar la geometra consecuentemente. 14. Configuracin de dispositivos mltiples: Consiste en permitir la incorporacin de distintos dispositivos de entrada y salida de datos, como elementos de visualizacin o interaccin del usuario (por ejemplo, cascos y guantes). 15. Mundos paralelos: Se refiere a la generacin de ambientes virtuales constituidos por sub-mundos, en los cuales el navegante puede interactuar al momento que ingresa a cada uno de ellos. Esto con el fin de disminuir la complejidad que se tendra si fuera un solo mundo completo y por ende optimizar el procesamiento. 16. Conectividad en red: Permite que el mundo virtual pueda ser utilizado en una red computacional, a travs de diversos dispositivos o seales de entrada y salida, y adems que permita la interaccin de diversos usuarios en una misma aplicacin. Un ejemplo de esto son los juegos multiusuarios.
25
Parra Marquez, Juan Carlos; Garca Alvarado, Rodrigo; Santelices Malfanti, Ivn "Introduccin Prctica a la Realidad Virtual" Ediciones U. Bo-Bo, Concepcin, 2001
26
gramas que describen las acciones de estos objetos o del usuario, mtodos de iluminacin, mecanismos de control y soporte del hardware. La descripcin de los temes almacenados es la siguiente: a) Objetos: Los objetos en un mundo virtual pueden tener geometra, jerarqua, comportamiento y otros atributos. Las caractersticas de los objetos tienen un impacto considerable en la estructura y diseo de una aplicacin. De acuerdo con esto, una lista de pares atributo-valor es usada para describir los objetos. Mediante estos atributos se pueden sumar cambios a los objetos sin requerir cambios en la estructura de datos de los mismos. b) Posicin y orientacin: Un objeto es posicionable y orientable. Esto es, tiene localizacin y organizacin espacial. La mayor parte de los objetos puede tener estos atributos modificables a los cuales se les puede aplicar operaciones de escalamiento, traslacin y rotacin. Estas operaciones son a menudo implementadas usando operaciones algebraicas en la manipulacin de vectores y matrices, como se describi en los artculos anteriores. c) Jerarqua: Un objeto es parte de la jerarqua de otro mediante la relacin de parentesco de padre, hermano o hijo. Cada objeto sufre las transformaciones que se le aplican a su padre y desde ste es transmitido a sus propios hijos. Por lo anterior, un objeto en particular puede tener padre e hijos a la vez. Las jerarquas son usadas para crear articulacin de figuras (grupos) los cuales constituyen una forma ms compleja: por ejemplo, un robot (padre) constituido por sus partes (hijos) tales como cabeza, miembros, etc. d) Volumen de contorno: Un objeto es usual-
mente contenido en un volumen denominado Bounding Volume. Esto es un paraleleppedo rectangular o esfrico. Esto favorece el uso rpido del objeto durante su renderizacin. Cuando el volumen de contorno est completamente fuera del rea de vista (cmara) no necesita ser transformado o considerado durante la renderizacin. El volumen de contorno esfrico es ms rpido en la deteccin de colisiones. e) Geometra de objetos: El modelamiento de formas (shapes) y su geometra se basa en los conceptos mencionados de la computacin grfica. Algunos modelos buscan muy profusamente la exactitud geomtrica con respecto a los objetos del mundo real. Otros mtodos buscan la simplicidad de representacin. La mayora de los sistemas de RV sacrifican el detalle y la exactitud orientndose hacia la simplificacin por ganar velocidad de renderizado. Los objetos son simplemente un conjunto de puntos y estos a su vez constituyen aristas y superficies. 3. PROGRAMACIN: Un mundo virtual consistente en objetos estticos es slo un diseo apacible. Muchos investigadores y entusiastas de la RV han confirmado que la interaccin es la clave del xito e inters de la realidad virtual. Esto requiere definir las acciones que los objetos realizarn por ellos mismos y cuando interacte el usuario con stos. Lo que se denomina generalmente, guin del mundo virtual. Algunos autores dividen estos guiones de comportamiento en 3 tipos bsicos: Guiones de movimiento, guiones de reaccin ante un evento y guiones de conexin. Los guiones pueden ser textuales o estar compilados en un programa estructurado. En el uso de lenguajes de programacin para RV
27
Parra Marquez, Juan Carlos; Garca Alvarado, Rodrigo; Santelices Malfanti, Ivn "Introduccin Prctica a la Realidad Virtual" Ediciones U. Bo-Bo, Concepcin, 2001
ha sido considerado como pionero VPL Research con su Body Electric System. Este lenguaje fue diseado para Macintosh. En general, los productos de RV no poseen lenguajes de guiones comunes entre ellos. Lo que s se puede afirmar es que gran parte de ellos tiene como base de su estructura el lenguaje de programacin C. Los tipos bsicos de guiones son los siguientes: a) Guiones de movimiento: Este modifica la posicin, orientacin u otros atributos de un objeto, luz o cmara a partir de la ocurrencia de un tick sobre el sistema. Un tick es una accin de simulacin en un tiempo de reloj. Generalmente esto es equivalente a un frame de la animacin visual. Debemos destacar que la RV generalmente utiliza mtodos de simulacin discretos (no continuos). Por simplificacin y velocidad, slo un guin de movimiento ser activado para un objeto en algn instante. Por otra parte, un guin puede ser asociado a un objeto desde una jerarqua. Por ejemplo, un guin puede ser asociado al usuario de un vehculo cuando desea conducir alrededor del mundo virtual. Alternativamente, el usuario puede contener un objeto con su propia programacin y que est jerarquizado con respecto a l (ejemplo, su reloj de pulsera). b) Guiones de reaccin ante un evento: Son invocados cuando algn evento ocurre, como por ejemplo en una colisin, una aproximacin o simplemente una seleccin. En RV los sistemas necesitan evaluar los parmetros de evento en cada tick (frame). Esto puede ser, por ejemplo, el detector de proximidad entre un objeto 3D o la deteccin de colisin, etc. c) Guiones de conexin: Corresponden a los guiones que controlan la conexin de dispositivos de entrada y salida de varios objetos. Un ejemplo de esto lo constituye el
guin que puede conectar un guante a un objeto que representa una mano virtual. El usuario debe dar alguna indicacin de retroalimentacin de la interaccin cuando el cursor virtual seleccione o toque un objeto. Un sistema ordinario tiene slo una retroalimentacin (feedback) visual para reconocer que el cursor (que acta de mano virtual) penetra un objeto. Alternativamente, una seal de audio puede ser generada para indicar una colisin. Algunos sistemas slo utilizan un simple tacto como feedback, otros producen una vibracin en el joystick para indicar la colisin, etc. 4. PROCESAMIENTOS: Durante la utilizacin de la aplicacin virtual se realiza un intenso procesamiento de datos en tiemporeal, esto es, a la misma velocidad que visualiza el usuario. Bsicamente es un procesamiento de la imagen visual, pero a su vez interviene un complejo clculo geomtrico, un procesamiento del audio, una interpretacin de la programacin y un control de los dispositivos de entrada y salida. Primero se debe identificar la posicin del punto de vista y de su orientacin (sentido de la visin), que puede estar dictada por el mouse en alguna configuracin 3D o por un rastreador, o por una combinacin de ambos. Adems, identificar la activacin de algn evento, por colisin de un objeto con apuntador 3D o un guante de datos (debidamente localizado). Si esto se produce, interpretar el cdigo de programacin activado, para modificar la geometra correspondiente (trasladar un objeto o detener un movimiento). A la vez que se revisan todas las rutinas de animacin actualmente activas que establecen un desplazamiento en cada secuencia de tiempo. Luego de determinar la situacin del modelo geomtrico, se debe calcular la proyeccin en el plano de visin correspondiente (doble si es estereoscpico), descartando las formas
28
PROGRAMACION
ENTRADA
PROCESAMIENTOS
SALIDA
BASE DE DATOS
no cubiertas por el ngulo de visin, omitiendo las lneas ocultas, calculando las aplicaciones de texturas y los tonos de color de las superficies, de acuerdo con las fuentes de iluminacin definidas, sombreamientos y algoritmos de render. Posteriormente generar la imagen visual y activar las reacciones en dispositivos especiales (estmulos de fuerza en joystick) segn la situacin de los objetos con el usuario. Tambin se deben procesar las frecuencias de audio que estn activadas, en funcin de las distancias actuales del punto de vista a las posiciones definidas. Esta es la secuencia de procesos o pipeline, que se debe realizar en una mnima fraccin de tiempo, mientras se navega libremente por el escenario 3D.
29
Parra Marquez, Juan Carlos; Garca Alvarado, Rodrigo; Santelices Malfanti, Ivn "Introduccin Prctica a la Realidad Virtual" Ediciones U. Bo-Bo, Concepcin, 2001
30
31
Parra Marquez, Juan Carlos; Garca Alvarado, Rodrigo; Santelices Malfanti, Ivn "Introduccin Prctica a la Realidad Virtual" Ediciones U. Bo-Bo, Concepcin, 2001
1. RayDream Studio Este es un conjunto integrado de aplicaciones de la empresa Metacreations. No es un software sofisticado de modelamiento pero vale la pena considerarlo. Primeramente, es accesible en precio. Es bueno para laboratorios educacionales puesto que existen versiones para Mac y para Windows. El programa es fcil de usar. Las interfaces de usuario han sido diseadas segn un formato grfico. Un elemento clave es la multifuncionalidad, puesto que se ha incorporado un navegador a travs del cual se puede elegir, disear e incorporar objetos a partir de una librera y efectuar modificaciones tales como iluminacin, deformaciones, efectos de renderizado, animacin, etc. Existen objetos, cmaras, luces, rboles y objetos animados, que pueden ser controlados a travs de grficas de Windows. Un monitor de gran resolucin puede ser de mucha ayuda para trabajar con este software. Mallas y complejas modelaciones se realizan en ventanas separadas y de fcil retorno a la escena principal, esto puede ser poco manejable en un monitor pequeo.
2. 3D Open System Es una herramienta para desarrollar aplicaciones y mundos virtuales dinmicos de alta efectividad en 3D. Se puede operar en varias plataformas, incluyendo DOS, OS/2, Windows 9x/NT y Unix. 3D Open System permite crear mundos 3D con visualizacin en tiempo real e incluye interiores y exteriores 3D, objetos estticos y mviles, imgenes JPG, luces, color dinmico 3D, efectos, videos AVI, sonidos (MID, MP3 y WAV), fondos y soporte para documentos HTML. Se pueden crear mundos ilimitados en tamao y puede anidar unos mundos en otros.
32
3. V-Realm Este es un paquete que permite crear objetos 3D y mundos para ser vistos mediante el Browser V-Realm u otros compatibles con el estndar VRML 1.0. Sus caractersticas incluyen mltiples editores fciles de manipular, texturas, luz y funciones para cmaras, como un buen editor individual y uno para la agrupacin de objetos. Todo basado en comandos VRML. Adems, soporta formatos GIF, JPEG y RGB para archivos de textura. Posee habilidades prcticas para cortar, copiar y pegar entre archivos VRML. Posee herramientas para manipular formas 3D tales como transformaciones, re-modelado, despliegues simultneos de escenas y otros. Incluye un programa de traduccin que importa archivos desde 3D Studio, Autocad, True Type Font y otros. En el cap. 5 se aborda una explicacin ms completa de sus funciones.
4. Internet Space Builder Es un editor 3D para diseadores Web, permite la creacin de mundos virtuales y publicarlos en Internet. Puede disear y editar escenas y objetos 3D usando operaciones booleanas (suma y resta) sobre un rango de formas primitivas como esferas, pirmides, conos y cilindros. Puede tambin importar y exportar escenas y objetos en formato VRML 2.0. Pueden ser vistas las creaciones en la mayora de los browser de VRML. Internet Space Builder posee una gran galera de formas, texturas, pinturas, objetos y videos. Permite crear puntos de vistas adicionales (cmaras) y posee caractersticas avanzadas de mapeo de texturas, color y transparencia. Puede tambin importar y exportar mundos en formato VRML 2.0 comprimido (GZIP), adems, renombrar y convertir formatos de archivos de otro destino. Soporta VRML 1.0, puede procesar archivos BMP, GIF, JPG y PNG de imgenes e importar archivos 3DS, DXF y otros, puede importar objetos MUS y exportarlos en formato DXF.
33
Parra Marquez, Juan Carlos; Garca Alvarado, Rodrigo; Santelices Malfanti, Ivn "Introduccin Prctica a la Realidad Virtual" Ediciones U. Bo-Bo, Concepcin, 2001
5. SitePad Pro Es un ambiente de desarrollo integrado simultneamente para browser de HTML y VRML. Incluye un editor que posee una sintaxis de manipulacin de colores. Posee herramientas de chequeo de sintaxis para HTML, VBScript y JavaScript y puede construir sus propias aplicaciones usando Javascript y Vbscript. Todas las funciones de JpadPro son tambin incluidas en SitePad Pro. La edicin de texto limita la descripcin geomtrica pero le otorga gran precisin y coherencia a los archivos. Usualmente se utiliza como revisor de archivos VRML.
6. 3 DEM Permite principalmente crear escenas terrestres en tres dimensiones de baja resolucin, animacin de vuelo en tiempo real y mundos VRML de variados tamaos y diversas fuentes de datos. 3 DEM utiliza libreras de SGI/Microsoft OpenGL para producir modelos 3D de alta velocidad. Puede renderizar imgenes en 16 o 24 bits de color. La renderizacin de imgenes puede ser azulrojo (requeridos para visualizacin estereoscpica con anaglifos) o proyecciones de color 3D requeridos para gafas de obturacin (LCD).
34
7. Virtus Walkthrough Este es el software inicial de la serie Virtus. Posee excelentes controles sobre luces, fcil acceso a texturas y edicin de formas (Shapes). Puede crear modelos VRML para publicar modelos en Internet. Trabaja con varias ventanas con vistas planas, elevaciones y perspectivas realistas para chequear el ambiente creado. Paletas de herramientas y controles grficos facilitan su uso, pero la ejecucin y complejidad dependen mucho del equipamiento.
8. Virtus VR Es la versin de bajo costo de Virtus y es bueno para aquellas aplicaciones que no necesitan alto nivel de detalle. En vez de herramientas de dibujo usa formas predefinidas que pueden ser arrastradas hacia un plano o una elevacin. Posee extensas libreras de formas que lo convierten en un sistema de diseo rpido. Esta rapidez de diseo tiene un costo en la fineza del mismo. Tambin es limitado en el manejo de luces. Pero posee gran versatilidad en la navegacin con distintos equipos.
35
Parra Marquez, Juan Carlos; Garca Alvarado, Rodrigo; Santelices Malfanti, Ivn "Introduccin Prctica a la Realidad Virtual" Ediciones U. Bo-Bo, Concepcin, 2001
9. Multigen Aunque se ha dicho que existen muchos productos para RV y que muchos de los modelos son importados desde sistemas CAD (por ejemplo DXF), hay un nmero considerable de sistemas de modelamiento usados para crear sus propias formas 3D. Entre ellos podemos destacar a Multigen, que proviene de una de las compaas de mayor reconocimiento y que produce software de modelamiento desde 1986. Estos productos son usados ampliamente en diversas aplicaciones de simulacin en tiempo real para entrenamiento industrial u otros fines. En diversas plataformas tales como SGI, Sony, Nintendo, Sega, Macintosh, PC y otros equipos especiales para 3D en tiempo real. Los productos de software incluyen Multigen II Pro, Multigen Creator, Multigen GO y Smartscene, abarcando editores muy completos y sofisticados, con navegadores de gran actividad grfica.
10. Superscape VRT Es un sistema profesional para el diseo de mundos 3D interactivo sobre plataforma PC. Estos mundos pueden ser publicados en VRLM en Internet y usar su navegador Viscape, como tambin navegar con el browser propio Visualizer. Tambin se pueden crear mundos mediante su versin gratuita 3D-WebMaster. Superscape est compuesto de 7 editores que permiten la creacin de sus aplicaciones. En stos se pueden desarrollar mundos a partir de objetos 3D, texturas y sonido utilizando editores de formas, imgenes y sonidos, entre otros. A los objetos se les puede asociar propiedades tales como: dinmica, velocidad angular, gravedad y otros, adems de incorporar comportamientos mediante el uso del lenguaje interno de Superscape llamado SCL (Superscape Control Language). Posee libreras que contienen texturas, objetos y sonidos, los cuales pueden ser utilizados libremente por el diseador. VRT soporta un gran nmero de tarjetas grficas, dispositivos de entrada y tarjetas de sonido. En el cap. 5 se explica la programacin con la versin 3D-WebMaster.