Documentos de Académico
Documentos de Profesional
Documentos de Cultura
VISTAS En el lenguaje VRML podemos definir distintos puntos de vista. A estos puntos de vista podemos aplicarle una posicin, una orientacin, un ngulo de visin y nombrarlos
Las transformaciones de las vistas se producen siempre respecto al sistema de coordenadas del mundo virtual. Por tanto es como si tenemos una cmara en el origen de coordenadas y todos los cambios de esta se hacen en relacin con el origen de coordenadas.
Los puntos de vista se ordenan segn el orden de colocacin en el cdigo. El primero que coloquemos ser el que se aplique cuando cargamos el entorno.
Los diferentes puntos de vista los podemos generar con el nodo Viewpoit. La estructura general del nodo Viewpoit es: Viewpoit{ description " " position x y z orientation x y z Radianes fieldOfView Radianes }
DESCRIPCIN
Lo primero que hacemos es darle un nombre al punto de vista. Esto se hace mediante la estructura: Viewpoit{ Description " " } Colocamos en nombre del punto de vista entre las " ".
Posicin. position
Cundo definimos un punto de vista VRML se coloca por defecto en el origen de coordenadas. Por tanto si queremos colocarlo en otra posicin del mundo virtual, tendremos que indicarle su posicin, respecto al origen de coordenadas del mundo. La estructura para la posicin es: Viewpoit{ description " " position x y z } X = distancia en el eje x. Y = distancia en el eje y. Z = distancia en le eje z
#VRML V2.0 utf8 #Iluminacion PointLight{ color 1.0 1.0 1.0 location 20.0 20.0 20.0 intensity 1.0 ambientIntensity 1.0 } #Definimos unos objetos. Shape{appearance Appearance{material Material{diffuseColor 0 0 1}} geometry Cylinder{height 2 radius 1.5} } Transform{ translation 6 0 0 children[ Shape{appearance Appearance{material Material{diffuseColor 0 1 0}} geometry Sphere{radius 2} } ]} #Colocamos unos cuantos puntos de vista. Viewpoint{ description "Vista 1" position 0 0 10 } Viewpoint{ description "Vista 2" position 0 0 5 } Viewpoint{ description "Vista 3" position 5 0 10 } Viewpoint{ description "Vista 4" position 0 4 10
Orientacin. orientation
por que de
Cuando colocamos un punto de vista en VRML, defecto no tiene orientacin. La orientacin del punto de vista consiste en podemos girar la cmara en los tres ejes coordenadas. La estructura para la orientacin es: Viewpoit{ description " " orientation x y z Rad } Las coordenadas (x,y,z) solo pueden tomar valores 1. Representa la rotacin alrededor de cada eje. Rad, son los radianes que gira el sistema. Puede positivo o negativo.
0 ser
#VRML V2.0 utf8 #Iluminacion PointLight{ color 1.0 1.0 1.0 location 20.0 20.0 20.0 intensity 1.0 ambientIntensity 1.0 } #Definimos unos objetos. Shape{appearance Appearance{material Material{diffuseColor 0 0 1}} geometry Cylinder{height 2 radius 1.5} } Transform{ translation 6 0 0 children[ Shape{appearance Appearance{material Material{diffuseColor 0 1 0}} geometry Sphere{radius 2} } ]} #Colocamos unos cuantos puntos de vista. Viewpoint{ description "Vista 1" position 0 0 8 } Viewpoint{ description "Vista 2" position 0 0 8 orientation 1 0 0 .4 } Viewpoint{ description "Vista 3" position 0 0 8 orientation 0 1 0 .5 } Viewpoint{ description "Vista 4" position 0 0 8 orientation 0 0 1 .5 }
En VRML nos encontramos que en un punto de vista adems de la posicin, orientacin e identificacin. Podemos aplicarle un ngulo de visin. El ngulo de visin esta comprendido entre cero y pi. [0 -> p ]
La estructura para el ngulo de visin es: Viewpoit{ description " " fieldOfView Rad } Rad son los radianes del ngulo de visn. Estn comprendidos entre cero y Pi.
En un punto de vista si no indicamos el ngulo de visn. VRML toma por defecto p/2.
#VRML V2.0 utf8 #Iluminacion PointLight{ color 1.0 1.0 1.0 location 20.0 20.0 20.0 intensity 1.0 ambientIntensity 1.0 } #Definimos unos objetos. Shape{appearance Appearance{material Material{diffuseColor 0 0 1}} geometry Cylinder{height 2 radius 1.5} } Transform{ translation 6 0 0 children[ Shape{appearance Appearance{material Material{diffuseColor 0 1 0}} geometry Sphere{radius 2} } ]} #Colocamos unos cuantos puntos de vista. Viewpoint{ description "Vista 1" position 3 0 8 fieldOfView 2 } Viewpoint{ description "Vista 2" position 3 0 8 fieldOfView 1 } Viewpoint{ description "Vista 3" position 3 0 8 fieldOfView .6 } Viewpoint{ description "Vista 4" position 3 0 8 fieldOfView .2 }
NavigationInfo
En VRML podemos describir el al usuario y especificar el tipo de navegacin mediante el nodo NavigationInfo. En este nodo podemos encontrar diferentes opciones, para configurar este nodo. Esta opciones son:
Tipo: Se define el tipo de navegacin que usa el navegante. Tamao del avatar: Se especifican las dimensiones del usuario.
Iluminacin por defecto: Tiene dos posibilidades activa o desactiva, se trata de una luz por defecto la cual acompaa al navegante.
Velocidad del avatar: Velocidad a la cual de mueve el usuario.
Distancia mxima de visin: Determina la mxima distancia a la cual el usuario puede ver.
SINTAXIS:
NavigationInfo{ type "........ " avatarSize [A ,B, C] headlight TRUE speed 1.0 visibilityLimit 0.0 }
Tipo:
En el nodo NavigationInfo, podemos definir el tipo de navegacin, determinando como de mueve el usuario a travs del mundo. Este campo puede tomar diferentes valores. Estos valores son:
El radio y la altura son bastante evidentes, pero la altura de las rodillas requiere una pequea explicacin. Cuando el usuario est en modo WALK, puede subir y bajar escaleras, pero sus pasos estarn condicionados por la altura de sus rodillas. El avatar slo podr subir escalones de altura inferior a la de sus rodillas. Esto nos permite crear escalones adecuados, mientras siguen existiendo muros que el usuario no puede escalar.
La estructura es: NavigationInfo{ : avatarSize [A ,B, C] } A = Radio. B = Altura de los ojos. C = Altura de las rodillas.
speed 1.0
} Podemos darle valores entre cero y mas infinito. 0 -> 1 = Divide su velocidad. 1 -> infinito = multiplica la velocidad.
Esta es la distancia desde el usuario tras la cual nada ser dibujado en la pantalla. Se puede usar para aumentar la velocidad de ejecucin en escenarios muy grandes. Si est determinado a "0.0" (tal y como viene por defecto), no habr limites de visualizacin. Su estructura es:
NavigationInfo{ visibilityLimit 0.0 }
#VRML V2.0 utf8 PointLight{ color 1.0 1.0 1.0 location 20.0 20.0 20.0 intensity 1.0 ambientIntensity 1.0 } #Aplicando el Nodo NavigationInfo NavigationInfo{ avatarSize [ 0.25, 1.6, 0.75 ] headlight TRUE speed 1.0 type "WALK" visibilityLimit 0.0 } Viewpoint{ position 0 1.6 10 description "NavigationInfo" } Shape{ appearance DEF ap Appearance{ material Material{} } geometry Box{ size 20 0.01 20 }} Shape{ appearance USE ap geometry Box{ size 5 0.5 1 }}
Transform{ translation 0 0.5 -0.5 children[ Shape{ appearance USE ap geometry Box{ size 5 0.5 1 }}]} Transform{ translation 0 1 -1 children[ Shape{ appearance USE ap geometry Box{ size 5 0.5 1 }}]} Transform{ translation -5 1 0 children[ Shape{ appearance USE ap geometry Sphere{} }]} Transform{ translation 0 2 -5 children[ Shape{ appearance USE ap geometry Sphere{} }]}