Computación Gráfica
cgrafica  
 
  Sobre VMRL 09-05-2025 12:15 (UTC)
   
 
En esta ocasion se exponene con más detalle sobre VRML sus características, evolución, ejemplos del uso que le han dado en proyectos en ciencias y educación.

VRML son las siglas de Virtual Reality Modeling Language: lenguaje para el modelado de la realidad virtual. Aunque su nombre es similar al del HTML (Hyper Text Markup Language: lenguaje de marcas de hipertexto), la diferencia fundamental entre ambos se encuentra en la sustitución de la palabra "marca" por la de "modelado"

En el caso del HTML simplemente se "marca" o "etiqueta" el texto para formatearlo. Sin embargo en el caso del VRML se diseñan objetos tridimensionales y su comportamiento; por eso es más adecuada la palabra “modelado”.

Este diseño de objetos tridimensionales requerirá una mayor planificación e implicará una mayor complejidad en el desarrollo de las páginas. Se necesitará pues, tener un buen razonamiento espacial para diseñar los mundos 3D, ya que se trabajará con vectores, ejes, coordenadas, y cualquier otro elemento relacionado con la geometría 3D.


Para entender mejor qué es VRML no podemos ignorar el significado de Realidad Virtual (RV), ya que, como bien indica el nombre, es un lenguaje de modelado de realidad virtual. Podemos encontrar varias definiciones de RV pero todas coinciden en los mismos conceptos. Por ejemplo, se podría definir RV 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". 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". 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.

Inicios:

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 posibilidad 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 documentos HTML. Así, surgió el nombre de VRML, Virtual Reality Markup Language, por analogía con el de HTML (HyperText Markup Language). Posteriormente el nombre se cambio por el de Virtual Reality Modeling Language, mucho más apropiado como hemos indicado en la introducción.

En la misma sesión se decidió comenzar el proceso de especificación del lenguaje y crear la lista de correo www-vrml con el objetivo de conseguir una primera especificación en unos cinco meses y así presentarla en la segunda conferencia Web en octubre de ese mismo año. La lista, al final de su primera semana de existencia, ya contaba con más de mil suscriptores.

Tras una serie de debates en los que se discutieron diferentes propuestas, la alternativa
presentada por Silicon Graphics Inc. (SGI) fue la que consiguió un mayor número de votos. Esta propuesta consistía en utilizar como punto de partida el formato de ficheros de Open Inventor (producto de dicha compañía), que era un conjunto de herramientas orientadas a objetos para el desarrollo de aplicaciones gráficas interactivas.
Gavin Bell (de SGI), tomo un subconjunto del formato mencionado, lo modificó de acuerdo a lo discutido en la lista de correo, y se le añadieron las extensiones para red. De esta forma, en octubre de 1994, se presentó la primera versión de VRML que daría lugar a VRML 1.0.

A principios de 1996, Silicon Graphics pone a disposición del dominio público QvLib, el cual se convirtió en el primer parser VRML capaz de traducir el texto de una escena virtual a un formato entendible por un navegador. Posteriormente aparecería WebSpace, el primer navegador capaz de leer e interpretar todo el estándar VRML.

Evolución:

VRML 1.0

VRML 1.0 es un lenguaje para la descripción de mundos virtuales estáticos, que cumple tres requisitos fundamentales:

- Es independiente de la plataforma donde se ejecute el visualizador.
- Tiene capacidad para trabajar de un modo eficiente con conexiones lentas.
- Extensibilidad, es decir, facilidad para futuras ampliaciones del lenguaje.

El principal problema de esta versión 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.


VRML 2.0

Debido a los problemas de la versión 1.0, 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 hizo 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.

Seis propuestas fueron presentadas para la versión 2.0 en las que se pretendía eliminar el problema de la semántica: 1. Active VRML de Microsoft, 2. Dynamic Worlds de GMD y otros, 3. HoloWeb de SUN, 4. Moving Worlds de SGI y otros, 5. Out of this World de Apple y 6. 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 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 :

· Semántica: Esta es la principal mejora de la versión 2.0. que se consigue mediante la incorporación de nodos de comportamiento que pueden ejecutar scripts realizados en lenguajes como C++, Java, JavaScript y VRMLScript. Para ello es necesaria una comunicación entre nodos, comunicación que se realiza mediante eventos que se propagan a través de rutas (conexiones entre nodos generadores y receptores de eventos). De esta forma, es posible definir, por ejemplo, que al acercarse el usuario a determinado objeto, un nodo de proximidad genere un evento que sea recibido por un nodo de comportamiento, que ejecutará en programa adecuado.

· Mayor poder descriptivo: La nueva versión 2.0 de VRML permitía la definición de mundos más reales, al incorporar superficies irregulares, condiciones atmosféricas como niebla y nodos de sonido espacial.

· Mayor interactividad: Mediante la incorporación de nodos sensores de proximidad, contacto, visibilidad y tiempo.

· Animación: Mediante la incorporación de interpoladores.

· Modularidad: Mediante la generación de prototipos que agrupan conjuntos de nodos predefinidos.

Finalmente, VRML 2.0 se sometió al ISO/IEC para su aprobación y estandarización. VRML97 es el resultado de ese proceso, y es una norma de ISO/IEC. VRML97 es prácticamente idéntico a VRML 2.0, con un par de cambios menores en detalles muy pequeños.

Herramientas de visualización : browsers:

Los visores VRML originales eran programas independientes del browser WWW tradicional, pero hoy en día la mayoría se incorporan a éstos en forma de plug-ins. Existe multitud de browsers para VRML, nosotros nombraremos alguno de ellos y dónde encontrarlos.
Para windows:

- Cosmo Player
http://vrml.sgi.com/cosmoplayer/download.html
- GLView
http://www.snafu.de/~hg (compatible con otros navegadores)
- Viscape Universal
http://www.superscape.com/
- Live 3D
http://home.netscape.com/eng/live3d/
- WorldView
http://www.intervista.com/products/worldview/

Para Linux:

- VRML4Linux
http://www.pernet.net/~kahlage/vrml.html
- FreeWRL
http://www.cocreate.com/links/viewer/index.htm

Para Mac:

- Cosmo Player
http://vrml.sgi.com/cosmoplayer/download.html
- MacWeb3D
http://www.macweb3d.org/

Creación de mundos VRML:

Para crear tus propios mundos VRML tienes dos opciones:

1. Codificarlos a mano, y para ello solo necesitas un editor del texto, como el notepad o el wordpad. Aunque recomendamos el VrmlPad
(http://www.parallelgraphics.com/products/vrmlpad) que, a nuestro juicio, es un editor muy bueno. Una vez realizado el código, debemos salvarlo como archivo .wrl; pero debemos asegurarnos de guardar el archivo como texto sin formato, al igual que con ficheros ‘html’.

2. Puedes usar una de las muchas herramientas de autoría de VRML o modeladores de 3D. Esta opción es bastante interesante porque trabajar con VRML en crudo está muy bien, pero puede resultar difícil en algunas ocasiones el crear objetos complejos.
Probablemente sea necesario algún programa de conversión de archivos para convertir del formato del modelador al VRML. Uno bastante bueno y gratuito es Crossroads
(http://www.europa.com/~keithr)

APLICACIONES


El VRML a conseguido implantarse como herramienta de trabajo en numerosas disciplinas, a continuación mostramos una lista enumerando algunas de ellas:

- Apoyo a Diseño de Automoviles.
- Apoyo a exploraciones planetarias.
- Arte Virtual.
Manipulacion de esculturas.
Museos Virtuales.
- Bancos de Informacion Virtuales.
- Arquitectura Virtual.
Edificaciones Virtuales.
Interiores Virtuales.
Usos de la Tierra Virtuales.
Desarrollo Urbano.
Infraestructura de Servicios.
- Astronomia.
- Caminatas Virtuales.
- Control Virtual de Vuelos.
- Educacion Virtual.
Arte.
Ciencia.
Geografia.
Historia.
Matematicas.
Tecnologia.
- Estudios Ambientales.
- Finanzas y Mercadeo.
- Historia Virtual.
Modelacion de Estructuras y Pueblos Antiguos.
- Industrias Virtuales.
Modelos de Procesamiento.
Modelos de Transporte.
- Ingenieria Virtual.
- Juegos Virtuales.
- Medicina.
- Medios de Comunicacion Masiva.
- Modelacion de Reacciones Quimicas y moléculas.
- Simulaciones de Sismos.
- Sitios de Reunion Virtuales.
- Telerobotica.
- Visualizacion Cientifica.
- Visualizacion de Bases de Datos.
- Visualizacion de Eco Sistemas.
- Visualizacion de Modelos Quimicos.
- Visualizacion de Museos.
- Visualizacion de Redes.
- Visualizacion Educacional.
- Educacion Virtual.


Algunos ejemplos de trabajos serios sobre VRML se citan a continuación:

Arizona Research Laboratory
http://flybrain.neurobio.arizona.edu/Flybrain/html/vrml/vrml.html

Este laboratorio cuenta con diversos modelos del sistema nervioso de la drosophila adulta y en otros estados de desarrollo tanto en VRML 1.0 como en VRML 2.0.

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. La superficie generada puede tomar color en función de su elevación o tomar texturas.
El usuario introduce las coordenadas y parámetros deseados de la visualización y tras el cálculo pertinente se presenta la visualización deseada.

CARACTERÍSTICAS DEL LENGUAJE

VRML proporciona nodos con los que construir objetos 3D, crear luces, aplicar texturas a los objetos, asociar ficheros de audio a determinados sucesos o utilizarlos como sonido de fondo, detectar la proximidad de un objeto a otro, etc. Para animar un mundo virtual pueden conectarse unos nodos a otros, de manera que puedan intercambiar información por medio de eventos. Estos eventos pueden estar producidos por un contador o como respuesta de un objeto a otros eventos que ha recibido. Por ejemplo, pulsando con el ratón sobre un interruptor se puede hacer que una luz se encienda o se apague; o arrastrando el ratón pulsado sobre un objeto puede hacerse que éste se desplace sobre una superficie o gire sobre sí mismo.

1. Estructura básica.

a) Cabecera: indica al navegador que está recibiendo un archivo de VRML, y la versión correspondiente del lenguaje. La parte del utf8 dice al navegador qué standard de cadenas de texto debe emplear, VRML 1.0 usaba ascii o utf8, pero la versión 2 tiene sólo utf8.
Ejemplo:
#VRML V2.0 utf8

b) Comentarios: cualquier línea que comience con una almohadilla ‘#’ es un comentario, y será ignorado por el intérprete VRML (abarcara hasta el final de línea). La primera línea es una excepción, y es leida por el navegador, a pesar de que tenga un # en el comienzo.

c) Nodos: son los elementos básicos del lenguaje. Cada nodo define una característica de la escena (un objeto 3D, un color, una fuente luminosa, un fichero de audio, un sensor), y a su vez puede ser parte de otro nodo, de este modo los nodos pueden anidarse entre sí creando un tipo de jerarquía de nodos, a veces llamado el Grafo de la Escena formado por cientos de nodos en muchas ocasiones. Cada nodo poseerá una serie de atributos, que lo caracterizan.

#VRML V2.0 utf8
# Un cilindro
Shape {
appearance Appearance {
material Material { }
}
geometry Cylinder {
height 2.0
radius 1.0
}
}
Figura 9: Cilindro creado


En el ejemplo anterior, aparece el nodo Shape (es uno de los nodos básicos) que describe un objeto para el que se especifican tres atributos, que a su vez son nodos: el aspecto (atributo appearance, al que se asigna un nodo Appearance), dentro de éste se describe el material (atributo material, al que se asigna un nodo Material); y, por último, la forma o estructura (atributo geometry, al que se asigna un nodo Cylinder).
Cada nodo consta de un nombre que identifica el tipo de nodo de que se trata y, encerrados entre llaves, otros nodos, o atributos acompañados por sus correspondientes valores. En nuestro ejemplo, el nodo Cylinder tiene dos campos, height y radius, a los que en este caso asignamos los valores 2 y 1, respectivamente. El resultado se aprecia en la figura 1.

Otro nodo básico es el WorldInfo: este nodo contiene la información general sobre el mundo, es como un título. Este se despliega en la barra del título de la ventana del navegador, igual que la etiqueta
 
  Paginas
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  Datos
J
  Enlaces interesantes
Hoy habia 27 visitantes (28 clics a subpáginas) ¡Aqui en esta página!
Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis