CURSO DE VRML 2.0
Lic. Mirta Echeverría
Para La Web del Programador
Entrega Nº 2:
Nodos y Campos
Nodos o Node La base 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.
Cualquier consulta o comentario [email protected]