10
Universidad Autónoma de México Facultad de Ingeniería Laboratorio de Computación Gráfica Previo 4, Práctica 3 Osorio Merlos Erick Victor Gabriel Grupo Lab: 6

Previo Práctica 4

Embed Size (px)

DESCRIPTION

Previo computación gráfica. FI UNAM

Citation preview

Page 1: Previo Práctica 4

Universidad Autónoma de México

Facultad de Ingeniería

Laboratorio de Computación Gráfica

Previo 4, Práctica 3

Osorio Merlos Erick Victor Gabriel

Grupo Lab: 6

Page 2: Previo Práctica 4

Práctica 4

Transformaciones geométricas.Objetivo: El alumno utilizará las funciones para transformaciones geométricas en OpenGL.

Cuestionario Previo:1. ¿Qué es una transformación geométrica?

Una transformación geométrica, o simplemente una transformación, es una aplicación que hacecorresponder a cada punto del plano otro punto del plano. Como consecuencia, las figuras setransforman en otras figuras.

Las transformaciones más usuales son las traslaciones, rotaciones, simetrías y las homotecias.Todas ellas mantienen la forma de las figuras, pero pueden disminuir el tamaño y cambiar la figura deposición.

Traslación

Traslación, de vector , es una transformacióngeométrica que hace corresponder a cada punto P otro

punto Pð tal que .

Las traslaciones son movimientos directos, esdecir, mantienen la forma y el tamaño de las figuras, a las

cuales deslizan según el vector .

Rotaciones

Rotación, de centro O y ángulo á, es unatransformación geométrica que hace corresponder a

cada punto P otro punto Pð tal que: y

Page 3: Previo Práctica 4

Homotecia

Homotecia: Formación de figuras semejantes en las que los puntos correspondientes estánalineados dos a dos con respecto a otro punto fijo.

Una homotecia de centro O y derazón a , lleva a toda recta que pasa por O así misma, y a una recta L que no pasa por O,a una recta L´, paralela a L.

Hemos de tener en cuenta que loslados aumentan si a>0, disminuyen si a<0 yse mantienen si a=1. Además, si a=1decimos que los triángulos son congruentes,es decir, si los lados correspondientes soniguales y sus ángulos correspondientes soniguales.

2. ¿Cuáles son las transformaciones geométricas básicas en tres dimensiones y sus matricesasociadas?

Escalamiento 3D

El escalamiento implica el cambio de tamaño de un poliedro, donde cada punto p = (x1, x2, x3)es transformado por la multiplicación de tres factores de escalamiento: s1, s2 y s3 a lo largo de los ejesX1, X2 y X3 respectivamente, de esta forma, las coordenadas del nuevo punto p' = (x1' , x2' , x3') seobtienen como:

Sea s = (s1, s2, s3) el vector de factores de escalamiento, y S(s) la matriz de escalamiento, encoordenadas homogéneas el escalamiento de un punto p en 3D se puede expresar como el productomatricial p' = p S(s) , es decir:⋅

Page 4: Previo Práctica 4

La Figura siguiente muestra el efecto de escalamiento de una figura con s1 = 2, s2 = 2.5 y s3 = 1.5.

Traslación 3D

La traslación permite desplazar un objeto a lo largo de sus dimensiones, como resultado seobtiene un cambio de posición.

La traslación 3D implica el desplazamiento de un poliedro, donde cada punto p = (x1 , x2 , x3) estrasladado d1 unidades en el eje X1 , d2 unidades en el eje X2 y d3 unidades en el eje X 3, de esta forma,las coordenadas del nuevo punto p' = (x1' , x2' , x3') se obtienen como:

x1' = x1 + d1

x2' = x2 + d2

x3' = x3 + d3

Sea d = (d1 , d2 , d3) el vector de distancias, y T(d) la matriz de traslación, en coordenadas homogéneasla traslación de un punto p en 3D se puede expresar como el producto matricial p' = p T(d)⋅ , es decir:

Page 5: Previo Práctica 4

La Figura siguiente muestra el efecto de traslación de una figura con d1 = 2, d2 = 0 y d3 = 2.

Rotación 3D

La rotación permite girar un objeto sobre un eje de rotación, dado un valor de ángulo derotación θ y su dirección.

En el espacio 3D para hacer rotar un objeto se necesitan dos puntos no coincidentes quedeterminan un segmento de recta, cuya línea de soporte define un eje lineal (uni-dimensional) derotación.

Las rotaciones principales 3D, son aquellas cuando el eje de rotación se encuentra sobre algunode los tres ejes principales: X1, X2 o X3, las rotaciones sobre cualquier otro eje arbitrario son llamadasrotaciones generales 3D. Se recuerda que inicialmente, se analizan las rotaciones principales.

Por convención, los ángulos de rotación positivos producen rotaciones en contra de lasmanecillas del reloj sobre el eje de rotación, esto es si se observa el giro desde la parte positiva del ejehacia el origen. Otra forma de determinar la dirección de un giro positivo es mediante la regla de lamano derecha, que dice que: “Si se coloca el dedo pulgar de la mano derecha sobre el eje de rotaciónapuntando hacia la parte positiva de dicho eje, el giro natural del resto de los dedos indica la direcciónpositiva del giro”.

Page 6: Previo Práctica 4

Para entender el concepto de rotación en 3D como una extensión de la rotación 2D, hay querecordar que la rotación 2D es el giro sobre el eje de rotación, que es perpendicular al plano X1X2, elcual en 3D corresponde al eje X3, entonces se tiene la primera de las rotaciones principales.

De esta forma, por cada punto p = (x1 , x2 , x3) dado un ángulo θ, puede ser rotado sobre el ejeX3 en sentido contrario a las manecillas del reloj, obteniendo las coordenadas del nuevo punto

p' = (x1' , x2' , x3'), quedando la coordenada x3 sin cambio, entonces, se extienden las formulas para larotación 2D:

Sea R3(θ) la matriz de rotación alrededor del eje X3, en coordenadas homogéneas la rotación de unpunto p alrededor de dicho eje, se puede expresar como el producto matricial p' = p R⋅ 3(θ) , es decir:

Las ecuaciones para las rotaciones sobre el eje X1, y eje X2, pueden ser obtenidas mediante laspermutaciones cíclicas de los parámetros x1, x2, x3.

Para x1:

Page 7: Previo Práctica 4

Para x2:

La Figura siguiente muestra el efecto de rotación sobre el eje X3 de una figura con θ = 20°.

Page 8: Previo Práctica 4

Conclusión:

El tema me pareció muy interesante, sin embargo, debo confesar que la información en 2D parecebastante escueta con respecto a la del 3D, ya que para este último encontré la tesis de alguien en la quevenía bastante bien explicados estos temas. No viene el nombre del dueño de la tesis, pero me parecióun gran trabajo, al menos lo que leí.

La información sobre la rotación en 3D era bastante extensa, y aunque recorté muchainformación, debo decir que es un tema que me pareció complejo y largo. Espero que con lainformación que seleccioné sea suficente.

Fuentes:

http://catarina.udlap.mx/u_dl_a/tales/documentos/mcc/cruz_m_ia/capitulo3.pdf

https://es.wikipedia.org/wiki/Transformaci%C3%B3n_%28funci%C3%B3n%29

http://html.rincondelvago.com/transformaciones-geometricas.html

http://www.vitutor.com/geo/vec/c_1.html

Page 9: Previo Práctica 4

Reporte Práctica 3.1. A las figuras que se crearon durante el desarrollo de la práctica 3, agregue otros dos elementos.Incluya una captura de pantalla mostrando todos los elementos del escenario.

2. Indique los valores que utilizó para posicionar los dos nuevos elementos en pantalla.

Utilicé las siguientes instrucciones para posicionar a los dos nuevos elementos:

// Prisma I

glTranslatef(1, 5, 0);

prisma();

// Prisma H

glTranslatef(-3, 2.5, 0);

prisma();

3. De un breve explicación de las diferencias entre una proyección ortogonal y una proyección enperspectiva.

La proyección ortogonal es como ver una parte de la imagen, como si tuviéramos un prismadesde el cual recortamos la imagen; en esta imagen no existe profundidad (o al menos no se aprecia).En la proyección en perspectiva se tiene un ángulo de visión, con lo cuál los objetos parecen tenerprofundidad; es una perspectiva más real.

Page 10: Previo Práctica 4

4. De un comentario sobre el desarrollo de la práctica y los problemas que enfrentó en la mismapara lograr cubrir el objetivo de la práctica (ver previo práctica 3 para objetivo).

Realmente no tuve problemas para completarla. Quizá la parte más complicada fue lo detraducir las coordenadas de los objetos que ponía el profesor en el pizarrón, a desplazamientosrelativos.