domingo, 2 de marzo de 2008

Tarea 5: Matrices de Transformaciones

Transformaciones Afines

• Cambian puntos o vectores en puntos o vectores, lo que permite transformar la escena punto a punto (muy costoso).
• Transforman rectas y planos en rectas y planos. Por tanto, si modelamos los objetos mediante mallas de polígonos, podemos transformar los vértices de la malla y dibujar las aristas y facetas
que los unen (mucho más simple)

• Tipos de transformaciones afines:
– Traslación
– Rotación
– Escalado
– Cizallado
– Reflexión

Traslación:
Desplazamos el origen y los ejes de forma paralela. En dos y tres dimensiones, siendo dx, dy, dz las distancias de traslación:
Rotación (1) :
En dos dimensiones: si giramos los ejes un ángulo (positivo si gira en sentido anti-horario)

Rotación (2) :
En tres dimensiones: ahora tenemos tres rotaciones diferentes respecto cada uno de los ejes coordenados (igualmente, consideramos sentido positivo si gira en sentido anti-horario)
La rotación sobre Z es prácticamente igual que antes, aunque ahora tenemos que usar una matriz (3x3):

Rotación (3) :
Para la rotación sobre X, también es prácticamente igual que antes, solamente que el eje que antes era X será ahora Y, y el que antes era Y, Z (igualmente, consideramos sentido positivo si gira en sentido anti-horario)

Rotación (4):
Si rotamos respecto de Y, lo que en Rz era X ahora será Z, y donde teníamos Y, ahora habrá que poner Z. Por tanto hay que intercambiar también filas y columnas en la matriz de rotación...
Las matrices de rotación son ortonormales. Podemos invertirlas por transposición

Rotación (5) :
La rotación sobre un eje cualquiera va a necesitar, en general, ser realizada como una composición de varias transformaciones:

1. Traslación del eje de rotación (y los objetos a rotar) de forma que el eje pase por el origen
2. Descomposición de la rotación en rotaciones simples respecto a los tres ejes de coordenadas X, Y y Z
3. Deshacer la traslación, efectuando la inversa que se hizo en (1)

Escalado uniforme y no uniforme:
Variamos la escala en los ejes coordenados con el mismo factor de escala o diferente para cada eje (factores de escala si iguales o diferentes)