Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Java 3D
Java 3D Appearance
crear Geometry
GEOMETRIAS
Prof. Andrés E. Castillo R.
Geometry Recuerde:
j
Existen tres formas de crear objetos
visibles.
• Preconstruidas.
• Creando nuestras geometrias.
• Utilizando un cargador.
g
• Geometry es un nodo componente.
• Permite crear nuestra propias Geometrías
Permite crear nuestra propias Geometrías.
• Junto con Appearance, caracteriza una Shape3D.
Prof. Andrés E. Castillo R.
class Geometry
Prof. Andrés E. Castillo R.
La descendencia de Geometry
Geometry
En esta presentación nuestro interés
se concentra en GeometryArray
Prof. Andrés E. Castillo R.
GeometryArray
Prof. Andrés E. Castillo R.
Panorámica del árbol de descendencia de GeometryArray
El árbol de GeometryArray
G
GeometryArray
t A es una clase
l abstracta.
bt t
Prof. Andrés E. Castillo R.
Subclases de GeometryArray y los puntos, lineas y poligonos rellenos.
EExisten
i subclases
b l d Geometry
de G array, para crear puntos, líneas
lí y poligonos
li en ell espa‐
cio virtual.
Prof. Andrés E. Castillo R.
3 pasos para crear un objeto GeometryArray
Shape3D tiene
p un método denominado setGeometry.
y
Prof. Andrés E. Castillo R.
Paso 1
Construcción de objetos GeometryArray vacios
La construcción de un objeto GeometryArray requiere la determinación de
dos cosas:
A la definición de los elemen
elemen‐
Numero de vértices que se requeriran. tos que requiere el vertice, se
le denomina, formato del ver‐
El tipo de datos que requerirá cada vertice:
tice.
• Coordenadas
d d de localización.
d l li ió
• Color.
• Superficie normal.
normal
• Coordenadas de textura.
Se debe
d b definir
d fi i un arreglo
l por cada
d cualidad,
lid d la
l cantidad
id d de
d arreglos,
l depen‐
d
derá del formato del vertice. Ejemplo: una geometria de 30 puntos, y se
definen Coordenadas de localización y color, se requeriran dos arreglos.
Prof. Andrés E. Castillo R.
Constructor de la clase GeometryArray
Solo existe un constructor para GeometryArray.
GeometryArray es una clase abstracta, sin embargo sus descendientes
heredan su método constructor.
Prof. Andrés E. Castillo R.
Creación del formato del vertice.
Para especificar
ifi el formato
lf d l
del vertice, GeometryArray
i G di
dispone d
de una
serie de constantes:
• COORDINATES
Es obligatorio, e indica que el arreglo del vertice, contiene
coordenadas.
• NORMALS
Especifica que el arreglo de vertice contiene normales a la superficie.
• COLOR_3
Especifica
p que los vertices tienen colores sin transparencia.
q p
• COLOR_4
Especifica vertices coloreados con transparencia.
• TEXTURE_COORDINATE_2
TEXTURE COORDINATE 2
Especifica que el arreglo de vertices contiene coordenadas de textura
2D.
• TEXTURE_COORDINATE_3
TEXTURE COORDINATE 3
Especifica que el arreglo de vertices contiene coordenadas de textura
2D.
Prof. Andrés E. Castillo R.
Ejemplo
SSuponga que un TringleArray
i l requerirá
i á de
d 30 vertices
i y que cada
d
vertices tendrá definido sus colores pero sin transparencia.
nroVertices = 30
30*33 // 3 coordenadas por vertices;
formatoVertices = GeometryArray.COORDINATES |
GeometryArray.COLOR_3;
Ti
TriangleaArray
l A ga = new TriangleArray(90,
Ti l A (90 formatoVertices);
f V i )
Prof. Andrés E. Castillo R.
Llenado de coordenadas
Point, {X1f ,Y1f ,Z1f } ó {X1d , Y1d, Z1d }
index
Arreglo en GeometryArray
index float[], double[] ,Point3f[] ó Point3d[]
Arreglo en GeometryArray
Prof. Andrés E. Castillo R.
Llenado de colores Opcional
{Crojo,Cverde, Cazul}, {byte1,byte2,byte3}, color3f ó color3d.
index
Arreglo en GeometryArray
index float[], byte[] ,Color3f[] ó Color3d[]
Arreglo en GeometryArray
Prof. Andrés E. Castillo R.
Prof. Andrés E. Castillo R.
Llenado de Normales Opcional
Las normales, están
Las normales están representados, por
representados por vectores
representados por las clases Vector3f y Vector3d
{x1,y1,z1}, vector3f ó vector3d
index
Arreglo en GeometryArray
index {x1,y1,z1,x2,y2,z2,‐‐‐‐‐‐‐,Xn,Yn,Zn}, {vector1*, vector2*, ……,vectorn*
Arreglo en GeometryArray
Llenado de Texturas Opcional
M d asignación
Modo i ió por bloques
bl d
de vertices.
ti
Prof. Andrés E. Castillo R.
Un ejemplo
Demo en Java
Prof. Andrés E. Castillo R.
Relleno de los vertices, coordenadas y color.
Prof. Andrés E. Castillo R.