Sintaxis:
Box{
size anchura altura profundidad
}
size anchura altura profundidad
}
Ejemplo:
Box{
size 2.0 0.5 3.0
}
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
}
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
}
height altura
radius radio
bottom valor_lógico
side valor_lógico
top valor_lógico
}
Ejemplo:
Cylinder{
height 2.0
radius 1.5
}
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
}
radius radio
}
Ejemplo:
Sphere{
radius 1.0
}
radius 1.0
}
INDICA EL RADIO DE LA ESFERA
#VRML V2.0 utf8
Shape{
appearance Appearance{
material Material {}
}
geometry Cylinder{
height 2.0
radius 1.5
}
}
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",
string ["linea_texto 1",
"linea_texto 2",
.
.
.
"linea_texto N",]
.
.
.
"linea_texto N",]
fontStyle FontStyle {
family "Nombre_Fuente",
style "Estilo_Fuente",
size Tamaño_Fuente
spacing espaciado_entre_caracteres
justify "justificación_del_texto"
}
}
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 [ ... ]
}
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 { ... },
...
]
}
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[...]
}
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 [...]
}
# 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 [...]
}
# 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 [...]
}
# 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
}
}
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 ...
}
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[...]
}
url"dirección_URL"
description "descripción_del_enlace"
children[...]
}
Ejemplo:
Anchor{
url"escalera.wrl"
description "Escaleras Flotantes"
children[...]
}
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
]
}
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 [ . . . ]
}
}
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 [...]
}
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 [...]
}
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
}
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.
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"
}
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"
}
Me parece muy interesante, pero deberian poner imagenes con los ejemplos para poder ver lo que en realidad hacen, de cualquier manera esta muy bien redactado, mucha suerte.
ResponderEliminar