CURSO DE VRML 2.0

 Lic. Mirta Echeverría

[email protected]

Para La Web del Programador

 

Entrega Nº 2:

Nodos y Campos

 

Nodos o Node:

La base del VRML son los Nodos (el elemento básico).Todo lo que ocurre en VRML sucede en un Nodo. Y estos nodos tienen un nombre que los identifica como Box, Sphere, Coordinate, Shape... El nombre de un Nodo siempre comienza con una mayúscula, seguido de un espacio y luego una llave que abre . Entre la llave abierta y la llave que cierra este bloque de código se definen los campos (fields) del nodo. Como ya lo vimos en el ejemplo de la entrega anterior.

Nodo {

}

Campos o Fields:

Cabe preguntarse ¿qué hay dentro de un nodo? Bueno esto depende de qué nodo sea. Algunos tienen cantidad de información, mientras que otros tienen muy poca. Cualquier información de un Nodo esta ubicada en un campo de este nodo. Estos campos tienen nombre, pero comienzan con una letra minúscula. Por ejemplo nosotros ya conocemos el nodo Sphere y su campo radius, el que especifica el valor del radio de la esfera.

¿Cómo sabemos lo que va adentro de un campo? Cada nodo tiene campos y estos son de un tipo específico de dato (data). Esta información o dato puede ser de carácter alfanumérico, numérico, color ... Todos los tipos de datos tienen nombre y comienzan con SF (Single File) cargan un solo valor o MF (Multiple File) cargan más de un valor, o sea múltiples valores encerrados entre corchetes []. Ejemplo:

SFBool TRUE o FALSE

MFColor [ 1 1 1 ]

 

Tabla Básica de Tipos de Datos:

SFBool, MFBool

TRUE o FALSE. Verdadero o Falso.

SFFloat, MFFloat

Un valor con punto flotante. Es un número con coma o punto decimal.

Ejemplo: 1.05

SFColor, MFColor

Un color triple. Definido por RGB, con valores decimales entre 0 y 1.

Ejemplo: 0.5 0.5 0.5 (gris)

SFInt32, MFInt32

Un valor entero. El rango va desde: 2.147.483.647 hasta -2.147.483.648

SFString, MFString

Una cadena de caracteres. "Hola" debe ir entre comillas.

SFVec3f, MFVec3f

Un vector tridimensional, con tres valores por cada punto ubicado en cada coordenada: x, y, z. Estos valores pueden expresarse en decimales. Ejemplo: 1 3 2.20 Separados por espacios.

SFVec2f, MFVec2f

Un vector de dos dimensiones: x, y Por ejemplo: 12 15.2

SFNode, MFNode

Aquí un nodo se define como el contenido de un campo. De esta manera los nodos pueden anidarse, ubicándose uno dentro de otro. Esto permite mayor flexibilidad al lenguaje.

 

Con estos conceptos básicos podemos comenzar a trabajar. Abrimos el editor de texto que poseemos o mejor si es el Programmer's File Editor y escribimos el encabezado :

#VRML V2.0 utf8

Vemos que si grabamos este archivo como .wrl y lo corremos en el navegador, no veremos nada. Ya que este encabezado como vimos en la entrega anterior sólo legitima el archivo .wrl para que sea reconocido por el navegador.

Para agregar un objeto hacemos uso del nodo Shape y conectamos el campo apariencia (appearance) con la forma del objeto (geometry). Los campos apariencia y geometría definen las características visibles y la forma de un objeto.

Volviendo a las formas, VRML tiene 4 formas construidas por defecto: Esfera, Caja ,Cono y Cilindro.

Campos de las figuras:

Esfera:

Shape {

radius

}

}

Caja:

Box {

size #SFVec3f por defecto 2.0 2.0 2.0

}

Cono:

Cone {

bottomRadius #SFFloat por defecto 1.0

height #SFFloat por defecto 2.0

side #SFBool por defecto TRUE

top #SFBool por defecto TRUE

}

Cilindro:

Cylinder {

bottom #SFBool por defecto TRUE

height #SFFloat por defecto 2.0

radius #SFFloat por defecto 1.0

side #SFBool por defecto TRUE

top #SFBool por defecto TRUE

}

Ejercicio Nº 1:

#VRML V2.0 utf8

#Este es nuestro primer ejercicio

#Muestra una esfera

Shape { #define el nodo figura

geometry #define el campo geometría

Sphere { #define el nodo esfera

radius 1.0 #define por defecto 1

} #cierra Esfera

} #cierra Figura y el archivo

Ejercicio Nº 2:

#VRML V2.0 utf8

#Este es nuestro segundo ejercicio

#Muestra una Caja

Shape { #define el nodo figura

geometry #define el campo geometría

Box { #define el nodo Caja o Cubo

size 1 1 1 #define por defecto lado de 1

} #cierra Cubo

} #cierra Figura y el archivo

Ejercicio Nº 3:

#VRML V2.0 utf8

#Este es nuestro tercer ejercicio

#Muestra un Cono

Shape { #define el nodo figura

geometry #define el campo geometría

Cone{ #define el nodo Cono

bottomRadius 1.0

height 2.0

} #cierra Cono

} #cierra Figura y el archivo

 

Ejercicios Opcionales:

Para aquellos que tengan tiempo y ganas de seguir practicando les propongo estos ejercicios:

La próxima semana les dejaré las respuestas para que chequeen los resultados. Los ejercicios 1, 2 y 3 pueden bajarlos zipeados de Aquí Nos vemos.

Entrega 1 - Entrega 2 - Entrega 3 - Entrega 4 - Entrega 5 - Entrega 6 - Entrega 7 - Entrega 8 - Entrega 9 - Entrega 10

Cualquier consulta o comentario [email protected]

www.geocities.com/SiliconValley/Garage/6472