0% encontró este documento útil (0 votos)
76 vistas18 páginas

Curso Java 3D Modulo 10 - TriangleStripArray

Uso de la clase TriangleStripArray para la graficación de superficies geométricas y representación de espacios volumetricos, cuando estas son superficies cerradas.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
76 vistas18 páginas

Curso Java 3D Modulo 10 - TriangleStripArray

Uso de la clase TriangleStripArray para la graficación de superficies geométricas y representación de espacios volumetricos, cuando estas son superficies cerradas.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

C

Crear Geometrias
G i

TriangleStripArray
Prof. andrés Eloy Castillo R.
TriangleStripArray

Prof. andrés Eloy Castillo R.


TriangleStripArray

El TriangleStripArray, permite di‐


vidir la superficie tridimensio
tridimensio‐nal,
nal,
en tiras, y cada tira, se divide en
tríangulos.
Realmente, esta división de la
Realmente
superficie en triangulos, es la for‐
ma mas extendida de operar en
computación gráfica, los volume
volume‐
nes y las superficies.

Prof. andrés Eloy Castillo R.


Algunos ejemplos de TriangleStripArray

Mientras mas pequeños


los triangulos mas exac‐
ta la
l representación.

Prof. andrés Eloy Castillo R.


TriangleStripArray‐elementos construcción.

TriangleStripArray( int
( i nroVertices, int
V i i formatoVertices, int[] nroVerticesxTiras)
f V i i [] V i Ti )
nroVertices: Total de Vertices que llevará el TriangleStripArray
formatoVertices:  El formato de los vertices, toma en cuenta las coordenadas,    
el color, las
l l l texturas, los vectores
t t l t normal a cada
l d triangulo.
ti l
Se forma con una combinación OR (|) de las siguientes
constantes enteras:
TriangleStripArray.COORDINATES,
TriangleStripArray COORDINATES
TriangleStripArray.NORMALS
TriangleStripArray.COLOR_3
TriangleStripArray.COLOR_4
TriangleStripArray.TEXTURE_COORDINATE_2
TriangleStripArray.TEXTURE_COORDINATE_3
TriangleStripArray.TEXTURE_COORDIANTE_4 
nroVerticesxTira: Es un arreglo, que dá el número de vertices por tira.
Si las tiras son contiguas, el número de vertices, será menor
que la suma de los vertices por tira, ya que hay repetición de 
los mismos vertices.
los mismos
Si tira0 y tira1, son contiguas: 
v11=v22, v9=v20,v7=v18, etc, se 
contabilizan 2 veces,
Prof. andrés Eloy Castillo R.
Prof. andrés Eloy Castillo R.
TriangleStripArray‐un 2do constructor.

TriangleStripArray( int nroTotalVertices, int formatoDeLosVertices,


int formatoVertices,
int nroDeCordenadasTextura,
int[] mapeadoCoordenadasTextura
int[] mapeadoCoordenadasTextura,
int[] nroVerticesxTira

nroTotalVertices formatoVertices y nroVerticesTira, como


nroTotalVertices, formatoVertices y nroVerticesTira como en lamina anterior.
en lamina anterior

• nroDeCoordenasTextura:  nro de objetos del tipo TexCoord*f.


Las ClasesTexCoord*ff, sirven
Las ClasesTexCoord sirven para situar los elementos
los elementos de textura.
de textura
• MapeadoCoordenadasTextura, determina tiraxtira, cuantos elementos del tipo
TexCoord*f existen. 
1
Creando un paraboloide Z=
4⋅ p
⋅ y2
z

Un paraboloide es una figura de revolución.


revolución
Se obtiene de rotar una parabola sobre un eje,
En este caso sobre el eje z. y

z x

1
z= ⋅ (x + y )
2 2

4⋅ p

x y Prof. andrés Eloy Castillo R.


Creando un paraboloide‐generando coordenadas. 

Las tiras se pueden for‐


mar, por lo menos en
dos direcciones.
Una forma que permite esco‐esco
1
z= ⋅ (x2 + y2 ) ger puntos equidistantes es
4⋅ p utilizar coordenadas polares,
en este caso,
caso para definir cada
punto y convertir a cartesiano.

x = r ⋅ cos(φ )
y = r ⋅ seno(φ )

z=
1
4⋅ p
(
⋅ x2 + y2 )
Prof. andrés Eloy Castillo R.
Prof. andrés Eloy Castillo R.

Geometria de un paraboloide‐ código.

El radio va creciendo de cero a su valor maximo, mientras que phi adopta 2 valores. 


PolygonAttributes

Los objetos
j instancias de PolygonAttributes,
yg , define los
atributos para renderizar los poligonos primitivos de la
geometría. Incluyen objetos del tipo TriangleArray,
TriangleStripArray, TriangleFansArray y QuadArray.
Prof. andrés Eloy Castillo R.
Modos de renderización de PolygonAttributes

• POLYGON_POINT
El poligono
El poligono es renderizado como puntos, 
puntos
dibujados en cada vertice.
• POLYGON_LINE
POLYGON LINE
El poligono es renderizado como lineas, 
que unen a los vertices.
• POLYGON_FILL
POLYGON FILL
El poligono es renderizado, como una
superficie definida por los puntos
superficie, definida los puntos de los 
de los
vertices.
Prof. andrés Eloy Castillo R.
PolygonAttributes – renderizado según el atributo.

POLYGON_FILL
_

POLYGON_POINT

POLYGON_LINE

Prof. andrés Eloy Castillo R.


PolygonAttributes – elección de las caras que se renderizan.
Las tiras tienen dos caras, y se pueden descartar (CULL),
la anterior, la posterior ó ninguna. PolygonAttributes,
dispone de constantes, para indicar la cara que se va a
desechar.

• CULL_FRONT
Se desecha,
desecha para el renderizado,
renderizado la cara frontal.
frontal
• CULL_BACK
Se desecha para el renderizado, la cara
Se desecha el renderizado, la cara posterior.
• CULL_NONE
No se desecha ninguna
g de las dos caras.

Prof. andrés Eloy Castillo R.


PolygonAttributes y Appearance
PolygoneAttributes, junto con LineAttributes y Point‐
Attributes, son modos que usa Appearance, para ma‐
nejar
j como se van a renderizar
d i la l geometria.
ti
• Con PolygoneAttributes, se controla si la renderización es
por puntos, lineas o superficies llenas.
• Con LineAttributes se controla, el ancho y el tipo de la
linea.
• C PointAttributes
Con P i tAtt ib t se controla
t l ell tamaño
t ñ del
d l punto
t en
pixeles.

Apperance tiene tres metodos:


• setPolygonAttributes(objetoPolygonAttributes),
• setLineAttributes(objetoLineAttributes)
setLineAttributes(objetoLineAttributes) 
• serPointAttributes(objetoPointAttributes)
Shape3D, TriangleStripArray, Appearance y PolygonAttributes

Prof. andrés Eloy Castillo R.


Agregando PointAtributes y fijando el tamaño de los puntos.

Prof. andrés Eloy Castillo R.


PolygoneAttributes y renderizado uniforme.

Se utilizaron dos cara, para lo‐


grar la diferenciación de la par‐
par
te de adentro con la de afue‐ra.

Prof. andrés Eloy Castillo R.


Libro de Códigos del Programa DemoTriangleStripArray

El libro de códigos DemoTriangle‐


StripArray tiene el código completo de
StripArray,
un programa, para graficar un parabo‐
loide.
Contiene la clase ParaboloideGeome‐
ParaboloideGeome
tria y la clase ParabolaSimple.
La clase ParaboloideGeometria, cons‐
truye la
l geeometriai del
d l paraboloide
b l id y
clase ParabolaSimple, crea una Sha‐
pe3D y la vincula a una geometria y a
una apariencia constituida por Poly‐
Poly
gonAttributes y ColoringAttributes.

Prof. andrés Eloy Castillo R.

También podría gustarte