2.2 CORDENADAS HOMOGENEAS Y
REPRESENTACIÓN
MATRICIAL
Existen muchas aplicaciones
que hacen uso de las transformaciones básicas en varias combinaciones, una
figura construida a partir de un conjunto de formas definidas
Comúnmente requiere que cada forma se reduzca a escala, se haga
girar y se traslade para que se adapte a la posición adecuada en la figura ,
esta secuencia o sucesión de transformaciones podría llevarse a cabo paso a
paso, primero las coordenadas que definen el objeto podrían reducirse a escala
y finalmente las coordenadas rotadas podrían trasladarse a la localidad
requerida. Un punto de vista más eficaz consiste en calcular las coordenadas
finales en forma directa a partir de las coordenadas iniciales mediante el uso
de métodos de matriciales con cada una de las transformaciones básicas
expresada en forma de matriz
En las aplicaciones de
diseño y de creación de imágenes, realizamos traslaciones, rotaciones y
escalaciones para ajustar los componentes de la imagen en sus posiciones
apropiadas. En este tema consideramos cómo se pueden volver a formular las
representaciones de la matriz de modo que se pueden procesar de manera
eficiente esas secuencias de transformación
Muchas aplicaciones gráficas implican secuencias de transformaciones
geométricas. Por ejemplo, una animación podría requerir que se traslade y gire
un objeto en cada incremento del movimiento. En aplicaciones de diseño y de
creación de imágenes, realizamos traslaciones, rotaciones y escalaciones para ajustar los componentes de la imagen en
sus posiciones apropiadas.
Es posible expresar cada una
de las transformaciones básicas en la forma de matriz general con las
posiciones de coordenadas P y P’ representadas como columnas de vector
Dado que operamos usando
matrices para efectuar estas transformaciones necesitamos modificarlas
ligeramente por dos motivos:
*Para que no alteren de
igual forma a un vector y a un punto, lo cual sería incorrecto.
*Para poder efectuar algunas
transformaciones afines como la traslación, imposibles de efectuar
multiplicando matrices si no se usan coordenadas homogéneas.
Es muy sencillo convertir un
vector o un punto cartesiano a su representación homogénea.
De hecho lo que se hace es añadir una nueva coordenada a las típicas XYZ. Añadimos
la componente W de esta forma:
*Punto P1 = (x1, y1) en
cartesianas es P1 = (x1, y1, w1) en homogéneas.
Vector v = (a, b) en
cartesianas es v = (a, b, w) en homogéneas.
Los valores típicos para la
nueva componente son:
W = 1,
cuando tratemos con puntos.
W = 0,
cuando sean vectores.
Por tanto el caso anterior
queda modificado de la siguiente manera:
Punto P1 = (x1, y1,
1) en homogéneas.
Vector v = (a, b, 0) en
homogéneas.
En el caso que
W
Sea diferente que 1 ó 0,
tendremos que efectuar una sencilla operación para transformar un punto
homogéneo en uno cartesiano. Si tenemos el punto:
P1 = (x1, y1, w1)
En homogéneas,
entonces en cartesianas el punto es
P1 = (x1/w1, y1/w1)
Es decir, que
normalizamos
Cada una de las componentes
XYZ del punto por subcomponente W. En el caso de W = 1 no hay que hacer nada
pues la división es obvia, pero puede pasar que nos interese variar W
y entonces no podremos usar las XYZ hasta haberlas normalizado según os
acabo de explicar. Por lo tanto, podemos decir que:
P = (2, 3, 1) = (4, 6, 2) =
(10, 15, 5)
Representación matricial
• Muchas aplicaciones
incluyen secuencias de transformaciones geométricas:
– Una animación requiere que
los objetos se trasladen y roten en cada fotograma
– Un diseño CAD requiere
muchas transformaciones hasta obtener el resultado final
• Debemos formular de forma
muy eficiente toda la secuencia de transformaciones
• Cada transformación puede
representarse como P’ = P M1 + M2
• La matriz M1 contiene la
información de ángulos y factores de escala
• La matriz M2 contiene los
términos de traslación asociados al punto fijo y al centro de rotación
• Para producir una
secuencia de transformaciones hay que calcular las nuevas coordenadas en cada
transformación!
P’’ = P’ M3 + M4 = … = P M1 M3 + M2 M3 + M4
EJEMPLOS
TRANSACCIÓN
ESCALACIÓN
ROTACIÓN
INTEGRANTES DEL EQUIPO:
BAUTISTA ALONSO MARISSEY
CALDERON HERNANDEZ MARTHA ISHELA
FRANCISCO NAVARRO TERESA DE JESUS
MARTINEZ MAR FILIBERTO
MEJIA FERRER GABRIEL HUMBERTO
BIBLIOGRAFIA:
Donald Hearn / M. Pauline Baker. Graficas
por computadora. Ed. Prentice Hall Hispanoamericana.
Wright, Richard.
Programación en OpenGL. Anaya Multimedia
No hay comentarios:
Publicar un comentario