Abstract
Las ideas de realidad virtual (RV), visualización científica y WWW no son
nuevas. Sin embargo, las dos primeras son de las pocas tecnologías cuyo avance
se ve limitado por la capacidad de proceso de los ordenadores. A pesar de ello,
los niveles alcanzados en estos últimos años permiten obtener unos resultados
que, aún lejos de ser optimos, son aceptables en muchas aplicaciones. Esto,
unido al boom del WWW ha planteado la posibilidad de definir una interfaz de RV
para este sistema : VRML. El presente documento es una revisión de la
utilización que se está realizando de VRML en visualización así como de las
herramientas disponibles.
El presente trabajo se encuentra orientado al estudio del uso que se está
realizando del lenguaje VRML para la visualización científica. Como marco de
presentación, primeramente se realiza una breve introducción sobre realidad
virtual y las posibles aplicaciones de la misma a la visualización
científica.
Dentro de este tipo de visualización, nos centraremos en la representación de
datos, lo que vamos a distinguir de la visualización de
información, que representa información semántica a la cual hay que dotar
de una estructura física antes de ser representada. Desde el punto de vista de
la realidad virtual existe una importante diferencia entre un tipo y otro de
información. Esta diferencia radica en que no existe necesidad de generar una
ilusión de realidad cuando se trata con visualización de información dado que la
información a representar no está dotada de forma física. Sin embargo, es
necesario un mayor grado de abstracción y diseño de metáforas que doten de
estructura representable a la información.
En el caso de la visualización de datos este hecho cambia dado que la
información a representar consta intrínsecamente de una estructura, ya sea
física o matemática.
Las técnicas de realidad virtual aplicadas a visualización han ido
evolución de la repesentación de datos, fundamentalmente representación de
entidades físicas, a la representación de información, como información
contenida en bases de datos o monitorización de actividades de usuarios en un
sistema. En el caso de VRML practicamente la totalidad de los trabajos se
encuentran aún en torno a la visualización de datos.
2. REALIDAD VIRTUAL
Para estudiar la utilidad que el uso de la realidad virtual puede tener en
visualización habría que definir primeramente el concepto de realidad virtual.
Las definiciones que se encuentran en la bibliografía son muchas, pero todas
coindiden en los mismos conceptos. Por ejemplo, se podría definir realidad
virtual como "una combinación de diversas tecnologías e interfaces que permite a
un usuario interactuar de forma intuitiva con un entorno inmersivo y dinámico
generado por ordenador" [Adam93] . Otra posible definición sería "la ilusión de
participación en un entorno sintético en lugar de la observación externa de tal
entorno" [Gigante93]. En ambos casos se aprecian los conceptos de entorno
generado por ordenador o sintético y de interacción o
ilusión de participación, pero a ambas definiciones habría que añadir un
tercer elemento muy importante : la interacción debe llevarse a cabo en
tiempo real [Pratt95].
Aunque suele ser común su utilización, de las definiciones anteriores no se
puede conluir que para hablar de realidad virtual sea necesario en ningún
momento el uso de determinado tipo de periférico como HMDs (Head
Mounted Displays), data gloves, dispositivos de realimentación
táctil, etc, por lo que entornos VRML incrustados en un cliente WWW pueden ser
perfectamente clasificados en este grupo de tecnologías.
Aunque el presente documento gira en torno al lenguaje VRML, por su interés y
por la profusión con que aparece citado en la bibliografía, no dejaremos de
hacer mención del sistema CAVE de realidad virtual [EVL], desarrollado por el
Electronics Visualization Laboratory (EVL) de la University of Illinois
at Chicago (UIC) y disponible comercialmente a través de Pyramid Systems Inc. El
sistema es un entorno multiusuario de audio y video en 3D de alta resolución del
tamaño de una habitación. El efecto inmersivo se logra mediante cuatro
proyectores que proyectan imágenes generadas por ordenador sobre tres paredes de
la habitación (frontal y laterales) y el suelo. En la configuración actual de
emplea un SGI Infinite Reality Engine para crear las imágenes sobre las cuatro
superficies. Todas las perspectivas son calculadas desde el punto de vista del
usuario cuya posición es determinada por un head tracker. El efecto de
visión stereo se consigue mediante unas gafas cuyos cristales izquiedo y derecho
se vuelven opacos alternativamente sincronizados con las imágenes.
Los campos de aplicación de la realidad virtual son innumerables: educación y
entrenamiento, diseño y pruebas, medicina, telepresencia (la realización de
trabajos peligrosos a distancia, telereuniones), tratamiento psicológico,
entretenimiento y, por supuesto, visualización científica. Dentro de este campo,
la realidad virtual ofrece grandes posibilidades debido a que su función no es
únicamente tratar de reproducir la realidad, donde encuentra aplicación directa
en la visualización de datos, sino también generar una realidad "alternativa" en
la que se puede dotar de estructura física tangible a las abstracciones de un
modelo mental, con lo que se puede presentar como herramienta idónea para dar
cuerpo a las metáforas empleadas en visualización de información..
En el terreno de la visualización se están desarrollando múltiples trabajos,
la mayoría de ellos, comenzando por el nivel más concreto, de visualización de
datos con estructura física. Nos limitaremos a citar algunos ejemplos que pueden
encontrarse en [Pratt95], [Boman95] y [Varios95]:
También se han realizado proyectos de propósito más general, como el
Virtual Data Visualizer que presenta un entorno para la visualización y
el análisis de datos sin centrarse en un tipo concreto de aplicación
[Tylingen97].
Es en este entorno en el que surge en el año 1995 el lenguaje VRML que
trataremos a continuación.
3. VIRTUAL REALITY MODELING
LANGUAJE :VRML
3.1. EL LENGUAJE VRML : HISTORIA
VRML es un lenguaje de definición de escenas cuyo objetivo es la
descripción de entornos virtuales 3D que puedan transmitirse e
inter-relacionarse a través del WWW. La idea surgió en la primera World Wide
Web Conference, en Ginebra, primavera de 1994, durante una sesión de trabajo
organizada por Tim Berners-Lee, creador de HTML y padre del WWW y Dave Raggett.,
con el objeto de discutir acerca de la posiblidad de incorporar una interfaz de
realidad virtual para el WWW. Entre los asistentes se determinó la necesidad de
disponer de un lenguaje simple capaz de describir una escena tridimensional,
distribuíble a través de HTTP e integrable en el mundo WWW mediante la
incorporación de hiperenlaces que permitieran saltar a otras escenas 3D o a
ducumentos HTML. Así, surgió el nombre de VRML, Virtual Reality Markup
Language, por analogía con el de HTML (HyperText Markup Languaje).
Posteriormente el nombre se cambio por el de Virtual Reality Modeling Language,
mucho más apropiado. En la misma sesión se decidió compenzar el proceso de
especificación del mismo y crear la lista de correo www-vrml con este
objetivo. Al fnal de su primera semana de existencia, la lista ya contaba con
más de mil suscriptores.
Poco tiempo después Mark Pesce, moderador de la lista, anunció el objetivo de
disponer de una primera especificación del lenguaje para invierno de ese mismo
año. La premura era grande, pero el objetivo principal era disponer cuanto antes
de un punto de partida sobre el cual edificar un futuro ciberespacio. Así pues,
se partió de un objetivo poco ambicioso, reduciendo los requisitos a la
definición de un lenguaje de descripción de escenas con hiperenlaces. Ficheros
de descripción en este lenguaje deberían ser transmitidos a través de HTTP e
interpretados en el ordenador que los recibiera, siendo éste el encargado de
renderizar la escena.
Con una mentalidad practica, enseguida surgió la idea de no "reinventar" la
rueda, por lo que lo primero que se hizo fue una revisión de todas las
soluciones ya existentes encontrándose especialmente apropiado el formato de
ficheros de Open Inventor, un toolkit orientado a objetos para el desarrollo de
aplicaciones gráficas interactivas propiedad de Silicon Graphics Inc. Se sugirió
a esta empresa que hiciera el formato libre y SGI no sólo aceptó sino que, en la
persona de Gavin Bell, tomo un subconjunto de formato, lo modificó de acuerdo a
lo discutido en la lista de correo y se le añadieron las extensiones para red.
De esta forma, surgió la primera versión de VRML que daría lugar a VRML 1.0
[Bell95]. SGI declaró el formato de uso público y cedió un parser al dominio
público para el rápido desarrollo de visores VRML.
En el nivel de mayor abstracción, VRML define propiedades y relaciones entre
objetos. Estos objetos pueden, teóricamente, tomar cualquier forma concreta, una
geometría 3D, una imagen, un sonido, texto, etc. Para VRML todos los objetos se
denominan genéricamente nodos.
Los nodos se organizan genéricamente en grafos de escena. Estos
grafos de escena no definen únicamente conjuntos de nodos sino que aportan a
estos conjuntos las nociones de órden y ámbito. De esta forma,
cada nodo puede afectar los nodos que aparecen después en su mismo ámbito, en su
grafo de escena. Por ejemplo un cono podría encontrarse rotado y dotado de una
determinada textura si previamente se hubieran definido los nodos
correspondientes a la rotación y textura en su mismo ámbito. Por ello, para
aislar los nodos en diferentes ámbitos se definen también nodos
separadores.
Un nodo VRML es un objeto que contiene los siguientes
atributos :
El principal problema de la versión 1.0 de VRML se encontraba en la
ausencia de semántica. Se trataba simplemente de un lenguaje de especificación
de geometrías. Por tanto, a través de él, únicamente era posible recorrer mundos
inertes. La ausencia de semántica llevaba incluso a situaciones inesperadas,
como la posibilidad de atravesar los objetos representados, incluyendo suelos y
paredes. Por ello, enseguida surgió la versión 1.1 del lenguaje que añadía
algunas extensiones para la incorporación de sonido y animaciones simples.
Paralelamente, la totalidad de las empresas que desarrollaban browsers VRML
incorporaban sus propias extensiones, comenzando por la detección de colisiones.
Esto hizó peligrar la existencia de un estándar por lo que inmediatamente se
comenzó el trabajo para la especificación de la versión 2.0 de VRML. Así, se
creó el VAG, VRML Architecture Group [S1], y se lanzó un
Request-for-Proposal en Internet para la definición de esta nueva versión.
El objetivo fundamental era la incorporación de semántica a la geometría. Seis
propuestas fueron presentadas : Active VRML de Microsoft, Dynamic
Worlds de GMD y otros, HoloWeb de SUN, Moving Worlds de SGI y
otros, Out of this World de Apple y Reactive Virtual Environment
de IBM Japón. Tras el correspondiente proceso de estudio y revisión de las
mismas se decidió aceptar la propuesta Moving Worlds [S2] de SGI, Sony y Mitra.
La propuesta fue revisada en diversos borradores que dieron lugar a la versión
definitiva de VRML 2.0 en otoño de 1996. Esta versión aporta grandes mejoras
sobre su predecesora, que se reflejan en las siguientes
características :
En este momento, las especificaciones de la versión 3.0 de VRML se encuentran
en fase de discusión, aunque el caballo de batalla se centra en la definición de
mundos multiusuario, por lo que uno de los elementos a incorporar serán avatares
3D. Se espera que se produzca una estandarización de avatares de tal forma que
estos puedan ser empleados en distintos tipos de mundos. Otras extensiones
esperadas son la inclusión de streaming de datos en concreto, de audio y
video.
Como se ha comentado VRML 1.0 presenta ciertas deficiencias respecto a su
sucesor. Sin embargo, sus carencias tienen una importancia relativa en el mundo
de la visualización científica. De hecho, su mayor sencillez es la causa de que,
por el momento, muchos de los trabajos de visualización se hayan realizado sobre
la versión 1.0 del lenguaje. Gran parte de las compañias que realizan software
para el diseño 3D han lanzado versiones capaces de importar y exportar VRML 1.0
y han surgido algunas utilidades de conversión de los formatos más extendidos a
esta versión del lenguaje. Con la versión 2.0 no ha ocurrido lo mismo dada su
mayor complejidad.
En cualquier caso, para la visualización de datos no son necesarias ninguna
de las nuevas incorporaciones del lenguaje ya que, las aplicaciones más
empleadas son la representación de funciones con espacios origen y/o destino
multidimensionales y la representación datos con estructuras física, como
moléculas o distribuciones de elementos o partículas. En el terreno de la
visualización de información aún sigue siendo una herramienta válida la versión
1.0, aunque la posibilidad de definir una semántica sobre los objetos
representados es muy deseable y es ya en el caso de la simulación donde se hace
necesario el empleo de la versión 2.0 de VRML.
La tarea más costosa del presente trabajo ha sido la revisión de los casos en
que se ha empleado VRML como herramienta de visualización. A continuación hago
una breve presentación de todos los casos que he revisado de primera mano y
considerado de interés. El primer hecho que llama la atención al respecto es la
escasez de trabajos serios al respecto. Es posible encontrar multitud de
referencias en Internet al tema para descubrir que tras la mayoría de ellas se
encuentran simples declaraciones de intenciones o experimentos muy simples. En
definitiva, se podría obtener como conclusión la neutralidad de VRML como
herramienta de visualización frente a otras herramientas 3D o de realidad
virtual. La mayoría de los grupos que se dedican a visualización científica y la
emplean, lo hacen como un valor añadido y sus trabajos pueden encontrarse
también en otros formatos. Por ello, quizá se podría concluir que la utilidad de
VRML como herramienta de visualización puede fundamentarse en la posibilidad que
ofrece de publicar ciertos trabajos en Internet, sus posibilidades como
herramienta didáctica y la posibilidad de que se convierta en un estándar
universal. Algunos ejemplos de trabajos serios sobre VRML se citan a
continuación
National Institute of Standards and Technology (NIST) http://math.nist.gov/mcsd/Staff/RLipman/vrml/vrml.html
Uno de
los lugares donde se pueden encontrar trabajos de gran interés tanto en VRML 1.0
como en VRML 2.0 es en la Mathematical and Computational Sciences
Division del NIST, National Institute of Standars and Technology.
Este departamento ha realizado modelos de diversa complejidad como la medidas de
error de una máquina de medición de coordenadas sobre una esfera, absorción
secuencial aleatoria adaptativa, diversos modelos de elementos finitos,
representaciones de superficies terrestres o densidad de hits de partículas
sobre una molécula. El caso del NIST es especialmente interesante ya que hace
uso de links y viewpoints VRML.
National Center for Supercomputing Aplications (NCSA) http://www.ncsa.uiuc.edu/General/VRML/VRMLHome.html
Algunos de
los trabajos de visualización científica más interesantes que se pueden
encontrar en Internet se deben al NCSA, National Center for
Supercomputing Aplications, University of Illinois at Urbana-Champaign,
donde el NCSA Relativity Group está utilizando VRML 1.0 para distribuir
información acerca de sus simulaciones que cubren aspectos como ondas de
Teukolsky o colisiones de agujeros negros y el NCSA Cosmoly Group emplea
este formato para visualizar distribuciones de gases en cúmulos galácticos.
Asimismo, la NCSA Astronomy Digital Image Library proporciona un número
cada vez mayor de visualizaciones en formato VRML basadas en mediciones de
telescopios como el BIMA Millimeter Array o el radiotelescopio Very Large
Array.
National Space Science Data Center
http://nssdc.gsfc.nasa.gov/cohoweb/vrml/coho.html
El NSSDC
(NASA) ha desarrollado una serie de visualizaciones en VRML a partir de la base
de datos de mediones de naves espaciales COHO Coordinated Heliospheric
Observations (COHO). Entre las visualizaciones que se pueden observar figuran
temperatura y velocidad de plasma así como campos magneticos medidos por las
naves Helios 1 y 2, Pioneer 10, 11 y 12 y Voyager 1 y 2.
Arizona Research Laboratory
http://flybrain.neurobio.arizona.edu/Flybrain/html/vrml/vrml.html
Este laboratorio cuenta con diveros modelos del sistema nervioso de la
drosophila adulta y en otros estadíos de desarrollo tanto en VRML 1.0 como en
VRML 2.0.
Mark Pesce : Web Earth
http://www.hyperreal.com/~mpesce/we/
Marc Pesce, ha desarrollado WebEarth en versiones VRML 1.0 y 2.0 un
modelo de la tierra que integra las imágenes recogidas por satélites cada 30
minutos en una esfera.
Electronics Institute, Technical University of Denmark
http://hendrix.ei.dtu.dk/
En
esta Universidad se está llevando a cabo el Human Brain Project en el que
se pueden encontrar diversos modelos morfológicos y funcionales del cerebro
humano en formato VRML 1.0 y VRML 2.0.
Pero en el campo en el que es más fácil encontrar modelos VRML es en el de la
química, donde se emplea con profusión para el modelado de moléculas. Caso
interesante es el del Institute of Molecular Biotechnology, Jena /
Germany ( http://www.imb-jena.de/IMAGE.html)
que contine una biblioteca de macromoléculas, incluyendo ácidos nucleicos y ADN.
En el VRML Repository es posible encontrar enlaces a otra docena de
instituciones con modelos moleculares.
Asimismo, es también posible encontrar desarrollos comerciales :
Transaction Information Systems
http://www.tisny.com/vrml/
TIS
es uno de los pocos ejemplos de empresa que ha desarrollado diversas
herramientas para la visualización de funciones matemáticas, gráficos
estadísticos y económicos en VRML. En concreto, en la dirección indicada, es
posible acceder a un módulo de representación de funciones matemáticas online,
así como a ejemplos de sus otros trabajos.
Ejemplos de visualizaciones
por TISNY
DrawP3D. Visualization Subrutine Library
http://www.psc.edu/Packages/DrawP3D_Home
DrawP3D es una librería de subrutinas para Fortran o C destinada a
visualización científica desarrollada por el Pittsburgh Supercomputing
Center. Originalmente se encontraba ligada a formato 3PD pero en la
actualidad soporta también los formatos VRML y Open Inventor. El paquete genera
isosuperficies, superficies Z, ejes y otros elementos comunes en visualización a
partir de rejillas, datos, datos aleatorios y primitivas gráficas como
polígonos, esferas y cilindros. Por el momento no soporta mapeado de texturas.
Su principal particularidad es que puede actuar de forma distribuida utilizando
PVM. Dada una estación ejecutando Open Inventor de Silicon Graphics, se puede
combinar en un único display la geometría procedente de distintos procesos
ejecutándose en paralelo. Bajo petición se proporciona también una herramienta
que permite a DrawP3D transmitir a un entorno de realidad virtual de tipo CAVE
empleando Performer de Silicon Graphics.
FreeBASE
http://www.scism.sbu.ac.uk/cios/FreeBase
FreeBASE es un proyecto del SCSIM cuyo objetivo es proporcionar
un entorno para el desarrollo y la comparativa de mecanismos de consulta y
visualización de bases de datos que proporciona una salida en VRML.
VRML Topographic Map Generator
http://evlweb.eecs.uic.edu/pape/vrml/etopo
El VRML Topographic Map Generator es una de las herramientas de
generación VRML disponibles online más interesantes. Permite al visitante
generar representaciones VRML de mapas topográficos de cualquier lugar del
mundo, empleando para ello la base de datos ETOPO-5 del NOAA NGDC, un mapa con
una resulución de 5 minutos de arco que cubre toda la superfice del planeta,
continental y submarina. La superficie generada puede tomar color en función de
su elevación o tomar texuras de otras bases de datos como la CIA Wolrd Data
Bank, una composición AVHRR o datos de biosfera. El usuario introduce las
coordenadas y parámetros deseados de la visualización a través de un form y tras
el cálculo pertinente se presenta la visualización deseada. Como curiosidad, se
presenta la posibilidad de consultar un mapa plano en el que se visualiza
frecuencia de accesos a cada zona del mundo con un código de colores.
xtal-3d for WWW
http://193.49.43.3/dif/3D_crystals.html
xtal-3d es una aplicación desarrollada en el Institut Laue Langevin,
Grenoble, Francia por Marcus Hewat empleando la CCSL Cambridge Crystallographic
Subroutine Library (P.J. Brown and J. Matthewman) que genera visualizaciones de
estructuras cristalinas en 3D en formato VRML.
Interactive Membrane Builder
http://bellatrix.pcl.ox.ac.uk/people/alan/WebSpace/builder/form.html
Esta herramienta, desarrollada por el Physical Chemistry Laboratory
de la Univesidad Oxford, UK, permite que el usuario pueda seleccionar los
diferentes componentes que desea incorporar a una membrana celular que es
generada posteriormente en formato VRML.
VRML Data Visualization Tool
http://skynet.ul.ie/~keith/fyp/index.html
VRML Data Visualization Tool es un interesante proyecto de fin de
carrera desarrollado por Keith Ahern en la Universidad de Limerick en Irlanda
que genera mundos VRML 1.0 a partir de datos introducidos por el usuario. Para
ello, proporciona un form a través del cual el usuario puede introducir los
datos en forma de tablas, rangos y funciones reales de dos variables reales. La
herramienta trabaja con una precisión de 32 bits y escala automáticamente los
datos para mostrarlos en pantalla.
c) Otras herramientas VRML 2.0
http://vrml.sgi.com/tools/
Contiene parsersVRML 2.0, traductores y otras utilidades.
Los visores VRML originales eran programas independientes del browser WWW
tradicional, que únicamente era capaz de presentar documentos HTML, pero hoy en
día, la mayoría suelen encontrarse integrados en los browsers WWW o se pueden
incorporar a éstos en forma de plug-ins. Existe multitud de browsers para la
versión 1.0 de VRML, sin embargo, es más difícil encontrar clientes para la
versión 2.0. Por ello, he reunido la tabla que figura a continuación. De ellos,
por el momento, únicamente he tenido tiempo de probar el COSMO Player de SGI que
aún no presentaba una funcionalidad completa. No he podido probar la beta de la
versión 2.0 de Live 3D pero si conserva la interfaz de la versión, es mucho más
intuitivo y amigable que COSMO Player.
Community Place
http://sonypic.com/vs/
Sony's
Virtual Society
SGI CosmoPlayer
http://vrml.sgi.com/cosmoplayer/download.html
Silicon Graphics Inc.
Liquid Reality(browser y toolkit)
http://www.dimensionx.com/
Dimension X
Live 3D 2.0
http://home.netscape.com/eng/live3d/
Netscape
VRwave
http://www.iicm.edu/vrwave
Institute for Information Processing and Computer Supported New Media
Graz University of Technology, Austria
WorldView
http://www.intervista.com/products/worldview/
Intervista
GL View OGL/D3D(para OpenGL o Direct3D)
http://www.glview.com
EMD
CASUS Presenter
http://www.igd.fhg.de/CP/
Fraunhofer Institute for Computer Graphics, Darmstadt, Alemania
Este
browser se encuentra realizado en Java
RealSpace
http://www.livepicture.com/
Live Picture
NOTA : RealSpace es un plug-in (Xtra) para
Macromedia Director capaz de renderizar VRML 2.0, por lo que no se ha incluido
en la tabla
Browsers VRML 2.0
win95 | win NT | SGI | Dec | SUN | Linux | Fuentes | |
Sony
Community Place |
X | X | |||||
SGI
COSMO |
X | X | X | ||||
Dimension X
Liquid Reality |
X | X | X | X | X | ||
Netscape
Live 3D 2.0 |
X | X | |||||
IICM
Vrwave |
X | X | X | X | X | ||
Intervista
Worldview 2.0 |
X | X | |||||
EMD
GLView |
X | X | |||||
CASUS Presenter
FGH |
X | X |
Análogamente a lo que ocurre con los visores, existe una gran cantidad de herramientas para la edición de VRML 1.0 y no es difícil encontrar conversores para la mayoría de los formatos 3D existentes. Sin embargo, el número se reduce drásticamente cuando se buscan herramientas de authoring para VRML 2.0, hasta tal punto que únicamente he sido capaz de encontrar tres :
ParaGraph International
http://www.paragraph.com/vhsb
Virtual Home Space Builder VRML 2.0 authoring tool. (PC & MAC)
Integrated Data Systems
http://www.ids-net.com/ids/builder/builder.html
VRealm Builder VRML 2.0 authoring tool. (WIN 95 & NT, PC &DEC)
Silicon Graphics, Inc.
http://www.sgi.com/Products/cosmo/worlds
Cosmo Worlds VRML 2.0 authoring tool. (IRIX)