Você está na página 1de 6

Trabajo Prctico 4: Modelado 3D

Primitivas de Modelado 1. Primitivas de OpenGL para modelado 3D a. Cules son las primitivas de OpenGL que permiten generar objetos 3D? b. Cules son los atributos que pueden poseer estos objetos 3D? Modelado Poligonal 2. En teora se vio que hay varias formas de almacenar una red poligonal. Una estructura que permite almacenar esta red debe mantener informacin sobre la geometra, la topologa y los atributos; una opcin la constituye el almacenamiento de 3 listas: la de vrtices, la de caras y la de normales (como uno de los atributos). Las normales se guardarn asociadas a cada vrtice. A continuacin se da un ejemplo de la misma: Vrtice x y z 0 0 0 0 1 0 0 1 1 1 0 2 0.5 1.5 0 3 0 1 0 4 0 0 1 5 1 0 1 6 1 1 1 7 0.5 1.5 1 8 0 1 1 9 Normal nx -1 0 -0.477 1 0.447 2 1 3 0 4 0 5 0 6 ny nz 0 0 0.8944 0 0.8944 0 0 0 -1 0 0 1 0 -1 Cara 0 1 2 3 4 5 6 Vrtices 0,5,9,4 3,4,9,8 2,3,8,7 1,2,7,6 0,1,6,5 5,6,7,8,9 0,4,3,2,1 NormalV 0,0,0,0 1,1,1,1 2,2,2,2 3,3,3,3 4,4,4,4 5,5,5,5,5 6,6,6,6,6

a. Declare esta estructura en C++ para contener los datos de los distintos modelos poligonales. b. Escriba un programa para cargar la estructura con los datos que se detallan y mostrar la red poligonal modelada. 3. Si todas las caras de un poliedro son idnticas y cada una de ellas es un polgono regular, el objeto es un poliedro regular. Esta restriccin es tan severa que slo existen 5 objetos de este tipo: los slidos platnicos; stos son el tetraedro, el cubo, el octaedro, el dodecaedro y el icosaedro. Escriba primitivas para generar las DS y graficar los siguientes slidos platnicos:

a. Tetraedro Vrtice 0 1 2 3 x 1 1 -1 -1 y 1 -1 -1 1 z 1 -1 1 -1 Cara 0 1 2 3 Vrtices 1,2,3 0,3,2 0,1,3 0,2,1

b. Icosaedro Vrtice 0 1 2 3 4 5 6 7 8 9 10 11 x 0 0 1 1 0 0 a -a a -a -1 -1 y 1 1 a -a -1 -1 0 0 0 0 a -a z a -a 0 0 -a a 1 1 -1 -1 0 0

siendo a = (RazCuadrada(5)-1)/2 4. Construir las listas de vrtices, caras y normales para el prisma de la figura que se muestra a continuacin. Asumir que la base del prisma (cara #4) est en el plano xy y que el vrtice 2 est sobre el eje z en z=4. Asumir que el vrtice 5 est a 3 unidades sobre el eje x y que la base es un tringulo equiltero.

5. Construir redes poligonales para los objetos que se muestran en la siguiente figura

6. Escriba, para la clase Red Poligonal, los mtodos para leer/escribir objetos 3D de/a un archivo. Existen diversos formatos para almacenar redes poligonales. Uno de ellos es el formato ply, generado en la Universidad de Stanford (http://graphics.stanford.edu/data/3Dscanrep/). Si usted lo desea puede usar ese formato y para leer el archivo puede adaptar algunos de los parsers disponibles en la Web. El formato del archivo lo puede encontrar en la pgina (http://local.wasp.uwa.edu.au/~pbourke/dataformats/ply/). Si adopta el formato simplificado debe ajustarse a la descripcin que se detalla a continuacin:
cantidad de vrtices cantidad de caras, que es la misma que la cantidad de normales listado de los vrtices descriptos por sus coordenadas x,y,z listado de las normales descriptas por sus coordenadas x,y,z cant de vrtices de la cara, ndices a vrtices e indices a normales del vrtice correspondiente

7. Una gran clase de objetos 3D puede generarse por extrudado de una forma 2D. Escriba las primitivas necesarias en OpenGL para generar los objetos 3D que se detallan a continuacin: a. Generar un prisma extrudando en forma recta un polgono. b. Generar la flecha 3D que se genera mediante extrudado del polgono base:

Polgono base

Polgono extrudado en direccin z

Modelo para el objeto 3D

c. Escriba las primitivas necesarias en OpenGL para generar los objetos extrudados que se muestran a continuacin

(a) 8. Slidos de Revolucin

(b)

(c)

(d)

a. Describir los perfiles de una esfera, un cilindro y un cono y expresarlos como superficies de revolucin. b. Cmo generara un toroide por revolucin? c. Generar la copa que se muestra a continuacin mediante revolucin de una polilnea que define el perfil de la misma.:

9. Una familia importante de superficies, las superficies cudricas, son las anlogas 3D a las secciones cnicas. Algunas de las mismas se describen a continuacin mediante sus formas implcitas y paramtricas: Nombre de la cudrica Elipsoide Hiperboloide de 1 hoja Paraboloide hiperblico

Forma implcita x2 + y2 + z2 = 1 x2 + y2 z2 = 1 -x2 + y2 = z

Forma paramtrica (cos v cos u, cos v sen u, sen v) (sec v cos u, sec v sen u, tg v) (v tg u cos u, v sec u, v2)

Rango v Rango u (-/2, /2), (-, ) (-/2, /2), (-, ) v0, (-, )

Genere redes poligonales para cada una de estas superficies cudricas. Las mismas las puede generar a partir de la forma implcita o paramtrica y con la resolucin que considere adecuada.

Modelado Jerrquico 10. Dibujar el brazo de robot

11. Genere un modelo simplificado del sistema solar. Previamente establezca claramente las jerarquas. 12. Genere un objeto 3D como se muestra en la figura

13. A continuacin se muestra un juguete mecnico accionado por una doble manivela que le permite simular desplazamiento en tanto abre y cierra la boca. Las partes que lo componen son las siguientes:

cabeza

cuerpo

pata

mano

boca

Al ensamblar las partes se obtiene el modelo completo del objeto:

Describa cmo modelara cada una de las partes. Luego establezca cada una de las jerarquas y genere el objeto completo.

Você também pode gostar