miércoles, 18 de abril de 2012

Nodo Inline



  El nodo Inline va a permitir crear un grupo en donde los hijos, almacenados en distintos ficheros VRML, son recuperados indicando su dirección URL. 
 
Sintaxis:
Inline{
   url"dirección_url"
}

Nodo ElevationGrid


 Este nodo crea una cuadrícula rectangular con alturas variables, lo que la hace especialmente útil para modelar el terreno y para la creación de otras superficies en el espacio. 
 
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 
}

Nodo Extrusion: (moldeamiento)


Este nodo permite definir un objeto al desplazar su sección por una trayectoria.

geometry Extrusion {
                      crossSection [punto2D_1, punto2D_2, ..., punto2D_N, punto2D_1]
                        spine[punto3D_1, punto3D_2, ..., punto3D_N]
                        scale [escaladoX_1 escaladoZ_1, escaladoX_2 escaladoZ_2, ...]
                        solid TRUE ó FALSE
                        beginCap TRUE ó FALSE
                        endCap TRUE ó FALSE
                        creaseAngle ángulo       
    

     


Nodo IndexedFaceSet


Este nodo sirve para definir un conjunto de caras planas dentro de nuestro sistema de coordenadas. Nos da una gran libertad para modelar objetos en 3D, pero para objetos complejos se vuelve muy lioso.

Es un nodo geometry. Lo utilizaremos dentro de un nodo Shape (tal como hacíamos con el nodo Box o Sphere
Shape{
                    geometry IndexedFaceSet{
                    coord Coordinate { point [punto0,punto1, ..., puntoi, punto(i+1), ..., punton]}
                    coordIndex [cara 0 -1
                            cara 1 -1
                                ...
                            cara n -1 ]
                        }
                } 
*punto0, punto1,...., punton son los puntos que utilizaremos para definir las caras.
En coordIndex definimos las caras de nuestro objeto. Cada cara se compone de una lista ordenada de puntos (ejemplo: 0 1 2 3). La figura es cerrada automáticamente, por lo que no es necesario que el primer y el último punto de cada cara coincidan.

El nodo Transform


Su estructura general es la siguiente:

Transform {
       translation . . .
       rotation    . . .
       scale       . . .
       children  [ . . . ]
   }
 Como se puede ver, tiene tres campos con los que se determina su posible traslado, rotación o nueva escala, y un cuarto campo children, en donde se especifican cuáles son los objetos agrupados que sufrirán esas transformaciones.
No tienen por qué estar los tres campos a la vez. Por tanto, para simplificar, vamos a ver cada uno de ellos por separado.

Traslación

Poniendo sólo el campo translation, queda el nodo Transform de esta manera:
Transform {
       translation 20 0 0
       children [ . . . ]
   }
 Se ha puesto un valor al campo translation. El orden para el traslado de las coordenadas es X, Y, Z. Por tanto, en este caso, hay una traslación de 20 unidades hacia la derecha (si hubiera sido hacia la izquierda se habría puesto -20.0)
Por supuesto que se podrían haber variado las tres coordenadas, no sólo la X como en este caso.

Con respecto al campo children, se aplica lo dicho anteriormente, para el nodo Group.

Rotación

Poniendo ahora sólo el campo rotation, queda el nodo Transform de esta manera:
Transform {
        rotation 1 0 0 1.57
        children [ ... ]
   }

Nodo PointSet



Representa un conjunto de puntos situados en las coordenadas índicadas dentro del sistema de coordenadas del nodo padre. 
Sintaxis:
PointSet {
       coord Coordinate {
           point [ . . . ]
       }
       color Color {
           color [ . . . ]
       }
   }

Nodo LineSet


El nodo de geometría containes un nodo IndexedLineSet, que tiene un nodo y un nodo coord coordIndex. El nodo coord es igual que en el PointSet. Lleva a cabo una serie de puntos en 3-espacio. El nodo coordIndex es como un "conectar los puntos de juego. 
 Los fragmentos de código restantes dibujar bordes de cada uno de los vértices inferiores al punto de la pirámide.
Debido a que todo el equipo tiene que dibujar líneas es, y las líneas no están sombreadas, estos modelos suelen ser muy rápidamente atraído. Por desgracia, los dibujos de alambre son difíciles de entender una vez que se vuelven complejas.
Con este nodo se crean líneas, uniendo una serie de puntos determinados. Su estructura resumida es la siguiente:

Sintaxis
IndexedLineSet {
     coord Coordinate {
         point [  . . .  ]
     }
     coordIndex [ . . .  ]
 }
Como se puede ver, tiene dos campos:
coord, cuyo valor es el nodo Coordinate, y que sirve para determinar las coordenadas de los puntos aislados que se van a unir entre sí para formar las líneas.
coordIndex, con este campo se define el orden con el que se unen los puntos entre sí, dónde empieza y acaba una línea, etc.