Está en la página 1de 28

NODOS

Un archivo VRML contiene nodos los cuales describen figuras y sus propiedades. Las propiedades que describen son las siguientes: Figuras Colores Luz Posicionamiento y orientacin de las figuras Temporizacin de las animaciones Sensores

NODOS
Un nodo generalmente contiene: El tipo de nodo (obligatorio) Un conjunto de llaves (obligatorio) Un cierto numero de campos (opcional) y sus valores los cuales definen los atributos del nodo dentro de sus respectivos conjuntos de llaves Los campos agrupados entre las llaves pertenecen al nodo.

NODOS
A continuacin se muestra un ejemplo con el nodo Cilindro: Cylinder { height radius }

2.0 2.0

CAMPOS Y VALORES DE LOS CAMPOS


Campos: definen los atributos de un nodo. En el ejemplo anterior los campos son: height radius Este campo define la altura Este campo define el radio

Los campos son opcionales dentro dentro de los nodos, porque cada campo tiene un valor por defecto en caso de no especificarse.

CAMPOS Y VALORES DE LOS CAMPOS


Valores de los campos: definen atributos como color, tamao o posicin y cada valor esta especificado por un tipo de campo el cual describe los valores que son permitidos en el campo. height radius 2.0 2.0

Los campos height y radius son del tipo Float, es decir que solo permiten valores de tipo flotante.

CAMPOS Y VALORES DE LOS CAMPOS


Los tipos de valores de campos mas comunes son: Bool: valores booleanos o lgicos, los cuales se expresan como TRUE o FALSE Color: son un grupo de tres valores requeridos que son del tipo Float (flotante) Float: especifica que son valores de tipo flotante; positivos o negativos con punto decimal Int32: especifica que son valores del tipo entero; positivos o negativos sin punto decimal String: especifica una lista de caracteres dentro de comillas, es decir, una cadena de texto

DEF
Se puede asignar nombres a los nodos, una vez que un nodo tiene un nombre, puede ser usado posteriormente en el archivo. Por ejemplo: puedo especificarle a un nodo o grupo de nodos el nombre mi_silla, para construir una silla, despus para crear cuatro sillas alrededor de una mesa, es posible reutilizar mi_silla tres veces mas.

DEF
El nodo en donde se define el nombre es llamado nodo original, mientras que cada reutilizacin de este nodo se llama instancia. Para definir el nombre de un nodo se antepone la palabra DEF y el nombre del nodo que elijamos. Un archivo VRML puede contener un nmero ilimitado de nodos de este tipo. No esta permitido crear dos nodos con el mismo nombre en el mismo archivo.

DEF
Sintaxis: DEF nombre-nodo tipo-nodo { } Ej: DEF mi_cilindro Cylinder { } Ejemplos de nombres validos de nodo: mi_silla Ladrillo_rojo grupo4iv5 Azul_oscuro AltoBajo

Los nombres no pueden comenzar con nmeros, espacios en blanco, tabulaciones, retornos de carro; no pueden incluir comillas, comas, puntos, signos mas o menos, llaves y diagonales. A continuacion se muestran nombres ilegales:
DEF PROTO EXTERNPROTO ROUTE FALSE TO IS TRUE NULL USE eventIn eventOut exposedField field

DEF

USE
Una vez que se ha definido un nombre para un nodo, puede ser usado una y otra vez dentro del mismo archivo utilizando la palabra USE. Sintaxis: USE nombre-nodo

NODO SHAPE
Sintaxis: Shape { appearance geometry

NULL NULL

#Node #Node

NODO APPEARANCE
Sintaxis: Appearance { material texture textureTransform }

NULL NULL NULL

#Node #Node #Node

NODO MATERIAL
Sintaxis: Material { ambientIntensity diffuseColor emissiveColor shininess specularColor transparency }

0.2 0.8 0.8 0.8 0.0 0.0 0.0 0.2 0.0 0.0 0.0 0.0

#Float #Color #Color #Float #Color #Float

NODO BOX
Sintaxis: Box { size 2.0 2.0 2.0 }

#Vec3f

NODO CONO
Sintaxis: Cone { bottomRadius height side bottom }

1.0 2.0 TRUE TRUE

#Float #Float #Bool #Bool

NODO CILINDRO
Sintaxis: Cylinder { radius height side top bottom }

1.0 2.0 TRUE TRUE TRUE

#Float #Float #Bool #Bool #Bool

NODO ESFERA
Sintaxis: Sphere { radius } 1.0 #Float

NODO GRUPO
Sintaxis: Group { children [ ] bboxCenter 0.0 0.0 0.0 bboxSize -1.0 -1.0 -1.0 addChildren removeChildren }

#Node #Vec3f #Vec3f #Node #Node

EJ_1
#VRML V2.0 utf8 Shape { appearance Appearance { material Material { } } geometry Box { } }

EJ_2
#VRML V2.0 utf8 Shape { appearance Appearance { material Material { } } geometry Box { size 1.0 3.0 5.0 } }

EJ_3
#VRML V2.0 utf8 Shape { appearance Appearance material Material } geometry Cone { } }

{ {

EJ_4
#VRML V2.0 utf8 Shape { appearance Appearance { material Material { } } geometry Cone { bottomRadius 3.5 height 1.5 } }

EJ_5
#VRML V2.0 utf8 Shape { appearance Appearance { material Material { } } geometry Cylinder { } }

EJ_6
#VRML V2.0 utf8 Shape { appearance Appearance { material Material { } } geometry Cylinder { radius 4.0 height 1.0 } }

EJ_7
#VRML V2.0 utf8 Shape { appearance Appearance { material Material { } } geometry Sphere { } }

EJ_8
#VRML V2.0 utf8 Shape { appearance Appearance { material Material { } } geometry Sphere { radius 6.0 } }

También podría gustarte