domingo, 22 de abril de 2012

FORMAS PRIMITIVAS

     Las formas (Shapes) son los elementos que nos permiten visualizar los objetos en los mundos VRML. La sintaxis del nodo Shape es la siguiente:  
 
    Shape{
    appearance ... 
     geometry ... 
    }
     El campo appearance especifica las propiedades en cuanto a textura, material, etc del objeto que se describe en el campo geometry. 
 
     Hablamos de formas primitivas cuando Shape utiliza nodos geométricos primitivos para construir una figura. Los nodos geométricos primitivos son los siguientes: 
 

Box            (Caja)
Cone          (Cono)
Cylinder     (Cilindro)
Sphere      (Esfera)
 
     Mediante la combinación de estas formas geométricas básicas se pueden obtener otras formas de mayor complejidad.


Nodo primitivo Box:  

 
Sintaxis:
    Box{
    size {anchura, altura, profundidad  }
    } 
Ejemplo: 
    Box{
     size {2.0 0.5 3.0} 
      Las dimensiones que se manejan en VRML son dimensiones abstractas pero lo normal es suponer que la unidad de medida es el metro. De esta forma, en el ejemplo anterior estaríamos definiendo una caja de 2 metros de ancho, 0.5 metros de alto y 3 metros de profundidad.  



Nodo primitivo Cone:  

Sintaxis:
    Cone{
     height               altura
    bottomRadius   radio_de_la_base
    bottom               valor_lógico
     side                    valor_lógico
     Mediante los campos bottom y side se indica si se desea dibujar la base y la superfice lateral respectivamente. Por defecto estos campos toman el valor TRUE, lo cual indica que se dibuja el cono completo.  
 Ejemplo: 

    Cone{
     height  3.0
    bottomRadius   .75


Nodo primitivo Cylinder:  
 
Sintaxis:
    Cylinder{
     height                altura
     radius                radio 
     bottom               valor_lógico
     side                    valor_lógico 
    top                     valor_lógico 
  
     Mediante los campos bottom, side y top se indica si se desea dibujar la base inferior,la superfice lateral y la base superior del cilindro. Por defecto estos campos toman el valor TRUE, lo cual indica que se dibuja el cilindro completo.  
 Ejemplo:
    Cylinder{
     height 2.0
    radius 1.5 


Nodo primitivo Sphere: 
 
Sintaxis:
    Sphere{ 
     radius radio
 
Ejemplo:  
    Sphere{ 
     radius 1.0 
     
 
      Sin embargo, la definición de un nodo primitivo implica la definición de un objeto, pero no su visualización. Es por ello por lo que se han de englobar dentro de un nodo Shape, el cual determina la apariencia de estos objetos. 




Ejemplo: 

#VRML V2.0 utf8


Shape{
appearance Appearance{
material Material {}
}
geometry Cylinder{
height 2.0
radius 1.5
}