domingo, 22 de abril de 2012

NODO TRANSFORM


Por defecto todos los objetos (Shapes) se construyen en el centro del escenario virtual. El nodo transform nos va a permitir evitar esto, indicando la posición, orientación y tamaño de los diferentes objetos que va a crear.  
 
Sintaxis: 
Transform{ 
   translation  X  Y  Z 
   rotation      X  Y  Z  Ángulo 
   scale          X  Y  Z 
   children[ Dentro de aquí se pone el nodo Shape] 
} 
 
Cada grupo creado mediante el nodo Transform va a poseer su propio sistema de coordenadas, cuyos atributos se determinan a través de los campos translation, rotation y scale, los cuales son optativos. 

El campo translation permite indicar la posición del origen del nuevo sistema de coordenadas perteneciente al grupo dentro del sistema de coordenadas de nodo que lo engloba (nodo padre).

El campo rotation nos permite girar el sistema de coordenadas del grupo alrededor de uno de los ejes del sistema de coordenadas del nodo padre. Para ello, además de indicar sobre que eje se desea realizar el giro (con un 1, por ejemplo si se quiere girar 45° en x se escribiría rotation 1 0 0 0.78), se ha de hacer referencia al grado de inclinación de dicho giro (en radianes).

A través del campo scale podemos aumentar o reducir el tamaño de los ejes del sistema de coordenadas del grupo utilizando factores de escala que toman como referencia los ejes de coordenadas del sistema del nodo padre. De esta forma aumentamos o disminuimos el tamaño de los objetos que se crean. 

Ejemplo:

#VRML V2.0 utf8
Transform {
            translation 0 0 -10
        rotation 0 0 1 0.78
        scale 5 5 5
            children [
Shape{
appearance Appearance {
     material Material {
       diffuseColor 1 0 0
       emissiveColor 0.03 0.13 0.5
       specularColor 0.21 0.13 0.53
       ambientIntensity 0.42
       transparency 0.13
       shininess 0.37

   }
}
      geometry Box{
                    size 2 2 2
   }
}
]
}




4 comentarios: