Para realizar escalados
en VRML, podemos hacerlo con el campo scale. Sirve para cambiar de tamaño a los objetos. Podemos
hacerlos más grandes o más pequeños, reescalando respecto a cada eje (es decir,
multiplicando el tamaño del objeto por un factor respecto a cada eje.
Nota: Los
factores no pueden ser negativos.
scale factor_x factor_y factor_z
La estructura de este campo es:
Transform{
scale
x y z
children[
]
}
|
X = factor de escala en x.
Y = factor de escala en y.
Z = factor de escala en z
|
Para realizar
translaciones en VRML, podemos realizarlas con el campo translation. Este campo
permite indicar la posición a la cual colocamos el sistema de coordenadas perteneciente
al objeto o grupo de objetos. Es
una transformación muy simple. Desplaza el centro de los objetos.
translation dx dy dz
Si el centro de un objeto está en el punto
(x,y,z), tras esta translation pasará a estar en (x + dx, y + dy, z + dz).
La estructura de este campo es:
Transform{
translation x y z
children[
]
}
|
X = distancia del desplazamiento en el eje x.
Y = distancia del desplazamiento en el eje y.
Z = distancia del desplazamiento en el eje z.
|
Para
realizar rotaciones en VRML, podemos realizarlas con el campo rotation. Este
campo permite indicar la rotación a la cual sometemos al sistema de coordenadas
perteneciente al objeto o grupo de objetos.
Las rotaciones se definen por un vector y
por un ángulo de giro. Si no indicamos nada más, los objetos giran alrededor de
su centro.
rotation v1 v2 v3 angulo
(v1,
v2, v3) son las coordenadas
del vector, y angulo los radianes que giramos respecto al vector
La estructura de este campo es:
Transform{
rotation
x y z Rad
children[
]
}
|
Las coordenadas (x,y,z) solo pueden tomar valores
0 ó 1. Representa la rotación alrededor de cada eje.
Rad, son los radianes que gira el sistema. Puede
ser positivo o negativo.
|
Nodo Billboard
El nodo Billboard permite crear un grupo
con un sistema de coordenadas especiales, ya que a través del campo
axisOfRotation (eje de rotación) indicamos el eje sobre el que a de girar el
objeto, de forma que, siempre esté de cara al espectador:
Sintaxis:
Billboard{ axisOfRotation Eje_X Eje_Y Eje_Z
children[...]
}
No hay comentarios:
Publicar un comentario