Documente Academic
Documente Profesional
Documente Cultură
SEGUNDA UNIDAD
AGRUPACIN DE NODOS
30
Sistema a Distancia
LECCIN III
AGRUPACIN DE NODOS
Veamos su estructura:
Group {
children [
Shape { ... },
Shape { ... },
...
]
}
Ejemplo 3.1
#cono:
Shape {
31
Sistema a Distancia
Vamos a visualizarlo:
32
Sistema a Distancia
Ejemplo 3.2.1
Transform {
translation 2 0 0
children [
#caja:
Shape {appearance Appearance { material Material { }
}
geometry Box { size 2 0.5 3 }
}
]
}
Veamos el resultado
33
Sistema a Distancia
X
Z
Ejemplo 3.3.1
#VRML V2.0 utf8
#giramos el cono 90 grados ( 1.57 radianes)
Transform {rotation
1 0 0 1.57
children[
Shape
{ geometry Cone
{height 2
bottomRadius 0.50 }
}
]
}
34
Sistema a Distancia
Veamos el resultado:
Tal como se ha puesto el valor del campo rotation quiere decir que la rotacin
de 90 alrededor del eje X. Las tres primeras cifras slo pueden tener el valor
0 1,y representan la rotacin alrededor de cada eje, en este orden X, Y, Z. la
cuarta cifra representa el ngulo girado expresado en radianes.
Una rotacin con respecto al eje Y seria girar la mano alrededor de este eje.
Siendo el giro en un sentido positivo y lo contrario negativo.
Ejemplo 3.3.2
35
Sistema a Distancia
{height
2 bottomRadius 0.50 }
}
]
}
Una rotacin con respecto al eje Z ser girar la mano alrededor de este eje.
siendo el giro en un sentido positivo y lo contrario negativo.
Ejemplo 3.3.3
#VRML V2.0 utf8
#giramos el cono 90 grados con respecto al eje Z
Transform {rotation 0 0 1 1.57
children[
Shape { geometry Cone
{height
2 bottomRadius 0.50 }
}
]
}
Veamos el resultado
36
Sistema a Distancia
Los valores del campo scale representan las variaciones de las dimensiones
con respecto a los ejes X, Y, Z. En el ejemplo siguiente se han puesto, que las
dimensiones se reducen en la direccin de las X a la mitad (0.5), se duplican en
la direccin del eje Y (2), y se reducen a la mitad en la direccin del eje Z (0.5).
Si se hubiera variado la misma cantidad en los tres valores (por ejemplo 0.5) se
habra mantenido las proporciones de la pieza.
Ejemplo 3.4.1
#VRML V2.0 utf8
Transform {
Ejemplo 3.4.2
La figura mostrada es un foco compuesto por su colgador y socket. El foco
est compuesto por 2 esferas y dos cilindros. Ver plano XY.
37
Sistema a Distancia
children [
# foco
Shape {appearance Appearance { material Material { } }
geometry Sphere { radius 1 }
}
# socket
Transform {translation
0 2 0
children [
Shape { appearance Appearance { material Material { }
}
geometry Cylinder { height 2
radius 0.5
}
]
}
Transform {translation 0 3 0
children [
Shape { appearance Appearance { material Material { }
}
geometry Sphere {radius 0.5}
}
]
}
#colgador
Transform {translation 0 4.5 0
children [
38
Sistema a Distancia
El nodo Switch sirve para agrupar otros nodos, pero con una diferencia que
slo ser utilizado uno de los hijos agrupados.
Switch { whichChoice 0
choice [ .]
choice [ .]
choice [ .]
choice [ .]
}
El campo whichChoice (en ingls, cual eleccin) cuyo valor es un nmero que
indica cual hijo choice es el elegido (0, 1, 2, etc) y ste ser el nico visible. Si
este valor es -1, entonces se indica que no est elegido ninguno.
Ejemplo 3.5.1
Podemos visualizar solamente una parte del foco del ejemplo anterior.
Visualizaremos solamente el foco.
39
Sistema a Distancia
choice [# foco
Shape {appearance Appearance { material Material { }
}
geometry Sphere { radius 1 }
}
# socket
Transform {translation
0 2 0
children [
Shape { appearance Appearance { material Material { }
}
geometry Cylinder { height 2
radius 0.5
}
]
}
#colgador
Transform {translation 0 4.5 0
children [
Shape { appearance Appearance { material Material { }
}
40
Sistema a Distancia
Ejemplo 3.5.2
El siguiente grfico muestra una escalera. Est compuesta por tres cajas
iguales de ancho 4, altura 2 y de profundidad 5. Ver los siguientes grficos.
Group {children [
41
Sistema a Distancia
#caja a
Transform {translation 0 -1 0
children [
Shape {geometry
Box
{size 4 2 5}
Box
{size 4 2 5 }
}
]
}
#caja b
Transform {translation 2 -3 0
children [
Shape {geometry
}
]
}
#caja c
Transform {translation 4 -5 0
children [
Shape {geometry
Box
{size 4 2 5 }
}
]
}
]
}
42
Sistema a Distancia
Se puede poner nombres a los nodos con la palabra clave DEF (definir) y
reutilizarlos con la palabra clave USE(usar). En el siguiente ejemplo mostramos
la escalera del ejemplo anterior, todos los escalones son iguales entonces
aplicamos la palabra clave DEF / USE
Ejemplo 3.6.1
Box
{size 4 2 5 }
}
]
}
#caja b
Transform {translation 2 -3 0
children [
USE esca
]
}
#caja c
Transform {translation 4 -5 0
children [
USE esca
]
}
]
}
LECCIN IV
43
Sistema a Distancia
COLOR Y TRANSPARENCIA
Uso del sistema RGB (rojo verde azul), as 1 0 0 significa solo rojo en
nuestro ejemplo 1 0 1, la combinacin de rojo y azul para el color externo
specularColor:
shininess :
ambientIntensity:
COLOR
ROJO
VERDE
AZUL
Rojo
1.0
0.0
0.0
Verde
0.0
1.0
0.0
Azul
0.0
0.0
1.0
Blanco
1.0
1.0
1.0
Negro
0.0
0.0
0.0
Amarillo
1.0
1.0
0.0
Violeta
1.0
0.0
1.0
Marrn
0.5
0.2
0.0
44
Sistema a Distancia
Las cifras pueden iniciarse desde 0.0 (ausencia de color o nada de ese color)
hasta 1.0 (presencia de ese color o todo de ese color) pasando por cualquier
valor intermedio.
Ejemplo 4.1.1
#VRML V2.0 utf8
Shape {appearance Appearance {
{material Material {diffuseColor
1 0 1
emissiveColor 0 1 0
transparency 0.5 }
}
geometry Sphere {radius 2}
}
Nota: Esta esfera es de color amarillo (color externo del objeto) y color verde
(color interno del objeto) con grado de transparencia medio. Normalmente el
campo diffuseColor es el color externo que visualizamos en todos los objetos.
Tambin notamos que podemos obviar los decimales es decir en lugar de 1.0
podemos escribir 1 simplemente.
Ejemplo 4.2.1
#VRML V2.0 utf8
Shape {appearance Appearance {
{texture ImageTexture{ url mimundo.png }
}
geometry Sphere {radius 1}
}
45
Sistema a Distancia
Veamos el Resultado:
Veamos un objeto cilndrico (una lata). Para lograr este resultado tendremos
que crear tres cilindros idnticos e insertar una imagen para cada uno de ellos.
Para este caso se tendr que desactivar ciertos campos del Nodo en este el
Nodo Cilindro.
Ejemplo 4.3.1
46
Sistema a Distancia
Ejemplo 4.3.2
VRML V2.0 utf8
#cilindro envoltura
Shape {appearance Appearance {texture ImageTexture {url "env.jpg"}}
ge#ometry Cylinder {radius 1
height 1.8
top FALSE
bottom FALSE }}
#cilindro tapa
Sistema a Distancia
tapa . jpg
base . jpg
env . jpg
top
bottom
Side
Ejemplo 4.4. 1
#VRML V2.0 utf8
Shape {
appearance Appearance {
texture MovieTexture {
url "pelicula.mpg"
speed 1
loop TRUE
repeatS TRUE
repeatT TRUE
Sistema a Distancia
(TRUE).
MovieTexture :
4.5 Podremos crear una imagen hecha por nosotros mismos pxel a
pxel?
PxelTextute {
image 0 0 0 0 0
repeatS TRUE
repeatT TRUE
}
image: Este campo muestra 5 valores, los primeros dos sirven para indicar el
ancho y el alto de la imagen.(en pixels), el tercero que indica un numero de
bytes que se use por cada pxel puede tener uno de los cuatro valores
siguientes:
Grayscale
Grayscale con canal para transparencia
RGB
RGB con canal para transparencia.
49
Sistema a Distancia
Estructura :
Viewpoint {
position
orientation
fieldOfView
description
position
sugiere sea
Ejemplo 4.6.1
Viewpoint {
position 0 0 10
orientation
0000
fieldOfView 0.90
description
50
Sistema a Distancia
Ejemplo 4.6.2
Viewpoint {
position 20 0 0
orientation
0 1 0 1.57
fieldOfView 0.90
description
"camara derecha"
Figura 17
51
Sistema a Distancia
EJERCICIOS PROPUESTOS
1. La figura mostrada es una pandereta espaola. A continuacin se muestra el
dibujo en el plano XZ. Respete la ubicacin de los Ejes. Este objeto no tiene
tapa. Los ngulos de las esferas estn a 45 grados.
4. El frasco anterior esta sobre una caja. Los dos frascos son iguales. Ver el
52
Sistema a Distancia
5.
53
Sistema a Distancia
RESUMEN
El nodo Transform nos permite posicionar los objetos visualizados por el Nodo
Shape, componiendo objetos de formas peculiares y complejos.
54
Sistema a Distancia
AUTOEVALUACIN
1. Cul de los siguientes nodos agrupan otros nodos?
a. Shape
b. Transform
c. Switch
d. ViewPoint
e. Group
Sistema a Distancia
a. Position
b. Shape
c. Image
d. Repeats
e. Repeatt true
CLAVES:
1E.2C.3D.4E.5A
GLOSARIO
Side: Lado que est definido por dos valores uno es el false, que indica
que no est active y true que si esta active.
Bottom: Campo que define el lado inferior del objeto.
Top: Campo que define zona superior del objeto.
Path: Camino que se sigue para dar la ubicacin correcta, a una imagen
en el caso que no se encuentre en el mismo lugar que el archivo.
56
Sistema a Distancia
LECTURA
Introduccin al VRML
VRML son las siglas de Virtual Reality Modeling Language. Es un lenguaje para
la descripcin de escenas virtuales en tres dimensiones. Este lenguaje permite
que el usuario interacte con el entorno, moviendo el punto de vista o
realizando acciones con los distintos objetos que hay en l.
Para poder visualizar los mundos definidos con VRML es necesario disponer
de un intrprete del lenguaje. Dicho intrprete leer el fichero fuente (que
contiene la descripcin del entorno en VRML) y lointerpretar dibujando sobre
el dispositivo de salida la escena representada. El lenguaje VRML estpensado
para su uso en entornos Web, por lo que la mayora de los intrpretes de
VRML han de instalarse como un plugin del navegador, por lo que el dispositivo
de salida en este caso ser la ventana del navegador correspondiente.
2. El lenguaje VRML.
En este boletn de prcticas veremos slo una parte de la especificacin del
estndar VRML. Una descripcin mucho ms amplia puede encontrarse en el
siguiente tutorial en Internet:
http://web3d.vapourtech.com/tutorials/vrml97/index-es.html
57
Sistema a Distancia
Antes de empezar con la definicin de las partes de un archivo VRML hay que
aclarar que el lenguaje es sensible a maysculas y minsculas, es decir, para
VRML no es lo mismo Sphere que sphere. La segunda palabra estara mal
escrita si lo que queremos es crear una esfera. Para editar un fichero VRML
slo es necesario un editor de ficheros de texto sin formato (como el bloc de
notas). Los ficheros han de guardarse con la extensin wrl para que puedan ser
abiertos por el intrprete, pero adems, para que un intrprete lea
correctamente el fichero ste debe de incluir la cabecera correcta.
http://www.disca.upv.es/jc/GPO/archivos/Practicas/IntrVRML.pdf
BIBLIOGRAFA
NARCIS PREZ DE ALARCN LVAREZ, Enrique (2000) Manual
Prctico de VRML. Espaa, Euro color S.A. Distribucin.
JANSA, Kris; SCHMAUDER, Phil; YEE, Nelson (1998) VRML Biblioteca
del Programador, McGraw-Hill.
http://sabia.tic.udc.es/gc/Contenidos%20adicionales/trabajos/Tutoriales/tu
torial%20VRML/apariencias.htm
58
Sistema a Distancia