miércoles, 1 de mayo de 2013

Transform



Escalado (Scale): 
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

Traslación:
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.
   
Rotación: 
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