Title: VRML 2'0
1(No Transcript)
2Realidad Virtual
"Una combinación de diversas tecnologÃas e
interfaces que permite a uno o más usuarios
interactuar, en tiempo real, con un entorno o
mundo dinámico tridimensional generado por
computadora."
- Tridimensionalidad
- Navegación
3VRML es un lenguaje para describir objetos y
mundos 3D interactivos. Puede decirse que más que
un lenguaje de programación es un lenguaje de
modelamiento de escenas tridimensionales
interactivas. VRML permite implementar escenas
estáticas o dinámicas en 3D con posibilidad de
encadenamiento de texto, sonido, imágenes y
vÃdeo. Nació en 1994 en laboratorios de Sillicon
Graphics y su popularidad creció en los últimos
años.
4Está 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.
5- VRML ha sido diseñado para satisfacer los
siguientes requerimientos - AutorÃa
- Composición
- Extensión
- Capacidad de Implementación
- Desempeño
- Escalabilidad
6Aplicaciones
- Arquitectura
- Urbanismo
- Biomedicina
- Genética
- AnatomÃa
- GeologÃa
- Arte
- Investigación
- Simulación
7Requisitos 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). Cabecera Para 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
8CONCEPTOSBASICOS
9Nodos Son los objetos en nuestro mundo virtual.
También pueden contener otros nodos (se
anidan). Campos Contenidos dentro de los nodos
(propiedades de los objetos). Tienen un tipo de
dato asociado. Eventos Pensados como mensajes
que circulan entre nodos permitiendo la variación
de sus parámetros. Nombres Sensible al cambio de
mayúsculas a minúsculas. Los nodos comienzan con
MAYUSCULA y los campos con minúscula.
10Medidas Se 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. Primitivas Son 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
11La 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. Color Lo 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)
12Shape appearance Appearance
material Material diffuseColor
color_RGB emissiveColor
color_RGB specularColor
color_RGB ambientIntensity valor
transparency valor
shininess valor
geometry ...
13PRIMITIVAS
14Son objetos predefinidos. Debemos utilizar el
nodo Shape
Shape geometry Box size 4 4
4 Shape geometry Cone bottomRadius
3 height 2
15Shape geometry Sphere radius
5 Shape geometry Cylinder radius
5 height 5
16TRANSFORMACIONES
17 - 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.
18Traslación Este campo permite desplazar el objeto
respecto a los ejes X, Y y Z. Transform transl
ation 10 0 0 children Shape geometry
Box size 4 3 5 appearance Appearance
material Material diffuseColor 1 0
0
19Rotación Field que permite rotar el objeto
respecto a los 3 ejes en radianes Transform tr
anslation 10 0 0 rotation 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
20Escala Permite agrandar o reducir el tamaño del
objeto según sus ejes. Transform scale 2 1 1
escalado no uniforme children Shape
geometry Box size 4 3 5 appearance
Appearance material Material
diffuseColor 1 0 0
21TEXTO
Permite posicionar en el mundo virtual una cadena
de texto. Utilizamos el nodo Text que tiene los
siguientes campos string, fontStyle, maxExtent,
lenght.
ENLACES
El 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.
22FORMAS COMPLEJAS
IndexedFaceSet Las 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.
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).
23COLORES 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.
DEF Permite 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.
24OBJETOS 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"
25EVENTOS
- Mensaje que enviado por un objeto y recibido por
otro. - Routing
- ROUTE es el comando que permite enlazar un
eventOut con un eventIn. - Interpoladores
- Nodos que nos permiten hacer algo en un intervalo
determinado. Tipos - ColorInterpolator
- CoordinateInterpolator
- OrientationInterpolator
- PositionInterpolator
26- SENSORES
- Nodo detector que reacciona ante estÃmulos.
- Sensor de Tiempo
- TimeSensor es un reloj que podemos utilizar a
nuestro gusto. Se basa en el reloj de tiempo real
del sistema. - Sensor de Proximidad
- ProximitySensor es un nodo que detecta la
proximidad del usuario respecto a un objeto. - Sensor de Tacto
- TouchSensor permite detectar cuando el usuario
hace click sobre algún objeto.
27Texturas con Imágenes Serie de pixeles que se
mapean en nuestro objeto (imagen jpg, jpeg, gif ó
png). Esto se hace con el nodo ImageTexture. Shap
e geometry Box size 4 3 5 appearance
Appearance material Material diffuseColor 1
0 0 texture ImageTexture url
imagen.jpg"
28Textura 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 ...
29Comportamiento 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.
30Comportamiento 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.
31Soporte 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.
32Muchas Gracias !!!