101
VRML LENGUAJE DE MODELAMIENTO DE REALIDAD VIRTUAL Tecnología multimedia y Realidad virtual Ing. CIP Dany Montoya Negrillo

Guìa Laboratorio Tecnología Multimedia Realidad Virtual

Embed Size (px)

Citation preview

Page 1: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

VRMLLENGUAJE DE MODELAMIENTO DE

REALIDAD VIRTUAL

Tecnología multimedia y Realidad virtual

Ing. CIP Dany Montoya Negrillo

Page 2: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Semana 01 Nodos Primitivos

Page 3: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

OBJETIVOSEstructura General de VRMLNodos Primitivos :

Shape Appearance Box Cylinder Sphere Cone Text

Transformaciones:

Nodo Trasform – translation - rotation - scale DEF-USE Nodo Group

EjerciciosPropuestos

Page 4: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Estructura General

Shape { appearance Appearance {

material Material {diffuseColor 0 0 0

}}

geometry Cone {height 3 bottomRadius 0.5}

}

Page 5: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

SHAPE

Nodo básico para generar las escenas dentro de VRML A través de este nodo conseguimos que el resto de los nodos tengan visibilidad Su estructura sería la siguiente:

Shape{appearancegeometry

}

Page 6: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Parámetros del Nodo Shape

appearance: este parámetro tomará como valor un nodo Appearance, el cual identificará la apariencia que pueda mostrar el nodo. geometry: el cual podrá tomar como valor los diferentes nodos básicos de vrml (box, cone, cylinder y sphere)

Page 7: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo Appearance

Mediante este nodo podemos configurar las características de visualización o de apariencia de los nodos. Su estructura es la siguiente:

Appearance{materialtexture

}

Page 8: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Campos del Nodo Appearance

material: a través de este campo indicaremos los valores de color del nodo. Para ello el valor de este campo será un nodo Material.

texture: es el campo que nos da la posibilidad de envolver a un nodo con una imagen ya creada. Las posibilidades son: nodo ImageTexture, nodo PixelTexture o nodo MovieTexture respectivamente

Page 9: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

BOX

Nodo que representa un cubo Tiene la siguiente estructura:

Box {  size x,y,z }size: tamaño del cubo indicando su ancho, alto y largo mediante valores reales.

Page 10: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

CYLINDER

Este nodo representa un cilindro Tiene la siguiente estructura:Cylinder{

height 5radius 2side TRUEtop TRUEbottom TRUE

}

Page 11: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

CONE

Un nodo que representa un cono Tiene la siguiente estructura:Cone{height 1bottomRadius 0.5bottom TRUEside TRUE}

Page 12: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

SPHERE

Nodo que representa una esfera Tiene la siguiente estructura:Sphere{

radius 0.5}

Page 13: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

NODO TEXT Estructura general del nodo Text :Text {String ...fontStyle ...}

string: En en este campo se escribe el texto que se quiere mostrar.fontStyle: En este campo se pone el estilo de fuente que tendra el texto.

Page 14: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

NODO TEXT

Estructura del Nodo FontStyle:FontStyle {family “SERIF”.style “BOLD”,syze 1.0spacing 1.0}

Page 15: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo Text completoText {string [“Esta es la primera fila de texto”,“Esta es la segunda fila”, “etc.”]fontStyle Font Style {

family “SERIF”,style “BOND”,size 1.0spacing 1.0}

} Ejm: texto.wrl

Page 16: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

NODO GROUP Eestructura general es la siguiente:

  Group {children [Shape { ... },Shape { ... },.....

]}

Page 17: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nombres Propios a los Nodos

Uso de los comandos DEF y USE. DEF : este comando da el nombre al

Nodo. USE : Permite hacer usoi del Nodo

definido.

Ejm: DEF_USE.wrl

Page 18: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

NODO TRANSFORM

Su estructura general es la siguiente: Transform {translation ...rotation ...scale ...children [ ... ]}

Page 19: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

NODO TRANSFORM

Poniendo sólo el campo translation, queda el nodo Transform de esta manera:

Transform {translation 2 0 0children [ ... ]}

Page 20: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

NODO TRANSFORMPoniendo ahora sólo el campo rotation, queda el nodo Transform de esta manera:

Transform {rotation 1.0 0.0 0.0 1.57children [ ... ]}

Rotation alrededor del eje X: 1.0 0.0 0.0 Rotation alrededor del eje Y: 0.0 1.0 0.0 Rotation alrededor del eje Z: 0.0 0.0 1.0

Ejm : TraslaciónRotación.wrl

Page 21: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

NODO TRANSFORM

Poniendo ahora en el nodo Transform sólo el campo scale, para variar la escala, de los objetos, queda de la siguiente forma:

Transform {scale 0.5 2.0 0.5children [ ... ]}

Ejm : TraslacionRotacionEscala.wrl

Page 22: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Ejercicios

Peón de AjedrezMesaEje de CoordenadasLibrero

Page 23: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Propuestos

PerritoTienda de abarrotesLaboratorio PC’s

Page 24: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

ANEXO

Page 25: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Semana 02

Ing. Dany Montoya Negrillo.

Page 26: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

OBJETIVOSNodo Inline.AGRUPAMIETO DE OBJETOS

Nodo Anchor.

COLOR Y TRANSPARENCIA Nodo Material

Practica Dirigida: Ejercicios.

Page 27: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Estructura del Nodo Inline : Inline {url "mesa.wrl"}

Transform { translation 5 0 0 children[

Inline {url"mesa.wrl"} ]}

NODO INLINE

Page 28: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Devuelve el contenido de una url cuando el usuario activa (clicks) alguno de los nodos hijos contenidos en children .Estructura del Nodo Anchor : Anchor { 

url "..indice.htm"  description “html"       children [   Shape {...} 

     ]       } 

Anchor {       url "temple.wrl" 

description “wrl"  children [...]     }  Ejm :

Link.wrl

NODO ANCHOR

Page 29: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

COLOR Y TRANSPARENCIA

Color y transparencia con el nodo Material :Material {

diffuseColor ...emissiveColor ...transparency ...specularColor ...shininess ...

}

Page 30: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

NODO MATERIALdiffuseColor: determina el color externo (o difuso) del objeto.emissiveColor: determina el color interno (o emisivo), para los objetos iluminados desde dentro.transparency: determina el grado de transparencia.specularColor: define el color de reflejos brillantes del objeto.shininess: controla la intensidad del resplandecer del brillo, valores pequeños representan un brillo suave y grande, con valores altos define brillos pequeños y forma luces altas.

Su valor es una única cifra que varía desde 0.0 a 1.0.

Page 31: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Shape {appearance Appearance {

material Material {#diffuseColor 1.0 0.0 0.0emissiveColor 1.0 0.0 0.0

} }

geometry Cone {height 3.0bottomRadius 1 }

}

COLOR Y TRANSPARENCIA

Page 32: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

TransparenciaMaterial {Transparency 0.5}

Ejm: Transparencia.wrlIluminación.wrl

COLOR Y TRANSPARENCIA

Page 33: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Ejercicios

Peon de AjedresMesaSillaEje de CoordenadasLampara

Page 34: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Semana 03 Nodos Avanzados

Ing. CIP Dany Montoya Negrillo.

Page 35: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodos Avanzados : PointSet IndexedLineSet IndexedFaceSet

OBJETIVOS

Page 36: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo PointSet Se utiliza para poder mostrar puntos en el espacio, sus parámetros son: coord Coordinate {point[]}: En la

cual se colocan la ubicación de cada punto en los tres parámetros del espacio, pueden haber más de un punto especificado.

color Color { color [] }: La cual es opcional y es donde se puede asignar colores diferentes a los diferentes puntos especificados sin necesidad de crear nuevas estructuras, o una estructura para cada punto.

Page 37: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo PointSetShape {        appearance Appearance {                material Material{...}         }         geometry PointSet {              coord Coordinate {                    point [                    1.0 1.0 0.0,                         2.0 4.0 0.0,                        . . .                    ]             }                    color Color {                   color [                       0.0 1.0 0.0,                          1.0 1.0 0.0,                  ...]            }        }  } Ejm: TresPuntos.wrl

Page 38: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo IndexedLineSetEste nodo nos permite crear una línea, siguiendo una secuencia de puntos predeterminados en el espacio, cuenta con los siguientes parámetros principales: coord Coordinate {point []} cada

punto tiene que contar con sus tres parámetros X, Y y Z además estar separados de punto en punto por una coma (,).

coordIndex [] Sirve para determinar la secuencia de puntos con la cual se va ha unir la línea.

color Color { color []}. Sirve para determinar un conjunto de colores, determinando sus tres campos RGB, separado uno de otro por comas.

Page 39: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo IndexedLineSet colorIndex [ ] Determina la secuencia

de colores que se va ir colocando en cada segmento de línea.

colorPerVertex. Puede tomar el valor (TRUE FALSE),

con el primero activará el parámetro de colorIndex en n-1 valores en relación al número de vértices que están definidos, dando la apariencia de degradencia de segmento en segmento, con el segundo simplemente activará un color para todo el polígono y se deben definir la misma cantidad de veces como vértices estén definidas.

Page 40: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo IndexedLineSetShape {       appearance Appearance {                material Material{...}        }      geometry  IndexedLineSet {              coord Coordinate {                    point [                     1.0 1.0 0.0,                         2.0 4.0 0.0,                         . . .]             }              coordIndex [0, 1, 2,-1,                  3, ..., -1,]       }  } 

Page 41: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Color Nodo IndexedLineSet

Shape {       geometry  IndexedLineSet {            coord Coordinate { . .}            coordIndex [ N índices ]            color Color { color [...]  } 

             colorIndex[ N índices ]             colorPerVertex TRUE        }  }  Shape {       geometry  IndexedLineSet {             . . . 

          color Color { color [ ...] }  colorIndex[ N

índices=nro.líneas ]             colorPerVertex FALSE 

      }  } Ejm :

LineSet.wrl   CuboLineSet.wrl LineasMulticolores.wrl

Page 42: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo IndexedFaceSet

solid indica si la forma es sólida, es decir, si las caras internas no se dibujan.

ccw indica si las caras son en sentido antihorario (counter-clockwise), es decir, si las caras son externas.

convex indica si las caras son convexas. Las caras cóncavas se parten en múltiples caras convexas.

Page 43: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo IndexedFaceSetShape {      appearance Appearance {                material Material{...}  

  }       geometry  IndexedFaceSet { 

        coord Coordinate {                 point [                      0.0  0.0  0.0, 

               5.5  5.0  0.88,                       . . .]    }           coordIndex [ 0,  1,..., -1,                          0, 12,..., 7, -1,              .... ]          solid TRUE          ccw TRUE          convex FALSE  } 

Page 44: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Color Nodo IndexedFaceSet

Shape {       geometry  IndexedFaceSet {            coord Coordinate {... } 

  coordIndex [ N índices ]           color Color {  color [...]  }             colorIndex[ N índices ]             colorPerVertex TRUE 

      }  }  Shape {       geometry IndexedFaceSet { 

          ...           color Color {  color [ ...]   }             colorindex[ N índices=nro.caras ]             colorPerVertex FALSE 

...       }  } Ejm :

FaceSet1.wrl CuboMultiColor.wrl

Page 45: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Semana 04 Nodos Avanzados

Ing. CIP Dany Montoya Negrillo.

Page 46: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodos Avanzados : Extrusion ElevationGrid

OBJETIVOS

Page 47: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo Extrusión Es uno de los nodos más importantes que nos ayuda a crear diversas figuras irregulares, pudiendo ser sólidas o no. Sus principales parámetros son: cross-section[..] Determina la orientación de los

puntos con respecto a su origen. spine[..] Determina los puntos en los cuales se va

ha extruir los puntos determinados en el croossSection (sigue el recorrido de los puntos trazados).

  beginCap and endCap indican si la forma se cierra. solid, ccw y convex se usan como en el nodo

IndexedFaceSet. scale[...] y orientation[...] indican la escala y

rotación de la sección de corte realizados por cada punto de spine.

Page 48: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo ExtrusiónShape {       appearance Appearance {                 material Material{...}  

   }       geometry Extrusion { 

         crossSection [ 0.75  0.00,                                 0.69 -0.285,...] 

        spine [ 2.00 0.00 -0.00,                       1.85 0.12 -0.77,...] 

        scale [ 0.1 0.1,               0.15 0.11,...] 

       endCap   TRUE         beginCap FALSE         solid FALSE 

}  }  Ejm : Extrusion1.wrl

Extrusion2.wrl

Page 49: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo ElevationGridEs este nodo sirve para construir terrenos. El tamaño se especifica en xDimension y

zDimension. La separación de la grilla se especifica en xSpacing

y zSpacing. El campo height especifica las elevaciones en cada

punto de la grilla solid y ccw se usan como en el nodo IndexedFaceSet.

color toma como valor un nodo Color colorPerVertex TRUE: cada color se asocia con cada punto de

height FALSE: cada color se asocia con cada cuadrado de

la grilla

Page 50: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo ElevationGridShape {       appearance Appearance {                material Material{...}         }       geometry ElevationGrid {               xDimension 128               zDimension 128               xSpacing   0.02               zSpacing   0.02               solid TRUE               height [                          0.019608,                          0.015686,                         . . . ]         }  } Ejm : ElevationGrid1.wrl

ElevationGrid2.wrl

Page 51: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Propuestos IndexedFaceSet

Crear los siguientes modelos:Sombrilla de 6 caras tanto en el interior como en el exterior. Cada cara debe tener un color diferenteSe tiene dos cajas abiertas (azul y verde). Dichas cajas están separadas en D unidades y están unidas mediante cuerdas.

Page 52: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Propuestos Extrusion

Crear los siguientes modelos:La letra A (la parte pequeña se debe visualizar primero).Una jarra.Marco de una puerta.

Page 53: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Propuestos ElevationGrid

Crear los siguientes modelos:Un avión de papel.Una montaña.

Page 54: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Semana 05

PRIMERA PRÀTICA CALIFICADA

Page 55: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Semana 05 TEXTURAS

Ing. CIP Dany Montoya Negrillo.

Page 56: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

TEXTURAS : ImageTexture MovieTexture PixelTexture TextureCoordinate TextureTransform

OBJETIVOS

Page 57: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

TEXTURASLa textura es la posibilidad que tenemos de envolver un objeto con una imagen determinada. Nodo ImageTexture Con este nodo es que podemos hacer dichas envolturas (texturizadas), de la siguiente manera:Shape {

appearance Appearance {texture ImageTexture { url “monalisa.jpg”} }geometry} Ejm: TexturtaFICS.wrl

Textura2.wrl

2_Imagenes_1_Objeto.wrl

Page 58: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo MovieTextureloop: Indica si la película va encontrarse estática (FALSE) o se va encontrar en movimiento(TRUE).startTime: indica el tiempo en que inicia la película basándose en el 1 de Junio de 1970.stopTime: indica el tiempo en que se termina la película basándose en el 1 de Junio de 1970. Cuando el valor del loop es TRUE si el startTime es > ó = al stopTime la película se correrá pero si no fuera así ocurrirá un error. A mi preferencia es mejor poner 0 en ambas sentencias.Speed: Si tiene el valor 1 la película se correrá a su velocidad normal, pero si tiene el valor 2 se correrá al doble de su velocidad normal. url “”: Dentro de las comillas debe colocarse el nombre de la película a texturizarse.repeatS: para especificar que la película se repita horizontalmente.

Page 59: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo MovieTextureTexturiza películas con la extensión “mpg”.

Shape {      appearance Appearance {         texture MovieTexture {                   url "t-rex.mpg"                   loop TRUE                   speed 1.0                   startTime 0.0                   stopTime 0.0               }      }      geometry Cylinder {          height  2.7      }

}  Ejm : MovieTextura1.wrl

Page 60: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo PixelTexture Sirve para texturizar una imagen de colores degradantes de un valor a otro, en forma vertical u horizontal alrededor de una figura esto con el repeatS y el repeatT respectivamente. Su estructura es la que sigue: appearance Appearance {         texture PixelTexture {

image 0 0 0 0 0

repeatS TRUE

repeatT TRUE

}} Ejm:

Pixeltexture.wrl

Page 61: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo TextureCoordinate

Este tipo de nodo solamente se aplica a los nodos IndexedFaceSet y ElevationGrid y sirve para indicar que parte de la figura se va a texturizar .Las imagenes de textura tienen un sistema de coordenadas bidimensional : S direccción horizontal y T dirección vertical, con (0,0) abajo-izquierda. El nodo TextureCoordinate se usa como valor del campo texCoord de los nodos IndexedFaceSet o ElevationGrid. El campo point contiene una lista de

coordenadas de textura que especifican la parte de la imagen a extraer.

El campo texCoordIndex del nodo IndexedFaceSet lista los índices de las coordenadas de textura seleccionadas, y cada cual se asocia con cada índice de coordIndex.

Page 62: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo TextureTransform

Similar al nodo Transform que afecta al nodo Shape, el nodo textureTransform afecta a la imagen a texturizar, por consiguiente solamente debe trabajarse con las coordenadas X, Y siguiendo la misma lógica que el TextureCoordinate pero de una forma más simple.

Page 63: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo TextureTransformShape {       appearance Appearance {               texture ImageTexture { url "cookie.jpg" }               textureTransform TextureTransform { 

                   translation 0.0 0.0                     rotation    0                     scale       1.0 1.0 

              }         } 

     geometry  IndexedFaceSet {           coord Coordinate {... }           coordIndex [ N1 índices porción, -1,                               N2 índices porción, -1,]           texCoord TextureCoordinate {                      point [...]   

           }             texCoordIndex[ N1 índices porción, -1,                               N2 índices porción, -1, ]        }  } 

Page 64: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Semana 06

EVENTOS EN VRMLY

ANIMACIONES USANDO INTERPOLAIÓN

Primer avance calificado del proyecto final

Page 65: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

SENSORES DE ARRASTRE NODOS : TimeSensor PlaneSensor CylinderSensor SphereSensor

ANIMACIONES USANDO INTERPOLAIÓN ColorInterpolator CoordinateInterpolator PositionInterpolator

OBJETIVOS

Page 66: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

EVENTOS

Un evento es un mensaje enviados entre nodos, con : El valor de un dato. El instante de tiempo en que

se envía el evento.

Page 67: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

EVENTOSCada nodo tiene eventIn <tipo> <nombre_eventIn>

evento de entrada eventOut <tipo>

<nombre_eventOut> evento de salida exposedField <tipo>

<nombre_campo> campo que equivale a eventIn <tipo> set_<nombre_campo>

eventOut <tipo> <nombre_campo>_changed

Page 68: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

EVENTOSPara hacer un circuito de animación se necesitan: Un nodo nombrado (DEF

<nombre_nodo_sender>) que envíe un eventOut

Un nodo nombrado (DEF <nombre_nodo_receiver>) que reciba un eventIn

Una sentencia ROUTE que conecte los dos nodos

ROUTE <nombre_nodo_sender>.<nombre_eventOut> TO <nombre_nodo_receiver>.<nombre_eventIn>

Page 69: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

EVENTOSEjemplos de eventos de entrada: Un nodo Transform tiene set_translation,

set_rotation, set_scale. Un nodo Material tiene set_diffuseColor,

set_emissiveColor, set_transparency.

Ejemplos de eventos de salida: Un nodo OrientationInterpolator tiene

value_changed para enviar valores de rotación. Un nodo PositionInterpolator tiene

value_changed para enviar valores de traslación.

Un nodo TimeSensor tiene time  para enviar valores de tiempo.

Page 70: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo TimeSensor Una animación requiere control del tiempo Un nodo TimeSensor es similar a un cronómetro TimeSensor {               cycleInterval 1.0               loop FALSE               startTime 0.0               stopTime 0.0           }startTime y stopTime determinan cuando comenzar y terminar. enabled determina si está habilitado o deshabilitado. TimeSensor genera eventos de tiempo

Page 71: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo TimeSensor

... deben conectarse con otros nodos para realizar una animación. Ejemplo: Conectar el evento de salida

fraction_changed de tipo SFFloat con los eventos de entrada set_transparency, set_shininess de tipo SFFloat de un nodo Material

TimeSensor.wrl

Page 72: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo PlaneSensor Un nodo sensor PlaneSensor genera traslaciones, como si se deslizara un plano, cuando el usuario arrastra el mouse sobre un nodo.Los eventos de salida isActive envía TRUE/FALSE cuando se

presiona/suelta el botón del mouse. translation_changed envía la traslación

durante el arrastre del mouse.

PlaneSensor01.wrl

Page 73: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo CylinderSensor Un nodo sensor CylinderSensor genera rotaciones, como si se rotara un cilindro, cuando el usuario arrastra el mouse sobre un nodo.  Los eventos de salida isActive y rotation_changed se usan

como en el nodo SphereSensor .

CylinderSensor01.wrl

Page 74: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo SphereSensor

Un nodo sensor SphereSensor genera rotaciones, como si se rotara una esfera, cuando el usuario arrastra el mouse sobre un nodo. Los eventos de salida isActive envía TRUE/FALSE cuando se

presiona/suelta el botón del mouse. rotation_changed envía la rotación

durante el arrastre del mouse.

SphereSensor01.wrl

Page 75: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo ColorInterpolator

Un nodo interpolador de colores ColorInterpolator convierte una fracción de tiempo en un color. keyValue es de tipo MFColor y especifica colores claves. El evento de salida value_changed, de tipo SFColor, típicamente se conecta con el evento de entrada set_diffuseColor o set_emissiveColor de un nodo Material .

ColorInterpolator01.wrl ColorInterpolator02.wrl

Page 76: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo CoordinateInterpolator

Un nodo interpolador de coordenadas CoordinateInterpolator convierte una fracción de tiempo en una lista de coordenadas. keyValue es de tipo MFVec3f y especifica una lista de n x m coordenadas claves (siendo n el nro. de claves en key). El evento de salida value_changed, de tipo MFVec3f, devuelve m  coordenadas claves (total / nro. claves) que típicamente se conectan con el evento de entrada set_point de un nodo Coordinate.

CoordinateInterpolator01.wrl

Page 77: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo PositionInterpolator

Un nodo interpolador de posiciones PositionInterpolator convierte una fracción de tiempo en una posición.keyValue es de tipo MFVec3f y especifica posiciones claves El evento de salida value_changed, de tipo SFVec3f, típicamente se conecta set_translation o set_scale de un nodo Transform.

PositionInterpolator01.wrl

Page 78: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Semana 7

INTERPOLACIÓN, NODO DE ILUMINACIÓ Y

AMBIENTE

Ing. CIP Dany Montoya Negrillo.

Page 79: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

ANIMACIONES USANDO INTERPOLAIÓN ScalarInterpolator OrientationInterpolator

ANIMACIÓN CONTROLADA POR EVENTOS

TouchSensor

NODOS DE LUCES PointLight DirectionalLight SpotLight

NODO DE AMBIENTE Background

OBJETIVOS

Page 80: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo ScalarInterpolator

Un nodo interpolador de posiciones ScalarInterpolator convierte una fracción de tiempo en un número keyValue es de tipo MFFloat y especifica números claves El evento de salida value_changed,de tipo SFFloat,puede conectarse con set_transparency, set_shinines o set_ambientIntensity de Material set_intensity o set_ambientIntensity de un nodo de luces

ScalarInterpolator.wrl

Page 81: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo OrientationInterpolator

Un nodo interpolador de orientaciones OrientationInterpolator convierte una fracción de tiempo en una orientación.keyValue es de tipo MFRotation y especifica orientaciones claves El evento de salida value_changed, de tipo SFRotation, típicamente se conecta con el evento de entrada set_rotation de un nodo Transform

OrientationInterpolator.wrl

Page 82: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo TouchSensor Un nodo sensor TouchSensor genera eventos cuando el usuario toca el mouse sobre un nodo.Los eventos de salida isActive envía TRUE/FALSE cuando se

presiona/suelta el botón del mouse isOver envía TRUE/FALSE cuando el mouse

está o no sobre la forma touchTime envía el tiempo en el que se suelta

el mouse sobre la forma, siempre que haya sido presionado sobre esta previamente.

TouchSensor01.wrl

Page 83: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo PointLight  El nodo PointLight define una luz en un punto que irradia radialmente

location indica la posición radius indica la máxima distancia de iluminación attenuation indica 3 valores que se usan en una fórmula

de atenuación.

ESTRUCTURA GENERALPointLight { 

    location 0.0 0.0 0.0      radius   12.0      Color             1.0 0.0 0.0        intensity         2     on                TRUE    }  Inline {      url "spheres.wrl"  }

PointLight.wrl

Page 84: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo DirectionalLight El nodo DirectionalLight define una luz que ilumina en una dirección desde el infinito direction especifica la dirección de la luz

o ESTRUCTURA GENERALo DirectionalLight { 

    direction -1.0 0.0 0.0     color             0.0 1.0 0.5        intensity         2     on                TRUE    }  Inline {      url "spheres.wrl"      }

o DirectionalLight.wrl

Page 85: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo SpotLight El nodo SpotLight define una luz en un punto que irradia en forma cónica

location, radius, attenuation se usan como en el nodo PointLight

direction se usa como en el nodo DirectionalLight cutOffAngle especifica el máximo ancho del cono beamWidth especifica una región del cono con brillo

constante SpotLight {      cutOffAngle 0.785      beamWidth  0.52      location 0.0 0.0 0.0      radius   12.0      color             0.2 0.4 1.0        intensity         2     on                TRUE    }  Inline {      url "spheres.wrl"     } SpotLight.wrl

Page 86: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo Background En lugar de usar formas para definir el fondo de una escena, resulta más rápido y eficiente usar el nodo bindable BackgroundCrea tres formas especiales: Una esfera para el cielo Una semiesfera para la tierra dentro de la

esfera del cielo Una caja panorámica dentro de la semiesfera

de la tierra

Page 87: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo BackgroundBackground {       skyColor [          0.0 0.2 0.7,          0.0 0.5 1.0,          1.0 1.0 1.0      ]      skyAngle [ 1.309, 1.571 ]      groundColor [          0.1 0.10 0.0,          0.4 0.25 0.2,          0.6 0.60 0.6,      ]      groundAngle [ 1.309, 1.571 ]      frontUrl "mountns.png"      backUrl  "mountns.png"      leftUrl  "mountns.png"      rightUrl "mountns.png"  }

Page 88: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Sesión 8

POSICIONAMIENTO,SONIDO y WWW

Segundo avance calificado del proyecto final

Page 89: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

NODO DE POSICIONAMIENTO Viewpoint

NODO PARA EFECTOS DE SONIDO Sound

VRML en la WEB

OBJETIVOS

Page 90: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo Viewpoint Por defecto, el usuario ve el mundo desde el punto (0.0, 0.0, 10.0) El nodo Viewpoint se usa para especificar otros puntos de vista El primer punto de vista encontrado en un archivo es el inicial Se puede cambiar a otros puntos de vista favoritos definidos position y orientation determinan la ubicación del

punto de vista fieldOfView especifica el ángulo del lente de la

cámara description especifica el nombre del punto de

vista, el cual aparece en el menú del browser y puede ayudar a no perderse en el mundo

Page 91: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Nodo ViewpointViewpoint {      position 0.0 1.65 35.0      orientation 1.0 0.0 0.0 0.2      description "Entry View"  }  Viewpoint {      position 0.0 1.65 15.0      orientation 1.0 0.0 0.0 0.5      description "Close-up"  }  Viewpoint {      position 7.05 1.65 7.05      orientation 0.0 1.0 0.0  0.785      description "Front door"  }  Viewpoint {      position 35.0 1.65 -35.0      orientation 0.0 1.0 0.0  2.356      description "Far away"  }  Viewpoint {      position 0.0 14.43 2.0      orientation 0.00128 0.959 0.282 3.1503      description "Roof top"  }

Page 92: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

SONIDO

Un nodo Sound describe un sonido location y direction especifican el lugar de emisión intensity especifica el volumen spatialize especifica si el sonido se percibe

conisderando la dirección con el usuario priority especifica una prioridad usada cuando hay

varios sonidos minFront, minBack definen una elipsoide interna

alineada con direction donde el volumen de sonido es máximo

maxFront, maxBack definen una elipsoide externa alineada con direction donde el volumen de sonido disminuyendo hasta cero

Page 93: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

# Aire  Transform {     translation 0.0 8.0 0.0     scale 40.0 9.0 40.0     children [  Sound {                           minFront 1.0                           minBack 1.0                           maxFront 1.0                           maxBack 1.0                           spatialize FALSE                           source AudioClip {                                          loop TRUE                                          url "air.wav"                           }                      }  ]  }  # Splash  Transform {     translation 0.0 0.0 0.0     scale 25.0 1.0 25.0     children [  Sound {                           minFront 1.0                           minBack 1.0                           maxFront 1.0                           maxBack 1.0 

spatialize FALSE                           source AudioClip {                                         loop TRUE                                         url "paddle.wav"  }    }  ]  } 

Page 94: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

SONIDO

Sound {      source AudioClip {          url "willow1.wav"          loop TRUE          startTime 1.0          stopTime 0.0      }      minFront 5.0      minBack  5.0      maxFront 10.0      maxBack  10.0  }

Page 95: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

VRML en la WEBLos archivos .wrl pueden usarse en una página Web:

Llenar la página entera: abrir el archivo .wrl Embebido dentro de la página: <EMBED SRC="boxes.wrl" HEIGHT=300 WIDTH=300> Llenar un frame de la página: <FRAME NAME="FrameVRML" SRC="boxes.wrl"> Embebido dentro de un frame: <FRAME NAME="FrameVRMLemb" SRC="boxes3a.htm"> y en puerta.htm se aplica la segunda opción Embebido muchas veces: <EMBED SRC="boxes.wrl" HEIGHT=200 WIDTH=100>

 <EMBED SRC="boxes.wrl" HEIGHT=100 WIDTH=200>

Page 96: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Ejemplo 01:

<html><body><EMBED SRC="mesa.wrl" HEIGHT=300

WIDTH=300> <EMBED SRC="mesa.wrl" HEIGHT=200

WIDTH=400> <EMBED SRC="mesa.wrl" HEIGHT=300

WIDTH=500></body></html>

Page 97: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

Ejemplo 02:<HTML><BODY BGCOLOR=#000000 text=#ffffff link=#aaaaff

alink=#000000 vlink=#ff7070><br><table border=0 bgcolor=aqua width=100%><tr><td valign=middle><H2><font color=#b46a00><center>(LABORATORIO

DE COMPUTACION GRAFICA)<center></font></H2></td> </table><P class=noindent><table border=0 width=100%><tr><td bgcolor=#EDE7BF><font color=maroon><pre>Nodo "Ambiente.wrl";

Page 98: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

</pre></font> </td></tr></table><EMBED SRC="EjemploAmbiente.wrl" WIDTH=600

HEIGHT=400><table border=0 width=100%><tr><td bgcolor=#EDE7BF><font color=maroon><pre>EjemploTextura01.wrl</pre> </font></td></tr></table><EMBED SRC="EjemploTextura01.wrl" WIDTH=600

HEIGHT=400></BODY></HTML>

Page 99: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Ing. Dany Montoya Negrillo

EJERCICIOS PROPUESTOSENUNCIADO 1:

Implementar un parque de diversiones, el cual debe tener como mínimo 2 juegos mecánicos por ejemplo :silla voladora, montaña rusa, carrusel, etc y su ambiente particular ( cerco, casillas de venta de boletos, banderolas ). Cada juego mecánico debe tener una animación diferente o combinada. El ambiente debe estar iluminado según su criterio, y animaciones según su creatividad por ejemplo: banderolas en movimiento, etc.

ENUNCIADO 2:Construir una casa de dos pisos en 3 dormitorios con todos sus ambientes mínimos de una casa estándar, implementando como mínimo: Ropero, Cama , Mesa de noche, Lámpara, Ventilador, Escritorio, TV, Radio, Cuadro y Porta fotos de su persona.

ENUNCIADO 3:Implementar un dormitorio, el cual debe contener como mínimo: Ropero, Cama, Mesa de noche, Lámpara, Ventilador, Escritorio, TV y Porta fotos de su persona.

ENUNCIADO 4:Construir un escenario de carrera de carros donde se visualizará el inicio de la carrera, considerar semáforo especificando el momento de la partida y los autos deberán desplazarse.

Page 100: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Semana 09

EXAMEN PARCIAL

Page 101: Guìa Laboratorio Tecnología   Multimedia Realidad Virtual

Semana 12

PRESENTACION Y SUSTENTACION DE

PROYECTOS FINALES