32

VRML

  • Upload
    hinago

  • View
    969

  • Download
    0

Embed Size (px)

Citation preview

Page 1: VRML
Page 2: VRML

Realidad VirtualRealidad Virtual

"Una combinación de diversas tecnologías e interfaces "Una combinación de diversas tecnologías e interfaces que permite a uno o más usuarios interactuar, en que permite a uno o más usuarios interactuar, en tiempo real, con un entorno o mundo dinámico tiempo real, con un entorno o mundo dinámico tridimensional generado por computadora." tridimensional generado por computadora."

Tridimensionalidad

Navegación

Interacción

Inmersión

Page 3: VRML

VRML es un lenguaje para describir objetos y VRML es un lenguaje para describir objetos y mundos 3D interactivos. Puede decirse que más mundos 3D interactivos. Puede decirse que más que un lenguaje de programación es un lenguaje de que un lenguaje de programación es un lenguaje de modelamiento de escenas tridimensionales modelamiento de escenas tridimensionales interactivas. VRML permite implementar escenas interactivas. VRML permite implementar escenas estáticas o dinámicas en 3D con posibilidad de estáticas o dinámicas en 3D con posibilidad de encadenamiento de texto, sonido, imágenes y vídeo. encadenamiento de texto, sonido, imágenes y vídeo. Nació en 1994 en laboratorios de Sillicon Graphics y Nació en 1994 en laboratorios de Sillicon Graphics y su popularidad creció en los últimos años.su popularidad creció en los últimos años.

Page 4: VRML

Está diseñado para usarse sobre Internet, intranets, y sistemas locales. Los mundos VRML pueden transmitirse e inter-relacionarse a través del WWW y visualizarse mediante algún navegador o browser VRML.

Page 5: VRML

VRML ha sido diseñado para satisfacer los siguientes requerimientos:

Autoría

Composición

Extensión

Capacidad de Implementación

Desempeño

Escalabilidad

Page 6: VRML

AplicacionesAplicaciones

• Arquitectura

• Urbanismo

• Biomedicina

• Genética

• Anatomía

• Geología

• Arte

• Investigación

• Simulación

Page 7: VRML

Requisitos para trabajar con VRML

Un navegador web (con el plugin necesario) o un visualizador VRML. Para editar el código un editor de texto plano cualquiera, los archivos VRML tienen la extensión .wrl y .wrz (código VRML comprimido con GZIP).

CabeceraPara que un navegador pueda identificar que un archivo contiene código VRML, este debe contener en la primera línea:

#VRML v1.0 ascii Para la primera versión#VRML v2.0 utf8. Para la segunda versión

Page 8: VRML

CONCEPTOSCONCEPTOSBASICOSBASICOS

Page 9: VRML

NodosSon los objetos en nuestro mundo virtual. También pueden contener otros nodos (se anidan).

CamposContenidos dentro de los nodos (propiedades de los objetos). Tienen un tipo de dato asociado.

EventosPensados como mensajes que circulan entre nodos permitiendo la variación de sus parámetros.

NombresSensible al cambio de mayúsculas a minúsculas. Los nodos comienzan con MAYUSCULA y los campos con minúscula.

Page 10: VRML

MedidasSe utilizan los metros para un mundo VRML, en lo que a ángulos se refiere, se utilizan los radianes. El tiempo se mide en segundos y los colores con RGB.

PrimitivasSon objetos predefinidos. Utilizamos el nodo Shape. Encontramos cubos, esferas, cilindros y conos. Varían su definición según los valores asignados a sus respectivos campos. Ejemplo 1: un cubo

Shape{

geometry Box {size 4 3 5}}

Page 11: VRML

La definición de un nodo primitivo no implica su visualización. Para definir la apariencia de la primitiva se debe definir un color y/o una textura.

ColorLo definimos con el campo material, utilizando un nodo Material. Este último posee campos como:

diffuseColor: Es el color del objeto (RGB)emissiveColor: Color de brillo emitido por el objeto (RGB) specularColor: Es el color que refleja un objeto (RGB) ambientIntensity: Cantidad de luz ambiental que reflejará el objeto (1 solo valor) transparency: Nivel de transparencia del objeto (1 solo valor) shininess: Intensidad del brillo del objeto (1 solo valor)

Page 12: VRML

Shape{ appearance Appearance{

material Material{ diffuseColor color_RGB emissiveColor color_RGB specularColor color_RGB ambientIntensity valor transparency valor shininess valor } } geometry ... }

Page 13: VRML

PRIMITIVASPRIMITIVAS

Page 14: VRML

Son objetos predefinidos. Debemos utilizar el nodo Shape:

Shape{

geometry Box {size 4 4 4}}

Shape{

geometry Cone {bottomRadius 3height 2

}}

Page 15: VRML

Shape{

geometry Sphere {radius 5}}

Shape{

geometry Cylinder{radius 5height 5

}}

Page 16: VRML

TRANSFORMACIONESTRANSFORMACIONES

Page 17: VRML

Transform

Nodo que permite situar, rotar y escalar los objetos. Para ello emplea los campos (fields):

● translation● rotation ● scale

Todas las transformaciones pueden realizarse en el mismo nodo.

Page 18: VRML

TraslaciónEste campo permite desplazar el objeto respecto a los ejes X, Y y Z.

Transform{

translation 10 0 0children[

Shape{

geometry Box {size 4 3 5}appearance Appearance{

material Material{ diffuseColor 1 0 0}}

}]

}

Page 19: VRML

RotaciónField que permite rotar el objeto respecto a los 3 ejes en radianes

Transform{

translation 10 0 0rotation 0 1 0 0.5236 # equivalente a 30 grados children[

Shape{

geometry Box {size 4 3 5}appearance Appearance{

material Material{ diffuseColor 1 0 0}}

}]

}

Page 20: VRML

EscalaPermite agrandar o reducir el tamaño del objeto según sus ejes.

Transform{

scale 2 1 1 # escalado no uniformechildren[

Shape{

geometry Box {size 4 3 5}appearance Appearance{

material Material{ diffuseColor 1 0 0}}

}]

}

Page 21: VRML

TEXTOTEXTOPermite posicionar en el mundo virtual una cadena de texto. Utilizamos el nodo Text que tiene los siguientes campos: string, fontStyle, maxExtent, lenght.

ENLACESENLACESEl nodo Anchor crea un grupo especial ya que seleccionando cualquier objeto perteneciente a dicho grupo se salta hacia otro mundo virtual o pagina Web (equivalentes a los enlaces existentes en las páginas Web realizadas mediante HTML). Cualquier objeto o grupo de objetos se puede convertir en un enlace.

Page 22: VRML

IndexedFaceSetLas primitivas son muy restrictivas en cuanto a formas. Con esta estructura podemos definis geometrias arbitrariamente. Este modelo permite definir un objeto 3D apartir de sus vertices y caras.

FORMAS COMPLEJASFORMAS COMPLEJAS

Restricciones:(1) Los vértices tiene que ser consecutivos siguiendo el perímetro de la cara.(2) Los vértices tiene que ir en orden antihorario mirando a la cara desde el exterior del objeto.(3) El último vértice de cada cara se enlaza con el primero (cerrando el circuito).

Page 23: VRML

COLORES EN FORMAS COMPLEJAS

El field colorPerVertex dice si los colores se asignarán a los vértices o a las caras del objeto (valor booleano).En el field color se coloca una lista de colores a través de un nodo Color.

DEFPermite definir nodos de un objeto que se utilizarán en repetidas oportunidades. Le da un nombre al nodo.

USE Posibilita la utilización de los nodos definidos anteriormente.

Page 24: VRML

OBJETOS ALMACENADOS EN FICHEROSOBJETOS ALMACENADOS EN FICHEROS

En ocasiones conviene almacenar cada objeto en su pripio fichero. Por ejemplo se deseara modelar una habitación, los diferentes elementos que van a aparecer dentro de ella: paredes, puertas, mesas, sillas, cama, etc, son objetos independientes entre si pero que se engloban dentro de un mismo espacio y, que además, pueden aparecer varias veces en el diseño de todo mundo virtual.Se utiliza el nodo Inline que permitie crear un grupo en donde los hijos, almacenados en distintos ficheros VRML, son recuperados indicando su dirección URL.

Inline{

url "mundo-virtual.wrl" }

Page 25: VRML

EVENTOSEVENTOSMensaje que enviado por un objeto y recibido por otro.

RoutingROUTE es el comando que permite enlazar un eventOut con un eventIn.

InterpoladoresNodos que nos permiten hacer algo en un intervalo determinado. Tipos:

● ColorInterpolator● CoordinateInterpolator● OrientationInterpolator● PositionInterpolator

Page 26: VRML

SENSORESNodo detector que reacciona ante estímulos.

Sensor de TiempoTimeSensor es un reloj que podemos utilizar a nuestro gusto. Se basa en el reloj de tiempo real del sistema.

Sensor de ProximidadProximitySensor es un nodo que detecta la proximidad del usuario respecto a un objeto.

Sensor de TactoTouchSensor permite detectar cuando el usuario hace click sobre algún objeto.

Page 27: VRML

Texturas con Imágenes

Serie de pixeles que se mapean en nuestro objeto (imagen jpg, jpeg, gif ó png). Esto se hace con el nodo ImageTexture.

Shape{

geometry Box {size 4 3 5}appearance Appearance{

material Material{ diffuseColor 1 0 0}texture ImageTexture {url “imagen.jpg"}

}}

Page 28: VRML

Textura con Videos

El nodo MovieTexture se puede utilizar para que un objeto tenga un video como textura.

Shape { appearance Appearance { texture MovieTexture { url "ejemplo.mpg" speed 1 loop FALSE } } geometry ... }

Page 29: VRML

Comportamiento en Mundos Virtuales

El término comportamiento se refiere a la modificación del estado de los objetos dentro de un escenario virtual, en respuesta a alguna acción del usuario o al cambio de algún otro objeto en la escena. Este cambio de estado ocurre cuando cambia alguno de los atributos del objeto, por ejemplo la posición (translación), el tamaño (escala), la orientación (rotación) o su apariencia. En VRML, el comportamiento se controla (lleva a cabo) mediante eventos. Un evento es la generación de un mensaje y se envía de un nodo a otro. Algunos nodos VRML generan eventos en respuesta a cambios en el ambiente o interacción del usuario.

Page 30: VRML

Comportamiento Simple Es aquel en el cual los cambios en el estado de los objetos dependen exclusivamente de eventos internos generados por nodos descritos dentro del programa VRML, sin la intervención de ningún lenguaje ajeno a VRML.

Comportamiento Complejo Es aquel en el cual los cambios en el estado de los objetos dependen de un programa escrito en un lenguaje ajeno a VRML. Los cambios dinámicos en la escena pueden ser estimulados por las acciones programadas en un script, paso de mensajes, comandos del usuario o protocolos de comportamiento. Esto brinda la posibilidad de interacción con otros lenguajes (específicamente los lenguajes Java y Javascript). Para ello se emplea el nodo Script. De esta manera es posible asignar comportamientos más elaborados.

Page 31: VRML

Soporte de VRML para Java

Java añade todas las posibilidades de programación, además de brindar un acceso casi transparente a la red, haciendo a VRML completamente funcional y portable. La característica más importante de Java para ser usado como lenguaje de implementación de los scripts es su independencia de plataforma, y ello es congruente con la filosofía de VRML y la de WWW.

Se utiliza el API para este lenguaje, en donde se definen todas las clases para acceder a los nodos de VRML Las interfaces entre VRML y Java se llevan a cabo por medio del nodo Script, un manejador de eventos, convención para nombres DEF/USE, y ROUTEs, conectando los nodos y los campos en la escena.

Page 32: VRML

Muchas Gracias !!!Muchas Gracias !!!