Вы находитесь на странице: 1из 52

DESAROLLO DE LA

CREATIVIDAD E
INNOVACIÒN

Mg. Hernán Ochoa Carbajal


hochoa@untecs.edu.pe
hernan.ochoac@ciplima.org.pe
UNIVERSIDAD NACIONAL
TECNOLÓGICA DEL CONO SUR DE LIMA

INTRODUCCIÒN A LA
CREATIVIDAD Y DESARROLLO
VIRTUAL
OBJETIVO

 Este curso tiene como objetivo dar a


conocer, mediante una participación
activa del alumno, la sintaxis general del
VRML, los nodos básicos para la
creación de escenarios 3-D simples, así
como aplicaciones de este lenguaje .
“ REALIDAD VIRTUAL”
CONTENIDO

 Realidad Virtual
 ¿Qué es VRML?
 Sintaxis General
 Nodos Básicos
 Aplicaciones
Realidad Virtual

La realidad virtual es una


representación de las cosas a
través de medios electrónicos,
que nos da la sensación de
estar en una situación real en
la que podemos interactuar
con lo que nos rodea.
Tipos de 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.

 La realidad virtual no inmersiva ofrece un


nuevo mundo a través de una ventana de
escritorio. Este enfoque no inmersivo tiene
varias ventajas sobre el enfoque inmersivo
como: bajo costo y fácil y rápida
aceptación de los usuarios. Los
dispositivos inmersivos son de alto costo y
generalmente el usuario prefiere
manipular el ambiente virtual por medio de
dispositivos familiares como son el teclado
y el ratón que por medio de cascos
pesados o guantes
VRML
 VRML, abreviación de Virtual
Reality Modeling Language, es
un lenguaje para la descripción de
objetos y mundos virtuales 3-D,
con los que el usuario puede
interactuar.
 Mediante VRML puede
especificarse la geometría de los
objetos de estos mundos (ej:
moléculas, receptores, orgánulos
celulares, estructuras anatómicas)
y controlarse numerosos aspectos
relativos a su visualización y
comportamiento. Estos objetos
pueden, al ser seleccionados,
establecer hiperenlaces con otros
mundos o con documentos HTML.
VRML
 Entre sus principales características
destaca la de ser un lenguaje
estándar, y por consiguiente,
universalmente utilizado en Internet
como el lenguaje para simulaciones
interactivas dentro de la Web. En
este curso se introducirá a la
especificación de VRML, la más
extendida y de mayor simplicidad.

 VRML no es un lenguaje para


programar realidad virtual inmersiva
ni tampoco La realidad virtual
inmersiva implica una experiencia
tridimensional inmersiva y
dispositivos externos.
VRML
 VRML no requiere o prevé una
inmersión sensorial total. VRML
provee un conjunto básico de
primitivas para el modelaje
geométrico tridimensional y tiene la
capacidad de dar comportamiento a
los objetos y asignar diferentes
animaciones que pueden ser
activadas por eventos generados por
diferentes usuarios.
VRML
 Un lenguaje de cómputo primero compila para pasar
el programa a un lenguaje que la computadora pueda
entender y después se ejecuta (Ej. Lenguaje C)
 El sistema VRML pasa por un análisis sintáctico para
convertirlo en una especie de objetos que la
computadora pueda entender
 El VRML es un lenguaje de descripción de escenas,
no un lenguaje de programación

 HTML crea documentos WEB estáticos


 VRML crea mundos WEB estáticos
Conceptos Básicos VRML
 La programación VRML es más compleja que la del HTML,
aunque para hacerlo sólo es necesario un simple procesador de
textos y guardar el archivo con la extensión *.wrl.

 Los archivos VRML (*.wrl) constan básicamente de tres


apartados:

 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 ").

 Comentarios: Son comentarios libres sobre el código,


no visibles en pantalla. Siempre van precedidos por el
símbolo # y un espacio. (")

 Nodos: Los nodos son las unidades básicas que


forman el mundo virtual, es decir, los bloques de datos
que definen las características de los objetos, así
como de sus materiales y texturas, de las cámaras y
las luces, del uso de hiperenlaces, de los sonidos y
otros efectos especiales, del fondo de la escena, etc...
 VRML puede representar:
 objetos 3d estáticos
 objetos 3d animados

 objetos multimedia

 con hipervínculos a otros medios (texto,


sonido, imágenes,etc.)
Software

 Los ficheros que describen escenarios virtuales 3-D en formato


VRML son de tipo ASCII, y se identifican por su extensión '.wrl'.
Para poder trabajar con estos ficheros son necesarios 2 tipos de
programas, denominados:
 visualizadores
 Modeladores

 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

VRML 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.
Realidad Virtual

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.
Realidad Virtual
VRML ha sido diseñado para satisfacer los siguientes
requerimientos:
Autoría

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

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
Realidad Virtual
Nodos
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.
Realidad Virtual
Medidas
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}
}
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

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.
Translation
Este campo permite desplazar el objeto respecto a los ejes X, Y y
Z.

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

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.
OBJETOS 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"
}
EVENTOS

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
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

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.
Realidad Virtual
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.
Realidad Virtual
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.
EJEMPLOS
Realidad Virtual

Muchas Gracias !!!

Вам также может понравиться