Nombre: Planos XYZ en VRML
Descripción:
Cuando se diseñan mundos virtuales en VRML, es necesario tener una referencia espacial para ubicar los nodos y los objetos. Es posible desplegar un conjunto de líneas ortogonales separadas un metro entre sí de manera que se obtenga una rejilla o cuadrícula. Este código contiene al archivo Planos XYZ.wrl para desplegar los 3 planos XY (archivo: Plano XY.wrl), XZ (archivo: Plano XZ.wrl) y YZ (archivo: Plano YZ.wrl) con una dimensión de 10 x 10 metros cada uno. Convirtiendo en comentario a la línea donde se encuentra el nodo Inline del plano deseado evita que sea desplegado.
URL: http://www.mygnet.net/codigos/vrml/multimedia/planos_xyz_en_vrml.1627
Código Fuente:
#VRML V2.0 utf8
# Archivo: Planos XYZ.wrl
WorldInfo { title "Planos XYZ para referencia"
info ["Realizado por: Filiberto Ugarte Castañeda"]
}
# -----------------------------------------------
# Aqui se despliegan los 3 planos simultáneamente
# Para ocultar cualquier plano, convierte en
# comentario al nodo Inline correspondiente
Inline { url "Plano XY.wrl" }
Inline { url "Plano XZ.wrl" }
Inline { url "Plano YZ.wrl" }
========================================
#VRML V2.0 utf8
# Archivo: Plano XY.wrl
WorldInfo { title "XY de referencia, Z=0"
info ["Realizado por: Filiberto Ugarte Castañeda"]
}
# -------------------------------------------------
# Define el prototipo de la guía paralela al eje Y
PROTO GuiaY [
exposedField SFVec3f Longitud 1 1 1
exposedField SFRotation Orientacion 0 0 1 0
exposedField SFVec3f Posicion 0 0 0
]
{
Transform { scale IS Longitud
rotation IS Orientacion
translation IS Posicion
children [
Shape { geometry IndexedLineSet { coord Coordinate {
point [ 0 -0.5 0, # Vértice 0
0 0.5 0 # Vértice 1
]
}
coordIndex [ 0, 1, -1 ]
colorPerVertex FALSE
color Color { color [ 1 0 0 ] }
colorIndex [ 0 ]
}
} # Shape
] # children
} # Transform
} # PROTO
Group {
# Guías paralelas al eje Y sin rotación
children [
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 0 Posicion -10 0 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 0 Posicion -9 0 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 0 Posicion -8 0 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 0 Posicion -7 0 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 0 Posicion -6 0 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 0 Posicion -5 0 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 0 Posicion -4 0 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 0 Posicion -3 0 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 0 Posicion -2 0 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 0 Posicion -1 0 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 0 Posicion 0 0 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 0 Posicion 1 0 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 0 Posicion 2 0 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 0 Posicion 3 0 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 0 Posicion 4 0 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 0 Posicion 5 0 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 0 Posicion 6 0 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 0 Posicion 7 0 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 0 Posicion 8 0 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 0 Posicion 9 0 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 0 Posicion 10 0 0 }
]
}
Group {
# Guías paralelas al eje Y con rotación de 90 grados (1.57 radianes)
children [
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 1.57 Posicion 0 -10 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 1.57 Posicion 0 -9 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 1.57 Posicion 0 -8 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 1.57 Posicion 0 -7 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 1.57 Posicion 0 -6 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 1.57 Posicion 0 -5 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 1.57 Posicion 0 -4 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 1.57 Posicion 0 -3 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 1.57 Posicion 0 -2 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 1.57 Posicion 0 -1 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 1.57 Posicion 0 0 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 1.57 Posicion 0 1 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 1.57 Posicion 0 2 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 1.57 Posicion 0 3 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 1.57 Posicion 0 4 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 1.57 Posicion 0 5 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 1.57 Posicion 0 6 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 1.57 Posicion 0 7 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 1.57 Posicion 0 8 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 1.57 Posicion 0 9 0 }
GuiaY { Longitud 1 25 1 Orientacion 0 0 1 1.57 Posicion 0 10 0 }
]
}
==============================
#VRML V2.0 utf8
# Archivo: Plano XZ.wrl
WorldInfo { title "XZ de referencia, Y=0"
info ["Realizado por: Filiberto Ugarte Castañeda"]
}
# -------------------------------------------------
# Define el prototipo de la guía paralela al eje X
PROTO GuiaX [
exposedField SFVec3f Longitud 1 1 1
exposedField SFRotation Orientacion 0 0 1 0
exposedField SFVec3f Posicion 0 0 0
]
{
Transform { scale IS Longitud
rotation IS Orientacion
translation IS Posicion
children [
Shape { geometry IndexedLineSet { coord Coordinate {
point [ -0.5 0 0, # Vértice 0
0.5 0 0 # Vértice 1
]
}
coordIndex [ 0, 1, -1 ]
colorPerVertex FALSE
color Color { color [ 0 1 0 ] }
colorIndex [ 0 ]
}
} # Shape
] # children
} # Transform
} # PROTO
Group {
# Guías paralelas al eje X sin rotación
children [
GuiaX { Longitud 25 1 1 Orientacion 0 0 1 0 Posicion 0 0 -10 }
GuiaX { Longitud 25 1 1 Orientacion 0 0 1 0 Posicion 0 0 -9 }
GuiaX { Longitud 25 1 1 Orientacion 0 0 1 0 Posicion 0 0 -8 }
GuiaX { Longitud 25 1 1 Orientacion 0 0 1 0 Posicion 0 0 -7 }
GuiaX { Longitud 25 1 1 Orientacion 0 0 1 0 Posicion 0 0 -6 }
GuiaX { Longitud 25 1 1 Orientacion 0 0 1 0 Posicion 0 0 -5 }
GuiaX { Longitud 25 1 1 Orientacion 0 0 1 0 Posicion 0 0 -4 }
GuiaX { Longitud 25 1 1 Orientacion 0 0 1 0 Posicion 0 0 -3 }
GuiaX { Longitud 25 1 1 Orientacion 0 0 1 0 Posicion 0 0 -2 }
GuiaX { Longitud 25 1 1 Orientacion 0 0 1 0 Posicion 0 0 -1 }
GuiaX { Longitud 25 1 1 Orientacion 0 0 1 0 Posicion 0 0 0 }
GuiaX { Longitud 25 1 1 Orientacion 0 0 1 0 Posicion 0 0 1 }
GuiaX { Longitud 25 1 1 Orientacion 0 0 1 0 Posicion 0 0 2 }
GuiaX { Longitud 25 1 1 Orientacion 0 0 1 0 Posicion 0 0 3 }
GuiaX { Longitud 25 1 1 Orientacion 0 0 1 0 Posicion 0 0 4 }
GuiaX { Longitud 25 1 1 Orientacion 0 0 1 0 Posicion 0 0 5 }
GuiaX { Longitud 25 1 1 Orientacion 0 0 1 0 Posicion 0 0 6 }
GuiaX { Longitud 25 1 1 Orientacion 0 0 1 0 Posicion 0 0 7 }
GuiaX { Longitud 25 1 1 Orientacion 0 0 1 0 Posicion 0 0 8 }
GuiaX { Longitud 25 1 1 Orientacion 0 0 1 0 Posicion 0 0 9 }
GuiaX { Longitud 25 1 1 Orientacion 0 0 1 0 Posicion 0 0 10 }
]
}
Group {
# Guías paralelas al eje X con rotación de 90 grados (1.57 radianes)
children [
GuiaX { Longitud 25 1 1 Orientacion 0 1 0 1.57 Posicion -10 0 0 }
GuiaX { Longitud 25 1 1 Orientacion 0 1 0 1.57 Posicion -9 0 0 }
GuiaX { Longitud 25 1 1 Orientacion 0 1 0 1.57 Posicion -8 0 0 }
GuiaX { Longitud 25 1 1 Orientacion 0 1 0 1.57 Posicion -7 0 0 }
GuiaX { Longitud 25 1 1 Orientacion 0 1 0 1.57 Posicion -6 0 0 }
GuiaX { Longitud 25 1 1 Orientacion 0 1 0 1.57 Posicion -5 0 0 }
GuiaX { Longitud 25 1 1 Orientacion 0 1 0 1.57 Posicion -4 0 0 }
GuiaX { Longitud 25 1 1 Orientacion 0 1 0 1.57 Posicion -3 0 0 }
GuiaX { Longitud 25 1 1 Orientacion 0 1 0 1.57 Posicion -2 0 0 }
GuiaX { Longitud 25 1 1 Orientacion 0 1 0 1.57 Posicion -1 0 0 }
GuiaX { Longitud 25 1 1 Orientacion 0 1 0 1.57 Posicion 0 0 0 }
GuiaX { Longitud 25 1 1 Orientacion 0 1 0 1.57 Posicion 1 0 0 }
GuiaX { Longitud 25 1 1 Orientacion 0 1 0 1.57 Posicion 2 0 0 }
GuiaX { Longitud 25 1 1 Orientacion 0 1 0 1.57 Posicion 3 0 0 }
GuiaX { Longitud 25 1 1 Orientacion 0 1 0 1.57 Posicion 4 0 0 }
GuiaX { Longitud 25 1 1 Orientacion 0 1 0 1.57 Posicion 5 0 0 }
GuiaX { Longitud 25 1 1 Orientacion 0 1 0 1.57 Posicion 6 0 0 }
GuiaX { Longitud 25 1 1 Orientacion 0 1 0 1.57 Posicion 7 0 0 }
GuiaX { Longitud 25 1 1 Orientacion 0 1 0 1.57 Posicion 8 0 0 }
GuiaX { Longitud 25 1 1 Orientacion 0 1 0 1.57 Posicion 9 0 0 }
GuiaX { Longitud 25 1 1 Orientacion 0 1 0 1.57 Posicion 10 0 0 }
]
}
=============================
#VRML V2.0 utf8
# Archivo: Plano YZ.wrl
WorldInfo { title "YZ de referencia, X=0"
info ["Realizado por: Filiberto Ugarte Castañeda"]
}
# -------------------------------------------------
# Define el prototipo de la guía paralela al eje Z
PROTO GuiaZ [
exposedField SFVec3f Longitud 1 1 1
exposedField SFRotation Orientacion 0 0 1 0
exposedField SFVec3f Posicion 0 0 0
]
{
Transform { scale IS Longitud
rotation IS Orientacion
translation IS Posicion
children [
Shape { geometry IndexedLineSet { coord Coordinate {
point [ 0 0 -0.5, # Vértice 0
0 0 0.5 # Vértice 1
]
}
coordIndex [ 0, 1, -1 ]
colorPerVertex FALSE
color Color { color [ 1 1 1 ] }
colorIndex [ 0 ]
}
} # Shape
] # children
} # Transform
} # PROTO
Group {
# Guías paralelas al eje Z sin rotación
children [
GuiaZ { Longitud 1 1 25 Orientacion 0 0 1 0 Posicion 0 -10 0 }
GuiaZ { Longitud 1 1 25 Orientacion 0 0 1 0 Posicion 0 -9 0 }
GuiaZ { Longitud 1 1 25 Orientacion 0 0 1 0 Posicion 0 -8 0 }
GuiaZ { Longitud 1 1 25 Orientacion 0 0 1 0 Posicion 0 -7 0 }
GuiaZ { Longitud 1 1 25 Orientacion 0 0 1 0 Posicion 0 -6 0 }
GuiaZ { Longitud 1 1 25 Orientacion 0 0 1 0 Posicion 0 -5 0 }
GuiaZ { Longitud 1 1 25 Orientacion 0 0 1 0 Posicion 0 -4 0 }
GuiaZ { Longitud 1 1 25 Orientacion 0 0 1 0 Posicion 0 -3 0 }
GuiaZ { Longitud 1 1 25 Orientacion 0 0 1 0 Posicion 0 -2 0 }
GuiaZ { Longitud 1 1 25 Orientacion 0 0 1 0 Posicion 0 -1 0 }
GuiaZ { Longitud 1 1 25 Orientacion 0 0 1 0 Posicion 0 0 0 }
GuiaZ { Longitud 1 1 25 Orientacion 0 0 1 0 Posicion 0 1 0 }
GuiaZ { Longitud 1 1 25 Orientacion 0 0 1 0 Posicion 0 2 0 }
GuiaZ { Longitud 1 1 25 Orientacion 0 0 1 0 Posicion 0 3 0 }
GuiaZ { Longitud 1 1 25 Orientacion 0 0 1 0 Posicion 0 4 0 }
GuiaZ { Longitud 1 1 25 Orientacion 0 0 1 0 Posicion 0 5 0 }
GuiaZ { Longitud 1 1 25 Orientacion 0 0 1 0 Posicion 0 6 0 }
GuiaZ { Longitud 1 1 25 Orientacion 0 0 1 0 Posicion 0 7 0 }
GuiaZ { Longitud 1 1 25 Orientacion 0 0 1 0 Posicion 0 8 0 }
GuiaZ { Longitud 1 1 25 Orientacion 0 0 1 0 Posicion 0 9 0 }
GuiaZ { Longitud 1 1 25 Orientacion 0 0 1 0 Posicion 0 10 0 }
]
}
Group {
# Guías paralelas al eje Z con rotación de 90 grados (1.57 radianes)
children [
GuiaZ { Longitud 1 1 25 Orientacion 1 0 0 1.57 Posicion 0 0 -10 }
GuiaZ { Longitud 1 1 25 Orientacion 1 0 0 1.57 Posicion 0 0 -9 }
GuiaZ { Longitud 1 1 25 Orientacion 1 0 0 1.57 Posicion 0 0 -8 }
GuiaZ { Longitud 1 1 25 Orientacion 1 0 0 1.57 Posicion 0 0 -7 }
GuiaZ { Longitud 1 1 25 Orientacion 1 0 0 1.57 Posicion 0 0 -6 }
GuiaZ { Longitud 1 1 25 Orientacion 1 0 0 1.57 Posicion 0 0 -5 }
GuiaZ { Longitud 1 1 25 Orientacion 1 0 0 1.57 Posicion 0 0 -4 }
GuiaZ { Longitud 1 1 25 Orientacion 1 0 0 1.57 Posicion 0 0 -3 }
GuiaZ { Longitud 1 1 25 Orientacion 1 0 0 1.57 Posicion 0 0 -2 }
GuiaZ { Longitud 1 1 25 Orientacion 1 0 0 1.57 Posicion 0 0 -1 }
GuiaZ { Longitud 1 1 25 Orientacion 1 0 0 1.57 Posicion 0 0 0 }
GuiaZ { Longitud 1 1 25 Orientacion 1 0 0 1.57 Posicion 0 0 1 }
GuiaZ { Longitud 1 1 25 Orientacion 1 0 0 1.57 Posicion 0 0 2 }
GuiaZ { Longitud 1 1 25 Orientacion 1 0 0 1.57 Posicion 0 0 3 }
GuiaZ { Longitud 1 1 25 Orientacion 1 0 0 1.57 Posicion 0 0 4 }
GuiaZ { Longitud 1 1 25 Orientacion 1 0 0 1.57 Posicion 0 0 5 }
GuiaZ { Longitud 1 1 25 Orientacion 1 0 0 1.57 Posicion 0 0 6 }
GuiaZ { Longitud 1 1 25 Orientacion 1 0 0 1.57 Posicion 0 0 7 }
GuiaZ { Longitud 1 1 25 Orientacion 1 0 0 1.57 Posicion 0 0 8 }
GuiaZ { Longitud 1 1 25 Orientacion 1 0 0 1.57 Posicion 0 0 9 }
GuiaZ { Longitud 1 1 25 Orientacion 1 0 0 1.57 Posicion 0 0 10 }
]
}