Construcción de Sólidos 3D

Documentos relacionados
Transformaciones 2D. Andrea Rueda. Introducción a la Computación Gráfica. Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas

Introducción a 3D Transformaciones 3D

FIGURAS DEL ESPACIO. ÁREAS Y VOLÚMENES

Laboratorio de Computación Gráfica.

ESQUEMA GENERAL DE LA CLASIFICACIÓN DE LOS CUERPOS GEOMÉTRICOS REGULARES ESFERA

11 CONOCER LOS POLIEDROS Y DIFERENCIAR

MATEMÁTICAS 2º DE ESO LOE

14 CUERPOS GEOMÉTRICOS. VOLÚMENES

Cuerpos Geométricos. Volúmenes de Cuerpos Geométricos

Cuerpos geométricos. Cuerpos redondos Cuerpos de revolución. Poliedros (más importantes)

Conceptos geométricos II

Poliedros y cuerpos redondos para imprimir

Figura plana Área Ejemplo Cuadrado. Área =

ELEMENTOS DE UN POLIEDRO. PRINCIPALES POLIEDROS REGULARES

CUERPOS GEOMÉTRICOS. Un polígono es una figura compuesta por tres o más segmentos rectos (lados) que cierran una región en el espacio.

CLASIFICAR POLIEDROS. Nombre: Curso: Fecha:

CUERPOS GEOMÉTRICOS (CONCEPTOS BÁSICOS)

Punto. Recta. Semirrecta. Segmento. Rectas Secantes. Rectas Paralelas. Rectas Perpendiculares

REGULARES.

Proyecciones en 3D. Facultad de Cs. de la Computación. Juan Carlos Conde Ramírez. Computer Graphics

TEMA 4. Geometría. Teoría. Matemáticas

Tema 8: Cuerpos geométricos. Matemáticas Específicas para Maestros 1º Grado en Educación Primaria

CUERPOS EN EL ESPACIO

Modelación de objetos 3D Parte I: Mallas de polígonos y triangulaciones

TEMA 5. Geometría. Teoría. Matemáticas

PROGRAMA DE CURSO. CC1001 Computación I MA2601 Ecuaciones Diferenciales Ordinarias

CUERPOS. Poliedros: Aquellos cuerpos geométricos totalmente limitados por polígonos, como por ejemplo, el prisma, la pirámide; etc.

Diagonal: es un segmento que une dos vértices no consecutivos del poliedro. Puede trazarse en una misma cara o entre distintas caras.

IES CUADERNO Nº 8 NOMBRE: FECHA: / / Cuerpos geométricos

RESUMEN DE VARIOS CONCEPTOS BÁSICOS DE GEOMETRÍA

Guía docente de la asignatura

Figuras de tres dimensiones

a De los siguientes cuerpos geométricos, di cuáles son poliedros y cuáles no. Razona tu respuesta.

CONOCER Y DIFERENCIAR LOS POLIEDROS REGULARES

Geometría en el espacio

OBJETIVO 1 CONOCER LOS POLIEDROS Y DIFERENCIAR LOS POLIEDROS REGULARES NOMBRE: CURSO: FECHA:

MATEMÁTICAS (GEOMETRÍA)

y = 2x + 8x 7, y = x 4. y = 4 x, y = x + 2, x = 2, x = 3. x = 16 y, x = 6 y. y = a x, y = x, x y = a. (1 x)dx. y = 9 x, y = 0.

Maquetería 02: Poliedros, cuerpos redondos y su construcción

5to Parcial de Geometría Euclidiana. 2) Sea p un polígono tal que se puede descomponer en n polígonos simples

GEOMETRIA DEL ESPACIO. Geometría del espacio, rama de la geometría que se ocupa de las. propiedades y medidas de figuras geométricas en el espacio

Maquetería 02: Poliedros, cuerpos redondos y su construcción

Cuerpos geométricos. Volúmenes

MAQUETERÍA 02: POLIEDROS, CUERPOS REDONDOS Y SU CONSTRUCCIÓN

CUERPOS GEOMÉTRICOS. Los cuerpos geométricos son porciones de espacio limitadas por superficies planas o curvas.

Cuerpos geométricos son porciones de espacio limitadas por superficies planas o curvas. CUERPOS GEOMÉTRICOS PRISMAS PIRÁMIDES CILINDROS CONOS ESFERAS

a 2 = = 1600 ; a = 40 A = = 80. Iguales A = 361 1:150

Autor: 2º ciclo de E.P.

unidad 10 Cuerpos geométricos

Geometría. Jesús García de Jalón de la Fuente IES Ramiro de Maeztu Madrid

SOLUCIONES MINIMOS 2º ESO TEMA 8 CUERPOS GEOMÉTRICOS

Planificaciones Sistemas Gráficos. Docente responsable: ABBATE HORACIO ANTONIO. 1 de 5

IES FONTEXERÍA MUROS. 14-II-2014 Nombre y apellidos:.

POLIEDROS. Ejercicio nº 1.- a De los siguientes cuerpos geométricos, di cuáles son poliedros y cuáles no. Razona tu respuesta.

Mallas poligonales y curvas cuádricas en OpenGL

* * * GEOMETRÍA DESCRIPTIVA * * * ÍNDICE

Matemática. Desafío. GUÍA DE EJERCITACIÓN AVANZADA Cuerpos geométricos GUICEN032MT22-A16V1

Geometría. Cuerpos Geométricos. Trabajo

Dibujo y geometría descriptiva II 2014

CUERPOS GEOMÉTRICOS. 2º E.S.O. PUNTOS, RECTAS Y PLANOS EN EL ESPACIO DETERMINACIÓN DE PUNTOS, RECTAS Y PLANOS DETERMINACIÓN DE PUNTOS, RECTAS Y PLANOS

TEMA 11: ÁREA Y FIGURAS GEOMÉTRICAS.

Ámbito científico tecnológico

Un poliedro es un cuerpo geométrico que tiene todas sus caras planas y formadas por polígonos.

3. Si la diferencia de volúmenes de los cilindros A) 2 3 B) En el gráfico se tiene un tronco de cilindro. A) 196p B) 200p C) 250p

SISTEMA DIÉDRICO POLIEDROS REGULARES DIBUJO TÉCNICO 2º BACH.

a) Cambie la ventana a una posición de 100, 150, el tamaño de la ventana de 500, 700 y escribe el nombre prueba1

TEMA 11. ÁREAS, PERÍMETROS Y VOLÚMENES.

Computación Gráfica I CI4321

1 Indica, en la ilustración, dos edificios que sean poliedros y tengan formas diferentes. PÁGINA 186

PÁGINA 98. a) Tetraedro = 2 Cubo = 2 Octaedro = 2 Dodecaedro = 2 Icosaedro = 2

Figura en el espacio o cuerpo geométrico es el conjunto de puntos que no están contenidos en un mismo plano, es la porción de espacio limitado.

Preguntas tipo OLIMPIADA DE DIBUJO TÉCNICO MARZO 2014

POLIEDROS E CORPOS REDONDOS

SÓLIDOS EN EL ESPACIO TRIDIMENSIONAL

Perímetros, áreas y volúmenes de figuras y cuerpos geométricos.

UNIDAD 11 Figuras en el espacio

Cuerpos Geométricos. 100 Ejercicios para practicar con soluciones. 1 Indica cuáles de las siguientes figuras son prismas y cuáles son pirámides.

C =[x 1,y 1,x 2,y 2,...,x n,y n ]

Taller 6 La fórmula de Euler y los Sólidos Platónicos Profesor: Maximiliano Leyton

Sistemas de referencia Introducción a OpenGL

II Coloquio Internacional sobre Enseñanza de las Matemáticas. Construcciones Geométricas en tres dimensiones empleando Cabri 3D

RESUMEN BÁSICO DEL BLOQUE DE GEOMETRÍA Matemáticas 3º de ESO

PÁGINA Describe y calcula la longitud del trayecto más corto que debe recorrer la lagartija para ir de A a B en cada caso.

TEMA 9 CUERPOS GEOMÉTRICOS

POLIEDROS, PRISMAS Y PIRÁMIDES

MATEMÁTICAS 1º DE ESO

Trabajo de Investigación Cuerpos Geométricos

MCRivara/CG2008/1. MCRivara/CG2007/2MCRivara/CG2008/1 1. Modelación de Sólidos. Computación Gráfica. Modelos de sólidos

Cuerpos Geométricos Son aquellos elementos que ocupan un volumen en el espacio se componen de tres partes: alto, ancho y largo.

POLIEDROS. POLIEDROS Prof. Annabella Zapattini. Definición: Llamamos poliedro a la región del espacio limitada por polígonos planos.

LOS CUERPOS GEOMÉTRICOS POLIEDROS Y CUERPOS REDONDOS

congruentes es porque tienen la misma longitud AB = CD y, cuando dos ángulos DEF son congruentes es porque tienen la misma medida

GEOMETRÍA. Convexos Llano (Plano) Cóncavo Giro. Consecutivos Adyacentes Diedro Complementario Suplementario

Se dice que un poliedro es regular cuando sus caras son polígonos regulares iguales y sus ángulos poliedros tienen el mismo número de caras.

TEMA 7: ACTIVIDADES Y AUTOEVALUACIONES RESUELTAS

MODELADO DE OBJETOS 3D. Computación Gráfica

2º. La diagonal de un cuadrado mide 1 metro. Cuántos centímetros mide el lado?

1.SISTEMAS DE MEDIDAS: longitud, superficie, volumen. Conversiones.

PROGRAMA ANALÍTICO DE ASIGNATURA

PERÍMETROS ÁREAS - VOLÚMENES

Transcripción:

Construcción de Sólidos 3D Introducción a la Computación Gráfica Andrea Rueda Pontificia Universidad Javeriana Departamento de Ingeniería de Sistemas

Generación de sólidos y objetos 3D: Superficies de polígonos y cuádricas. Geometría Sólida Constructiva. Métodos procedimentales. Modelado basado en la Física.

Representaciones: Malla de alambre. Malla sólida.

Polígonos de construcción: Triángulo. Cuadrilátero.

Polígonos de construcción: Triángulo. Preferido para la construcción de objetos 3D: Todos los vértices contenidos en un sólo plano 3D. Figura convexa.

Representación de objetos 3D: Malla de polígonos: Colección de vértices, aristas y caras que definen la forma de un objeto 3D. Vértice: posición en el espacio, junto con otra información relevante (color, normal, textura). Arista: conexión (línea) entre dos vértices. Cara: conjunto cerrado de aristas: Cara triangular: 3 vértices, 3 aristas. Cara cuadrangular: 4 vértices, 4 aristas.

Representación de objetos 3D: Malla de polígonos: Considerada una grilla sin estructura, o un grafo no dirigido, con propiedades adicionales de geometría, forma y topología. Polígono: conjunto coplanar de caras. Superficie: o grupo de suavizado, conjunto de polígonos contiguos.

Representación de objetos 3D: Malla de polígonos: http://en.wikipedia.org/wiki/polygon_mesh

Superficies cuádricas (ec. de segundo grado): Esfera: Coordenadas cartesianas: x 2 + y 2 +z 2 =r 2 Representación paramétrica: x=r cos φ cosθ, y=r cos φ sin θ, π /2 φ π /2 π θ π z=r sin φ

Superficies cuádricas (ec. de segundo grado): Elipsoide: Coordenadas cartesianas: ( x r x )2 + ( y r y )2 + ( z r z Representación paramétrica: x=r x cos φ cosθ, )2 =1 π /2 φ π /2 y=r y cos φ sin θ, π θ π z=r z sin φ

Superficies cuádricas (ec. de segundo grado): Toro (donut) a base de un círculo: Coordenadas cartesianas: ( x 2 + y 2 r axial ) 2 + z 2 =r 2 Representación paramétrica: x=(r axial +r cos φ)cos θ, y=(r axial +r cos φ)sin θ, π φ π π θ π z=r sin φ

Superficies cuádricas (ec. de segundo grado): Toro (donut) a base de una elipse: Coordenadas cartesianas: ( x 2 + y 2 r axial r y )2 + ( z r z Representación paramétrica: x=(r axial +r y cos φ)cos θ, )2 =1 π φ π y=(r axial +r y cos φ)sin θ, π θ π z=r z sin φ

Superficies cuádricas en OpenGL: Primitivas ya disponibles para dibujo de poliedros en malla de alambre y malla sólida. Primitivas de áreas de relleno (para combinar): GL_POLYGON GL_TRIANGLES GL_TRIANGLE_STRIP GL_TRIANGLE_FAN GL_QUADS GL_QUAD_STRIP

Superficies cuádricas en OpenGL (GLUT): Esfera: void glutsolidsphere(radius, slices, stacks); void glutwiresphere(radius, slices, stacks); radius: radio de la esfera. slices: # de subdivisiones alrededor del eje Z (líneas de longitud). stacks: # de subdivisiones a lo largo del eje Z (líneas de latitud).

Superficies cuádricas en OpenGL (GLUT): Cubo: void glutsolidcube(size); void glutwirecube(size); size: longitud de los lados del cubo.

Superficies cuádricas en OpenGL (GLUT): Cono: void glutsolidcone(base, height, slices, stacks); void glutwirecone(base, height, slices, stacks); base: radio de la base del cono. height: altura del cono. slices: # de subdivisiones alrededor del eje Z. stacks: # de subdivisiones a lo largo del eje Z.

Superficies cuádricas en OpenGL (GLUT): Toro (donut): void glutsolidtorus(innerradius, outerradius, nsides, rings); void glutwiretorus(innerradius, outerradius, nsides, rings); innerradius: radio interno del toro. outerradius: radio externo del toro. nsides: # de lados por cada sección radial. rings: # de divisiones radiales para el toro.

Superficies cuádricas en OpenGL (GLUT): Tetraedro (4-lados): void glutsolidtetrahedron(); void glutwiretetrahedron(); tetraedro centrado en el origen y radio raiz(3).

Superficies cuádricas en OpenGL (GLUT): Octaedro (8-lados): void glutsolidoctahedron(); void glutwireoctahedron(); octaedro centrado en el origen y radio 1.0.

Superficies cuádricas en OpenGL (GLUT): Dodecaedro (12-lados): void glutsoliddodecahedron(); void glutwiredodecahedron(); dodecaedro centrado en el origen y radio raiz(3).

Superficies cuádricas en OpenGL (GLUT): Icosaedro (20-lados): void glutsolidicosahedron(); void glutwireicosahedron(); icosaedro centrado en el origen y radio 1.0.

Superficies cuádricas en OpenGL (GLUT): Tetera: void glutsolidteapot(size); void glutwireteapot(size); size: tamaño relativo de la tetera.

Superficies cuádricas en OpenGL (GLU): Esfera: GLUquadricObj *sphere1 = glunewquadric(); gluquadricdrawstyle (sphere1, GLU_LINE); glusphere (sphere1, r, slices, stacks); sphere1: objeto cuádrico. r: radio de la esfera. slices: # de subdivisiones alrededor del eje Z. stacks: # de subdivisiones a lo largo del eje Z.

Superficies cuádricas en OpenGL (GLU): Cilindro (sirve para cono también): GLUquadricObj *cylind1 = glunewquadric(); gluquadricdrawstyle (cylind1, GLU_LINE); glucylinder (cylind1, rbase, rtop, height, slices, stacks); cylind1: objeto cuádrico. rbase: radio de la base del cilindro. rtop: radio del tope del cilindro. height: altura del cilindro. slices: # de subdivisiones alrededor del eje Z. stacks: # de subdivisiones a lo largo del eje Z.

Superficies cuádricas en OpenGL (GLU): Corona circular plana (disco): GLUquadricObj *disk1 = glunewquadric(); gluquadricdrawstyle (disk1, GLU_LINE); gludisk (disk1, rinner, router, slices, loops); sphere1: objeto cuádrico. rinner: radio interno del disco. router: radio externo del disco. slices: # de subdivisiones alrededor del eje Z. loops: # de círculos concéntricos de subdivisión.

Superficies cuádricas en OpenGL (GLU): Eliminar memoria asignada: gludeletequadric (quadricobject); Modos de visualización: GLU_LINE: líneas. GLU_FILL: áreas rellenas. GLU_SILHOUETTE: líneas (sin aristas comunes). GLU_POINT: conjunto de puntos.

Visualización 3D + Animación

Animación Hasta ahora, sólo hemos generado escenas gráficas estáticas. Incluso con las transformaciones, para verificar cada cambio teníamos que compilar y ejecutar nuevamente. Cómo hacer para que, por ejemplo, podamos aplicar una rotación incremental en el tiempo? y así ver girar un objeto?

Animación Opción 1: utilizar una función que se ejecuta cuando no hay otros eventos (idle function): void idle () { display(); } int main (int argc, char* argv[]) {... glutidlefunc(idle);... glutmainloop(); return 0; }

Animación Opción 1: utilizar una función que se ejecuta cuando no hay otros eventos (idle function): void idle () { glutpostredisplay(); } int main (int argc, char* argv[]) {... glutidlefunc(idle);... glutmainloop(); return 0; }

Animación Opción 1: utilizar una función que se ejecuta cuando no hay otros eventos (idle function). Para hacer la animación más fluida y continua, se requiere habilitar el uso de dos búferes. - Fijar el uso de dos búferes: glutinitdisplaymode(glut_double); - En la función de visualización, reemplazar glflush() por: glutswapbuffers ();

Animación Opción 2: utilizar una función de Timer, la cual se ejecuta cada cierto intervalo de tiempo. Esta opción permite controlar la unidad de tiempo de la animación: void Timer () { glutpostredisplay(); gluttimerfunc(miliseconds, Timer, 0); }

Animación Opción 2: utilizar una función de Timer, la cual se ejecuta a un cierto intervalo (control). int main (int argc, char* argv[]) {... gluttimerfunc(0, Timer, 0);... glutmainloop(); return 0; }

Animación Ejercicio: - Descargar el ejemplo de animación: sophia.javeriana.edu.co/~rueda-andrea/intrcog r/docs/bouncingball.cpp - Analizar su funcionamiento. - Modificar el código para usar un Timer y variar el intervalo de animación entre 1 y 5 segundos. - Modificar el código para introducir profundidad, empujar el círculo hacia el fondo. - Reemplazar el círculo por otra figura.

Animación Ejercicio: - Descargar el ejemplo de rotación 3D: sophia.javeriana.edu.co/~rueda-andrea/intrcog r/docs/rotatingcube.cpp - Analizar su funcionamiento. - Qué pasa con la visualización del cubo? Modificar el código para incluir el test de profundidad. - Reemplazar el cubo por otra figura 3D, y variar los ángulos de rotación.

Animación Ejercicio: Generar un programa en el cual se ubiquen en el espacio 3D un ejemplo de cada uno de los poliedros OpenGL (todos en un mismo espacio, diferentes colores y tamaños, modo de dibujo): www.opengl.org/documentation/specs/glut/spec 3/node80.html Utilizar los ejercicios de animación para poner a rotar todos los elementos alrededor del eje y.

Referencias D. Hearn, M.P. Baker. Gráficos por computadora con OpenGL, 3a edición. Pearson Prentice Hall, 2006. J.D. Foley, A. van Dam, S.K. Feiner, J.F. Hughes. Computer graphics: principles and practice, 2 nd edition in C. Addison- Wesley, 1996. en.wikipedia.org/wiki/polygon_mesh www.glprogramming.com/red/chapter07.html