Вы находитесь на странице: 1из 4

CURSO: CC322 - 2017 -2

Examen Parcial. 1.
Apellidos:___________________________________, Nombres:______________________
Codigo:____________________
Instrucciones:
El trabajo es individual. No esta permitido el uso de copias, celulares, y computadoras.
Tiempo: 2 horas. Explique claramente sus respuestas.

Problemas
1. Utilizando OpenGL, escriba el fragmento de código minimo necesario para dibujar la siguiente
figura. (4 Puntos)

30
25

15
5

5 10 20 25

R:
glBegin(GL_TRIANGLE_STRIP)

glVertex2f(5.0, 5.0)

glVertex2f(25.0, 5.0)

glVertex2f(5.0, 25.0)

glVertex2f(25.0, 15.0)

glVertex2f(10.0, 30.0)

glVertex2f(20.0, 30.0)

glEnd()
2. Describa la secuencia de transformaciones necesarias para obtener matriz de transformacion M
que es necesaria para obtener la figura #2 a partir de la figura #1. Es decir p.ej.: A’ = MA (4 Puntos)
A(1,1), B(2,1), C(2,2), D(1,2) ---- > A’(5,1), B’(5,5), C’(1,5), D’(1,1)

y
y B’
C’

D C

D’ A’
A B
x x
figura #1
figura #2
R:

1) Traslacion T1: 2) Escalado E: 3) Rotacion R: 4) Traslacion T2:


1 0 -1.5 4 0 0 cos(90) -sen(90) 0 1 0 3
0 1 -1.5 0 4 0 sen(90) cos(90) 0 0 1 3
0 0 1 0 0 1 0 0 1 0 0 1

M = T2 R E T1

3. A continuacion responda con detalle las siguientes preguntas. (4 Puntos)


a) Que son las cordenadas homogeneas y para que se usan?
R: Cuando pensamos en dibujado 3D, estamos acostumbrados a pensar en espacios de tres coordenadas, o dos, para figuras 2D, pero
en OpenGL todo se traduce a coordenadas homogéneas. Las razones para utilizarlas son principalmente (uniformidad de operación
con matrices y facilidad de representación de diferentes conceptos relativos a la profundidad). Podemos de decir que un punto
(x,y,z,w) en coordenadas homogéneas, es equivalente al punto 3D (x/w,y/w,z/w). Si la coordenada w es igual a 0, equivale a un
punto situado en el infinito en la dirección del vector que especifican las otras tres coordenadas.

b)Para que se utiliza glPushMatrix() y glPopMatrix()?


R: Estas funciones permiten guardar y restaurar los valores de la matriz activa en una pila. La función glPushMatrix() guarda una
matriz en la cima de la pila, y glPopMatrix() la saca, y la restaura. Esto lo podemos utilizar para dibujar un objeto y, antes de dibujar
el siguiente, restauramos la transformación Inicial.

c)Que es Mipmapping y cual es la ventaja de utilizarlo?


R: Se guardan y generan distintas versiones de la misma textura, con diferentes resoluciones. Mejora el rendimiento al utilizar
versiones de menor resolución de la textura a medida que nos alejamos del objeto. Solucionan problemas de minimización.
d)En transformaciones 3D cual es la matriz utilizada para la rotacion respecto al eje Z en Θ grados?
R:

4)Demostrar que la composición de dos rotaciones de ángulos Θ 1 y Θ2 es equivalente al una


rotación de ángulo Θ 1 + Θ2 . Es decir, probar que R(Θ 1) R(Θ2) = R (Θ 1 + Θ2) (4 Puntos)

[ ] [ ]
cos(Θ1 ) −sin(Θ1) 0 cos(Θ2 ) −sin(Θ2) 0
Si R(Θ 1)= sin(Θ1 ) cos (Θ1) 0 y R(Θ2) = sin(Θ2 ) cos (Θ2) 0
0 0 1 0 0 1

[ ][ ]
cos(Θ1 ) −sin(Θ1) 0 cos(Θ2 ) −sin(Θ2) 0
R(Θ 1) R(Θ2)= sin(Θ1 ) cos (Θ1) 0 sin(Θ2 ) cos (Θ2) 0 ………..(1)
0 0 1 0 0 1

R(Θ 1) R(Θ2)=

[ ]
cos(Θ1 )cos (Θ2 )−sin(Θ1 )sin(Θ2)+0 −cos( Θ1) sin(Θ2 )−sin(Θ1 )cos (Θ2 )+ 0 0
sin(Θ1) cos (Θ2)+cos (Θ1 )sin (Θ2)+0 −sin(Θ1 )sin (Θ2)+cos (Θ1)cos (Θ2)+0 0 ...(2)
0 0 1

Sabiendo que:
sin(θ 1+ θ2)=sin(θ 1) cos(θ 2)+sin (θ2 )cos (θ1 ) y

cos (θ1 +θ2 )=cos (θ1 )cos(θ 2)−sin(θ1 )sin (θ2 )

Reemplazando en (2):

[ ]
cos(Θ1 +Θ 2 ) −sin (Θ1+Θ 2 ) 0
R(Θ 1) R(Θ2)= sin(Θ1 +Θ2 ) cos (Θ1 +Θ2) 0 = R (Θ 1 + Θ2)
0 0 1
5. Construir la matriz de transformación de una reflexión sobre un eje que forma un ángulo β
con el eje de abcisas (x) del sistema de coordenadas del mundo. Comprobar la matriz para el caso
β=45° y P=(2,4). (4 Puntos)
y

P’
ß
x
R: Para lograr la reflexion sobre el eje indicado, primero efectuamos una rotacion: R(-β ) de dicho
eje hasta que coincida con el eje x (- β grados), luego aplicamos una reflexion sobre el eje x: F(x)
y luego rotamos hacia la posicion inicial (+ β grados) : R(β )
Es decir la matriz compuesta seria: M = R(β ) F(x) R(-β )

[ ]
1 0 0
donde: F(x) = 0 −1 0
0 0 1

[ ][ ][ ]
cos(β) −sin(β) 0 1 0 0 cos(−β) −sin(−β) 0
M= sin(β) cos (β) 0 0 −1 0 sin(−β) cos(−β) 0
0 0 1 0 0 1 0 0 1

[ ][ ]
cos(β) −sin(β) 0 cos(β) sin (β) 0
M= sin(β) cos (β) 0 sin(β) −cos(β) 0
0 0 1 0 0 1

[ ]
cos2 (β)−sin2 (β) 2 sin(β)cos (β) 0
M= 2 sin (β)cos (β) −( cos2 (β)−sin2 (β)) 0
0 0 1

[ ] [] []
0 1 0 2 4
P’= 1 0 0 4 = 2
0 0 1 1 1

Вам также может понравиться