miércoles, 18 de abril de 2012

#VRML V2.0 utf8
Transform{
   translation -3 2.85 -11
children[
Group{
children[
   Shape {
      appearance Appearance {
     
texture ImageTexture {
                 url ["1.jpg"]
}
      }
      geometry ElevationGrid {
         xDimension 12
         xSpacing 8
         zDimension 10
         zSpacing 8
        height [
-8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0,  -8.0, -8.0,
-8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0,  -8.0, -8.0,
-8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0,  -8.0, -8.0,
-8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0,  -8.0, -8.0,
-8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0,  -8.0, -8.0,
-8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0,  -8.0, -8.0,
-8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0,  -8.0, -8.0,
-8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0,  -8.0, -8.0, 
-8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0,  -8.0, -8.0,
-8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0,  -8.0, -8.0,  
         ]    
solid FALSE           
 }
   }
]
}




#VRML V2.0 utf8
Shape {
     geometry IndexedLineSet {

     coord Coordinate {

          point [ 

              0.6 -0.25 0.0,    

              0.3 0.3 0.0,

              0.9 0.7 0.0,

                      1.5 0.3 0.0,

                      1.2 -0.25 0.0,

                      0.6 -0.25 8.0,    

              0.3 0.3 8.0,

              0.9 0.7 8.0,

                      1.5 0.3 8.0,

                      1.2 -0.25 8.0

]

}

   color Color {

        color [

             1 1 1,   

             1 0 1,   

             1 1 1,

                     1 0 1,

                     0 1 1,



                     1 0 1,   

             0 1 1,   

             1 0 1,
                     0 1 1,
                     1 1 1
       ]
   }
coordIndex[
                               0, 1, -1,
                               1, 2, -1,
                               2, 3, -1,
                               3, 4, -1,
                               4, 0, -1,
                               5, 6, -1,
                               6, 7, -1,
                               7, 8, -1,
                               8, 9, -1,
                               9, 5, -1,
                               1, 6, -1,
                               2, 7, -1,
                               3, 8, -1,
                               4, 9, -1,
                               0, 5, -1
]
                colorIndex [
                0, 2, 2
                ]
}
}







Extrusion {

    beginCap TRUE

    endCap TRUE

    ccw TRUE

    convex TRUE

    solid TRUE

    creaseAngle 0

    crossSection [1 1,1 -1, -1-1, -1 0, 1 1]

    spine [0.0 0.0 0.0, 0.0 1.0 0.0]

    orientation 0 0 1 0

    scale 1 1

}





#VRML V2.0 utf8
Shape {
     geometry IndexedLineSet {
     coord Coordinate {
          point [ 
             1.0 1.0 0.0, #A    
             1.0 5.0 0.0, #B
             6.0 1.0 0.0, #C
                     6.0 5.0 0.0, #D

             1.0 1.0 -3.0, #A'   
             1.0 5.0 -3.0, #B'
             6.0 1.0 -3.0, #C'
                     6.0 5.0 -3.0, #D'                   
]
}
   color Color {
        color [
             1 1 1, #A 
             1 0 1, #B
             1 1 1, #C
                     1 0 1, #D

             0 1 1, #A' 
             0 1 1, #B'
             1 0 1, #C'
                     1 1 1  #D
       ]
   }
                coordIndex[
                1, 0, -1,
                0, 2, -1,
                2, 3, -1,
                3, 1, -1,
                4, 5, -1,
                6, 4, -1, 
                6, 7, -1,
                7, 5, -1,
               
                0, 4, -1,
                1, 5, -1,
        2, 6, -1,
        3, 7, -1
]
                colorIndex [
         0, 2, 2
                ]             
}
}

Ejemplos de agrupacionde nodos.

#VRML V2.0 utf8
Transform {
translation 1 0 0
rotation 1 0 2 1
children [
Shape{
                appearance Appearance{
                material Material{
                diffuseColor 0 0 0.5
                emissiveColor 0 0.5 0.5
                specularColor 0.75 0.75 0.75
                ambientIntensity .8
                transparency .5
                shininess .3
}
}
geometry Box {size 4 3 5}
}
]
}
Transform {
translation 9 8 7
rotation 1 0 2 1
children [
Shape{
                appearance Appearance{
                material Material{
                diffuseColor 0 0 0.5
                emissiveColor 0 0.5 0.5
                specularColor 0.75 0.75 0.75
                ambientIntensity .8
                transparency .5
                shininess .3
}
}
geometry Cylinder{
                height 8.0
                radius 5.0
}
}
]
}


        
#VRML V2.0 utf8
DEF ball Shape{
                appearance Appearance{
                material Material { }
                                                               }
                               geometry Sphere {
                               radius  0.5  #radius in units                                                           
                                               }
                             }
    Transform {
      translation 2 0 0
      children   [ USE ball ]
    }
    Transform {
      translation -2 0 0
      children    [ USE ball ]
    }
      














Agrupación de Nodos


Nodo Group:
El nodo Group permite unir un conjunto de nodos de forma que actúen como una entidad única, pero sin efectuar ninguna transformación en ellos. La principal característica de este tipo de grupo es que los objetos son creados todos en el mismo punto (en el centro del escenario de realidad virtual).
Sintaxis:
Group {
children [ ... ]
}

El campo children contien la lista de los objetos que se quieren agrupar, representados por sus nodos Shape respectivos:
Ejemplo:
Group {
children [
Shape {  },
Shape {  },
]
}



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 Eje_X Eje_Y Eje_Z
rotation Eje_X Eje_Y Eje_Z Ángulo
scale Eje_X Eje_Y Eje_Z
children[...]
}

Figuras


#VRML V2.0 utf8
#esto es una caja
Shape {
appearance Appearance{
material Material {
diffuseColor 0 1 1
}
}
geometry Box {
size 2.0 0.2 3.0
}
}


# Cilindro
Shape{
appearance Appearance{
material Material {
diffuseColor 0 1 1
}
}
geometry Cylinder{
height 2.0
radius 1.5
}

}



#Este es un cono
Shape{
appearance Appearance{         
material Material {
diffuseColor 0 1 1
}
}
geometry Cone{
height 3.0
bottomRadius .75
}
}


#esta es una esfera
Shape{
appearance Appearance{         
material Material {
diffuseColor 0.0 0.79 0.34
}
}
geometry Sphere{           
radius .5
}
}

Mis primeras figuras:

Las forma 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
          }
  • Appearance especifica las propiedades en cuanto a textura, material, etc del objeto que se describe en el campo geometry.

A continuacion los diferentes  codigos y su representación:


VRML




(Virtual Reality Modeling Languaje), exsite desde 1994, este te facilita crear un espacio en 3D, cualquier idea puede ser representada, es normalmente utilizada por quimicos, fisicos, medicos, algunas de las ventajas que este programa posee sobre de otros es que posee aplicaciones sin necesidad de un lenguaje y se limitan a lo que el programador cree oportuno, su extension es ".wrl" y puede contener a su vez texto.