lunes, 23 de abril de 2012

VRML EXPLICACION


NODO PRIMITIVO BOX(CAJA)
Sintaxis: 
Box{  
     size anchura altura profundidad  
} 
Ejemplo: 
Box{  
     size 2.0 0.5 3.0  
REPRESENTA POR EL ANCHO,LARGO Y ALTURA DE LA CAJA

NODO PRIMITIVO CONE(CONO) 
Sintaxis: 
Cone{  
     height               altura  
     bottomRadius   radio_de_la_base 
     bottom               valor_lógico 
     side                    valor_lógico 
NODO PRIMITIVO CYLINDER(CILINDRO)
Sintaxis: 
Cylinder{  
     height                altura  
     radius                radio  
     bottom               valor_lógico 
     side                    valor_lógico 
     top                     valor_lógico 
Ejemplo: 
Cylinder{  
     height 2.0  
     radius 1.5  

EL RADIO INDICA DE LA BASE Y EL HERIGHT DE LA ALTURA
NODO PRIMITIVO SPHERE´(ESFERA)
Sintaxis: 
Sphere{  
     radius radio  
 
Ejemplo:  
Sphere{  
     radius 1.0  
 
INDICA EL RADIO DE LA ESFERA

 Ejemplo: 
 

#VRML V2.0 utf8  
Shape{  
   appearance Appearance{  
      material Material {}  
   }  
   geometry Cylinder{  
      height 2.0  
      radius 1.5  
   }  
COMO PONERELE TEXTO EN VRML
NODO TEXT
Como en cualquier procesador de textos, se nos permitirá indicar el tipo de fuente, su estilo, su tamaño, el espaciado entre caracteres, justificación de los parrafos, etc.  
Sintaxis: 
    Text { 
        string ["linea_texto 1", 
                     "linea_texto 2", 
                               . 
                               . 
                               . 
                      "linea_texto N",]     
fontStyle FontStyle { 
                                            family "Nombre_Fuente", 
                                            style "Estilo_Fuente", 
                                            size Tamaño_Fuente 
                                            spacing espaciado_entre_caracteres 
                                            justify "justificación_del_texto" 
                                          } 
    }
STRING: A QUI ES DONDE SE DEBE PONER EL TEXTO QUE SE DESEA UTILIZAR
FONT STYLE ES UN CAMPO OPCIONAL DONDE PUES PODER FAMILY EL NOMBRE DE LA FUENTE, STYLE ESTILO DE FUENTE, SIZE TAMAÑO DE FUENTE, SPACING, ESPACIO ENTRE CARACTERES Y JUSTIFY LA ALINEACION DEL TEXTO
AGRUPACION 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 [ ... ] 
    }

CHILDREN
El campo children contiene 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[...] 
} 

Cada objeto creado con el nodo transfrom tiene un scale,tranlation y rotation
Ejemplo: 
Transform{ 
    # Ejes:         X   Y   Z 
    translation 2.0 0.0 0.0 
    children [...] 
} 

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, se ha de hacer referencia al grado de inclinación de dicho giro (en radianes). 
Ejemplo: 
Transform{ 
# Ejes:    X   Y   Z    Ángulo 
rotation 0.0 0.0 1.0   0.52 
children [...] 
} 
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: 
Transform{ 
# Ejes:    X   Y   Z  
scale      0.5 0.5 0.5 
children [...] 
} 

Hay una solución prevista para simplificar las repeticiones de objetos dentro de un escenario virtual. Esta solución consiste en asignar un nombre arbitrario al nodo que se piensa repetir en el código. 
Se puede definir, para el ámbito de un documento VRML, que este tipo de cilindro tenga un nombre arbitrario, por ejemplo ColumnaRepetida (o como se desee, con tal de que comience por mayúscula), de la siguiente manera:  
 
 
 DEF ColumnaRepetida Shape { 
      appearance Appearance { 
           material Material { } 
      } 
      geometry Cylinder { 
           height 2.0 
           radius 0.5 
      } 
 }
 el ejemplo anterior de la caja y el cono, aparece el nodo Appearance repetido. Vamos a definirlo, en la primera ocasión que se utiliza con el nombre, "PorDefecto" y la segunda vez que se usa lo invocaremos mediante el comando USE
NODO MATERIAL
LOS COLORES DE LOS OBJETOS SE DAN EN 3 VALORES EL PRIMERO ROJO, VERDE Y AZUL LOS VALORES QUE PUEDEN TOMAR VA DEL 0 AL 1
NODO MATERIAL:
Sintaxis: 
Shape{  
   appearance Appearance{  
      material Material{  
         diffuseColor           color_RGB  
         emissiveColor        color_RGB  
         specularColor        color_RGB 
         ambientIntensity   valor  
         transparency         valor  
         shininess               valor  
      }  
   }  
   geometry ...  

DIFFUSE COLOR:representa el color del objeto
EMISSIVE COLOR: fija el brillo del objeto
SPECULAR COLOR: el reflejo del color

NODO ANCHOR
A través del nodo anchor puedes viajar a través del mundo virtual es decir que puedes creas vínculos entre dos o mas mundos vituales para que estos se comuniquen
Sintaxis: 
Anchor{  
  url"dirección_URL 
  description "descripción_del_enlace 
  children[...]  
 
Ejemplo: 
Anchor{  
  url"escalera.wrl"  
  description "Escaleras Flotantes"  
  children[...]  
 
 
CREACION DE FIGURAS COMPLEJAS
NODO COORDINATE : en el nodo cordinate tus marcas los puntos donde se van puntos para hacer la figura compleja
Sintaxis: 
Coordinate { 
        point [ 
             Eje_x  Eje_Y  Eje_Z, 
             Eje_x  Eje_Y  Eje_Z, 
             ... 
             Eje_x  Eje_Y  Eje_Z 
        ] 
    }

NODO POINT SET
Representa un conjunto de puntos en el espacio virtual donde crear la figura compleja
Sintaxis: 
PointSet { 
       coord Coordinate { 
           point [ . . . ] 
       } 
       color Color { 
           color [ . . . ] 
      
} 
   }
NODO INDEX LINE
permite unir los diferentes puntos especificados en su campo
Sintaxis: 
IndexedLineSet{  
    coord Coordinate { 
           point [ . . . ] 
    
} 
    coordIndex  [...]  
    colorPerVertex     valor_lógico 
    color Color { 
           color [ . . . ] 
     } 
    colorIndex   [...] 
 } 


NODO INDESX SET F’ACE
Permite unir los diferentes puntos especificados en su campo
Sintaxis: 
IndexedFaceSet{  
    coord Coordinate { 
           point [ . . . ] 
     } 
    coordIndex  [...]  
   
colorPerVertex     valor_lógico 
    color Color { 
           color [ . . . ] 
     } 
    colorIndex   [...] 
 } 


NODO ELEVATION GRID
En este nodo crea una rejilla con puntos a traves de estos puntos tu puedes darle una altura a cada de los puntos que están en la rejilla
Sintaxis: 
ElevationGrid{ 
xDimension     número_de_columnas(Eje_X) 
xSpacing         valor_real 
zDimension     número_de_filas(Eje_Z) 
zSpacing         valor_real 
height   [altura1, altura2,...,altura(numcolum x numfilas) 
color  Color[...] 
colorPerVertext 
}
Los campos xDimension y zDimension especifican el número de puntos de la cuadrícula en las direcciones X y Z Los campos xSpacing y zSpacing determinan la distancia entre los puntos de la cuadrícula en el eje X y en el eje Z respectivamente. 

El campo height consiste en una ordenación de valores escalares que representan la altura de cada vértice sobre la cuadrícula. Los valores se almacenan de modo que la fila 0 es la primera, la fila 1 la segunda, etc. Dentro de cada fila, los valores de altura se almacenan de modo que la columna 0 es la primera, la 1 la segunda, etc.
NODO BACKGROUND
 
    
Incorpora un plano de suelo sombreado, texturas y cielo escénico. Sólo se emplea el primer nodo Background que se encuentre, debiéndose especificar en el archivo principal. 
 
Sintaxis: 
Backgroud{ 
    groundAngle     [ ] 
    groundColor     [ ] 
    skyAngle          [ ] 
    skyColor          [ ] 
    backUrl           "dirección_URL" 
    bottomURL     "dirección_URL" 
    frontUrl           "dirección_URL" 
    leftUrl              "dirección_URL" 
    rightUrl           "dirección_URL" 
    topUrl              "dirección_URL" 
}







VRML descargable

los siguientes son pequeños enlaces en los cualaes tu puedes observar como van quedando los ambientes y algunos codigos importantes, debe quedar claro que no los vas a poder ver si no tienes el visualizador llamado cortona
cilindro figura primitiva
ejemplo de como se visualiza el texto
ejemplo de una mesa compuesta por figuras primitivas
ejemplo de la funcionalidad de un anchor
ejemplo de un entorno
es un fondo con una diferencia del fondo
mi propio estadio


domingo, 22 de abril de 2012

VRML EJEMPLOS


 Ejemplo De una figura primitiva: 
 
#VRML V2.0 utf8  
Shape{  
   appearance Appearance{  
      material Material {}  
   }  
   geometry Cylinder{  
      height 2.0  
      radius 1.5  
   }  

Ejemplo de texto: 
    Text {  
         string ["Esta es la primera fila de texto",  
                    "esta es la segunda fila",  
                    "etc."]  
fontStyle FontStyle {  
                 family "SERIF",  
                 style "BOLD",  
                 size 1.0  
                 spacing 1.0  
                 justify "BEGIN"  
         }  

 
Ejemplo De children and group: 
 
 #VRML V2.0 utf8 
 #Ejemplo de agrupación de una caja y un cono 
 Group { 
     children [ 
         #Aquí empieza la caja: 
         Shape { 
             appearance Appearance { 
                 material Material {   } 
             } 
             geometry Box { 
                 size 2.0 0.5 3.0 
             } 
         }, 
         #Aquí empieza el cono: 
         Shape { 
             appearance Appearance { 
                 material Material {   } 
             } 
             geometry Cone { 
                 height 3.0 
                 bottomRadius 0.75 
             }  
         } 
     ] 
 }
Ejemplo de transform: 
Transform{ 
# Ejes:     X    Y   Z     Ángulo  
translation 2.0 0.0 0.0 
rotation 0.0 0.0 1.0   0.52 
scale       0.5 0.5 0.5 
children [...] 
}
Ejemplo:
#VRML V2.0 utf8 
 #Ejemplo de agrupación de una caja y un cono, 
 #haciendo uso de los comandos DEF y USE. 
 Group { 
    children [ 
       Shape { 
          appearance DEF PorDefecto Appearance { 
             material Material {   } 
          } 
          geometry Box { 
             size 2.0 0.5 3.0 
          } 
       }, 
       Shape { 
          appearance USE PorDefecto 
          geometry Cone { 
             height 3.0 
             bottomRadius 0.75 
          }  
       } 
    ] 
 }
Ejemplo del nodo coordinate: 
Coordinate { 
        point [ 
             12.0 11.0 17.1, 
             20.5 13.8 5.3, 
             14.0 6.1 22.9 
        ] 
    }
Ejemplo point set : 
#VRML V2.0 utf8 
   #Ejemplo de un grupo de tres puntos con colores 
   Shape { 
        geometry PointSet { 
           coord Coordinate { 
               point [  
                   12.0 11.0 17.1,  #1º punto 
                   20.5 13.8 5.3,   #2º punto 
                   14.0 6.1 22.9    #3º punto  
               ] 
            } 
            color Color { 
                color [ 
                    1.0 0.0 0.0, # 1º punto rojo 
                    0.0 1.0 1.0, # 2º punto verde 
                    1.0 1.0 0.0  # 3º punto amarillo 
               ] 
            } 
        } 
   }








FIGURAS 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 ... 
          }

inicio vrml



VRML TUTORIAL
El siguiente contenido está relacionado al entorno de VRML, el cuál será de ayuda al usuario para que pueda crear “mundos virtuales” con gran facilidad, ya que para usar este tipo de aplicaciones no es necesario saber programar ya que los códigos son sencillos y solo se tiene que pensar un poco para lograr el entorno que se desee.
VRML (Virtual Reality Modeling Lenguaje)
vrml es un editor muy facil de utilizar a traves de bloc de notas donde todas las computadoras lo tienen en blox de notas es donde se crea el codijo fuente del entorno atraves de cortona un visualizador es donde veras tu entorno y el avance q se tiene si qieres descargarlo qui te dejo el link CORTONA´--> http://www.cortona3d.com/install.aspx

CABECERA DEL CODIGO FUENTE
La cabecera de todo fichero VRML es siempre la misma: 
 



#VRML V2.0 utf8

donde VRML V2.0 indica el estándar empleado y utf8 autoriza el uso de caracteres internacionales. 
 
     Es importante resaltar que no debe existir ningún espacio en blanco entre el símbolo "#" y la palabra "VRML" 

NODOS  
Un nodo es la estructura mínima indivisible de un fichero VRML y tiene como misión la de definir las características de un objeto o bien las relaciones entre distintos objetos. La mayoría de los nodos pueden repetirse tantas veces como sea necesario en una escena, salvo una serie de nodos especiales como los que definen la niebla o la panorámica del mundo virtual que aparecen un sola vez. 

ejemplo de un programa en vrml:
#VRML V2.0 utf8 
#Esto es una línea de comentarios 
Shape{ 
   appearance Appearance{ 
      material Material{} 
   } 
   geometry Cylinder{ 
       height 2.0 
       radius 1.5  }