Академический Документы
Профессиональный Документы
Культура Документы
CREATIVIDAD E
INNOVACIÒN
INTRODUCCIÒN A LA
CREATIVIDAD Y DESARROLLO
VIRTUAL
OBJETIVO
Realidad Virtual
¿Qué es VRML?
Sintaxis General
Nodos Básicos
Aplicaciones
Realidad Virtual
La realidad virtual
puede ser de dos
tipos:
Inmersiva.
No Inmersiva.
Realidad Virtual Inmersiva
Los métodos inmersivos de realidad
virtual con frecuencia se ligan a un
ambiente tridimensional creado por
computadora el cual se manipula a
través de cascos, guantes u otros
dispositivos que capturan la
posición y rotación de diferentes
partes del cuerpo humano
Realidad Virtual No Inmersiva
La realidad virtual no inmersiva utiliza
medios como el que actualmente nos
ofrece Internet en el cual podemos
interactuar a tiempo real con diferentes
personas en espacios y ambientes que en
realidad no existen sin la necesidad de
dispositivos adicionales a la computadora.
Cabecera
Comentarios
Nodos
Conceptos Básicos VRML
Cabecera: Indica el estándar empleado, la versión del
archivo VRML y el uso de caracteres internacionales.
(Un ejemplo sería: " #VRML V2.0 utf8 ").
objetos multimedia
Visualizadores
Permiten representar gráficamente los objetos definidos en un
fichero VRML. Pueden ser aplicaciones independientes (VRML
browser) o programas que se cargan en un navegador Web
(Plug-in).
Modeladores
Destinados a la creación o modificación de objetos 3-D. Actualmente existen
aplicaciones específicas para manejar escenarios en formato VRML si bien las
últimas versiones de programas de diseño asistido (Autocad) o de modelado
tridimensional (3D Studio Max) permiten exportar ficheros VRML.
Para la creación de escenarios simples será suficiente disponer de un editor de
textos (ej: Bloc de Notas/Notepad de Windows).
Hardware
El lenguaje HTML está concebido como un lenguaje independiente de plataforma
y por tanto permite generar el mismo escenario 3-D en máquinas distintas, con
diferentes sistemas operativos (Windows, Windows95/NT, UNIX...).
Los requerimientos hardware van a estar determinados por la complejidad de los
escenarios a reconstruir, siendo recomendable para este curso disponer de un
equipo con una resolución gráfica mínima de 640 x 480 y 256 colores.
Nodos
En VRML todo objeto geométrico (ej:
esferas), textura del material,
transformación geométrica (ej:
rotación) o cualquier aspecto que
afecte a su visualización (ej: fuente
de luz) está definida por un Nodo
específico.
En un mundo VRML lo que se define
es simplemente un grupo de objetos.
Estos objetos pueden contener
geometría
3D,imágenes,colores,etc..en VRML
se les llama nodos.
Estos nodos tienen algunas
características variables que se
pueden definir en cada caso
mediante campos (fields), los cuales
funcionan como parámetros.
Características de los Nodos
Indicar el tipo de objeto que son
Existen nodos que definen geometrías (Sphere, Cube, Cone),
transformaciones 3-D (Rotation, Scale), etc
Contener campos
Son parámetros asociados a un nodo, cuyos valores podemos
variar. En los ejemplos analizados radio es un campo del nodo
Sphera y diffuseColor, del nodo Material.
Poder identificar mediante nombres
En VRML existe la posibilidad de dar nombre a los nodos para
crear estructuras singulares de complejidad variable, que
pueden repetirse a lo largo de la escena sin necesidad de
reescribir la totalidad de su código. Esta capacidad es muy útil
en la representación de estructuras repetitivas, como las
moléculas, en las que pueden definirse distintos tipos de átomos
(esferas con diferente tamaño y color). La nominación de los
nodos y su invocación se realiza mediante las palabras clave
DEF/USE.
Realidad 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 Interacción
Navegación Inmersión
Realidad Virtual
Composición
Extensión
Capacidad de Implementación
Desempeño
Escalabilidad
Realidad Virtual
• Arquitectura
• Urbanismo
• Biomedicina
• Genética
Aplicaciones • Anatomía
• Geología
• Arte
• Investigación
• Simulación
Realidad Virtual
Requisitos para trabajar con VRML
Cabecera
Para que un navegador pueda identificar que un archivo
contiene código VRML, este debe contener en la primera
línea:
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}
}
Realidad Virtual
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.
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)
Realidad Virtual
Shape{
appearance Appearance{
material Material{
diffuseColor color_RGB
emissiveColor color_RGB
specularColor color_RGB
ambientIntensity valor
transparency valor
shininess valor
}
}
geometry ...
}
Realidad Virtual
PRIMITIVAS
Realidad Virtual
Shape
{
geometry Box {size 4 4 4}
}
Shape
{
geometry Cone {
bottomRadius 3
height 2
}
}
Son objetos predefinidos. Debemos utilizar el nodo Shape:
Realidad Virtual
Shape
{
geometry Sphere {radius 5}
}
Shape
{
geometry Cylinder{
radius 5
height 5
}
}
Realidad Virtual
TRANSFORMACIONES
Realidad Virtual
Transform
● translation
● rotation
● scale
Transform
{
translation 10 0 0
children
[
Shape
{
geometry Box {size 4 3 5}
appearance Appearance
{
material Material{ diffuseColor 1 0 0}
}
}
]
}
Rotation
Field que permite rotar el objeto respecto a los 3 ejes en radianes
Transform
{
translation 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}
}
}
]
}
Escala
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}
}
}
]
}
Realidad Virtual
TEXTO
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.
FORMAS 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).
Realidad Virtual
COLORES EN FORMAS COMPLEJAS
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.
OBJETOS ALMACENADOS EN FICHEROS
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"
}
EVENTOS
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
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.
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"}
}
}
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 ...
}
Realidad Virtual
Comportamiento en Mundos Virtuales
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.
Realidad Virtual
Soporte de VRML para Java