miércoles, 13 de marzo de 2013

RESUMEN

 

TRANSFORMACIONES BIDIMENSIONALES

TRANSALACION

Se aplica una taslacion en un objeto para cambiar su posicion a lo largo de la trayectoria de una linea recta de una direccion de coordenadas a otra. Convertimos un punto bidimensional al agregar las distancias de traslacion, Tx y Ty a la posicion de coordenadas original (x,y) para mover el punto a una nueva posicion (x",y").
              x" = x + Tx                   y" = y + Ty
el par de distancia de traslacion (Tx , Ty) se llama vector de traslacion o vector de cambio.
se puede espresar las ecuaciones anteriores en una sola ecuacion matricial de utilizar vectores de columna para representar las posiciones de coordenadas y el vector de traslacion:

Estos nos permite expresar las dos ecuaciones de traslacion bidimensional en la forma de matriz:
en ocasiones, las ecuaciones de transformacion matricial se expresan en terminos de vectores de renglon de coordenadas en vez de vectores de columna. En este caso, expresariamos las representaciones matriciales como

La transalacion es una transformacion de cuerpo rigido que mueve objetos sin deformarlos, es decir, se traslada cada punto del objeto la misma distancia. Se traslada un segmento de linea recta al aplicar la ecuacion de transformacion en cada uno de los extremos de la linea y se vuelve a trazar la linea entre las nuevas posiciones de los extremos.

ROTACION

Se aplica una rotacion bidimensional en un objeto al cambiar s posicion a lo largo de la trayectoria de una circunferencia en el plano de xy. para generar una rotacion. especificamos un angulo de
rotacion θ y la posicion (Xr, Yr) del punto de rotacion (o punto pivote) en tomo al cual se gir el objeto.

Los valores positivos para ek angulo de rotacion definen rotaciones en sentido opuesto a las manecillas del reloj alrededor del punto pivote y los valores negativos giran los objetos en la direccion del reloj. Tambien es posible describir esta transformacion como una rotacion sobre el eje de rotacion que es perpendicular al plano de xy y pasa a traves del punto pivote.

r es la distancia entre la constante del punto desde el origen, el
angulo Φ es la posicion angular original del punto desde el plano horizontal y


θ es el angulo de rotacion. Utilizando identidades trigonometricas podemos expresar las coordenadas transformadas en termino de los angulos
θ y
Φ como:
Las coordenadas originales del punto en las coordenadas polares son 
Al sustituir las exoresiones, obtenemos las ecuaciones de transformacion para girar un punto en la posicion (x , y) s traves de un angulo
θ al rededor de un origen:
Con las respresentaciones del vector de columna ara las posiciones de coordenadas podemos expresar las ecuaciones de rotacion en la forma de matriz:
donde la matriz de rotacion es:
Cuando las posiciones de coordenadas se representan como vectores de renglon en vez de vectores de columna, el producto de la matriz en la ecuacion de rotacion se transpone, de modo que el vector de coordenadas de renglon transformado [x y] se calcula como
Si igual que con las traslaciones, las rotaciones son transformaciones de cuerpos rigidos que mueven los onjetos sin deformarlos. Se giran a traves del mismo angulo.
Se gira un segmento de linea recta al aplicar las ecuaciones de rotacion en cada extremo de la linea y se vuelve a trazar la linea entre las nuevas posiciones de los extremos. Los poligonos se giran al desplegar cada vertice a traves del angulo de rotacion especifico y se vuelve a generar el poligono utilizando los nuevos vertices.
Las lineas curvas se giran al caminar la posicion de los puntos de definicion y se vuelven a trazar las curvas. Por ejemplo, se puede girar una circunferencias o una eclipse alrededor de un eje no central al move la posicion del centro a traves del arco que subtiene el angulo de rotacion especifico. Es posible girar una elipse sobre sus coordenadas de centro al girar los ejes mayor y menor.

ESCALACION

Una transformacion de escalacion altera el tamaño de un objeto. Se puede realizar esta operacion para poligonos al multiplicar los valores de coordenadas (x, y):
El factor de escalacion Sx escala objetos en la direccion de x mientras que el factor de eslacion Sy lo hace en direccion de y. Tambien se pueden expresar las ecuaciones de trandormacion en forma matricial:
O
donde S es la matriz de escalacion 2 por 2 en la ecuacion.

Podemos controlar la localizacion de un objeto escalado al seleccionar una posicion llamada punto fijo, que debe permanecer sin cambios despues de la transformacion de escalacion.
Se puede seleccionar las coordenadas para el flujo (Xf, Yf) como uno de los vertices, el centroide del objeto o cualquier otra posicion.

Asi, se escala un poligono con respecto del punto fijo al escalar la distancia de cada vertice al punto fijo. Para un vertice con coordenadas (x , y), se calculan las coordenadas escaladas (X , Y) como
Podermos volver a expresar estas transformaciones de escalacion para separar los terminos de miltiplicacion y de adicion donde los terminos aditivos Xf(1-SX) y Yf(1 - Sy) son constantes para todos los puntos en el objeto
Incluir coordenadas para un punto fijo en las ecuaciones de escalacion es similar a incluir coordenadas para un punto pivote en las ecuaciones de rotacion.
Se escalan poligonos al aplicar las transformaciones en cada vertice y luego volver a generar el poligono utilizando los vertices transformados. Se escalan otros objetos al aplicar las ecuaciones de transformacion de escalacion a los parametros que definen los objetos.

COORDENADAS HOMOGENEAS Y REPRESENTACION MATRICIAL


En las aplicaicones de diseño y de creacion de imagenesm realizamos traslaciones, rotaciones y escalaciones para ajustar los componentes de la imagen en sus posiciones apropiadas. En este tema consideramos como se pueden volver a formular las representaciones de la matriz de modo que se pueden de manera eficiente esas secuencias de transformacion.
Es posible expresar cada una de las transformaciones basicas en la forma de matriz general con las posiciones de coordenadas P y P" representadas como columnas de vector.
La matriz M1 es una matriz de 2 por  2 que contiene factores de multiplicacion y M2 es una matriz de columnas de dos elementos que contiene terminos de traslacion. Para la traslacion, M1 es la matriz de identidad. Para la rotacion o la escalacion M2 contiene los terminos de traslacion asociados con el punto fijo de escalacion.
Con el fin de producir una secuencia de transformaciones con estas ecaciones, como esclacion seguida por rotacion y luego traslacion, debemos calcular las coordenadas transformadas un paso a la vez. Primero, se escalan las posiciones de coordenadas, despues se giran estas coordenadas escaladas y por ultimo se trasladan las coordenadas giradas.
Un planteamiento mas eficiente combinarias las transformaciones de manera que se obtengan las coordenadas finales directamente a partir de las cooordenadas iniciales para eliminar el calculo de coordenadas intermedias. De esta manera, se debe de formular nuevamente la ecuacion para eliminar la adicion de la matriz asociada con los terminos de la transalacion M2.

Podemos combinar los terminos de mulitiplicaicon y de adicion para transformaciones geometricas dibimensionales en una sola representacion de matriz al ampliar las respresentaciones de matriz de 2 por 2 a matrices de 3 por 3.
Esto nos permite expresar todas las ecuaciones de matriz como multiplicaciones de matriz, si tambien ampliamos las representaciones de matriz para las posiciones de coordenadas.

COMPOSICION DE TRANSFORMACIONES BIDIMENSIONALES

Con las representaciones de matriz del tema anterior, podemos establecer una matriz para cualquier secuencia de transformaciones como una matriz de transformacion compuesta al calcular el producto de la matriz de las transformaciones individuales. La creacion de productos de matrices de transformacion a menudo se conoce como concatenacion o composicion de matrices.
  • Traslaciones
Se aplican dos vectores de traslacion sucesivo (Tx1,Ty1) y (Tx2,Ty2) en la posicion de coordenadas P, la localizacion transformada final P, la localizacion transformada final P"se calcula como:
donde se representan P y P"como vectores de columna de coordenadas homogeneas. Podemos verificar este resultado al calcular e producto de la matriz para las dos agrupaciones asociativas. asimismo, la matriz de transformacion compuesta para esta secuencia de tranformaciones es
O
que demuestra que dos transformaciones sucesivas son aditivas.
  • Rotaciones
Dos rotaciones sucesivas que se aplican en el punto P producen la posicion transformada

 Al multiplicar las dos matrices de rotacion, podemos verificar que dos rotaciones sucesivas son aditivas:
de modo que es posible calcular las coordenadas giradas finales con la matriz de rotacion compuesta como
  • Escalaciones 
Concatenar matrices de transformacion para dos operaciones de escalacion sucesivas poruce la sigueinte matriz de escalacion compuesta:
O
La matriz resultante en este caso indica que las operaciones de escalacion sucesivas son multiplicativas. Es decir, si debieramos triplicar el tamño de un objeto dos veces en una sucesion, el tamaño final seria nueve veces el tamaño original.

Rotacion de punto pivote general
con un paquete grafico que solo ofrezca una funcion de rotacion para girar objetos con respecto del origen de las coordenadas, p-odemos generar casi cualquier punto pivote seleccionado (Xr, Yr) al realizar las siguiente secuencia de operaciones de traslaccion-rotacion-traslacion:
  1. Traslade el objeto de modo que se mueva la posicion delk punto pivote al origen de las coordenadas.
  2. Gire el objeto con respecto del origen de las coordenadas,
  3. Traslade el objeto de manera que se regrese el punto pivote a su posicion original.
Escalacion de punto fijo general
la siguiente figura ilustra una secuencia de transformacion para producir escalacion con respecto de una posicion fija seleccionada (Xf, Yf) al utilizar una funcion de escalacion que solo puede escalar en relacion con el origen de las coordenadas.
  1. Traslade el objeto de modo que el punto fijo coicida con el origen de las coordenadas.
  2. Ecale el objeto con respecto del origen de las coordenadas
  3. Utilice la traslacion inversa del paso1 para regresar el objeto a su posicion original.
Propiedades de concatenacion
La multiplicaicon de matrices es asociativa. Para tres matrices cuales quiera A, B y C, e; producto matricial A*B*C se puede elevar a cabo al multiplicar primero A por B multiplicar primero B por C:
Por tanto, podemos evaliar los productos matriciales al utilizar una agrupacion asociativa ya sea de izquierda a derecha o vicerversa.
Por otro lado, los productos de la transformacion tal vez no sean conmuitativos, en general el producto matricial A*B no es igual que B*A. Esto significa queremos trasladar y girar un objeto, debemos tener cuidado sobre el sentido en que se evalua la matriz compuesta.

TRASFORMACION VENTANA-AREA DE VISTA

  Como las primitivas de salida se expresan en coordenadas de mundo, hay que indicar al paquete de cubrutinas graficas como establecer la correspondencia entre las coordenadas de mundo y las coordenadas de pantalla (usaremos el termino especifico coordenadas de pantalla para relacionar este analisis especificamente con SRGP, pero podrian usarse dispositivos de impresion, en cuyo caso seria mas apropiado al termino coordenadas de dispositivo).
Esta correspondencia se puede afectuar si el programador de la aplicacion proporciona al paquete grafico una matriz de transformacion para la correspondencia.Otra forma es que el programador de la aplicaicon especifique una region rectangular en coordenadas de mundo, llamada ventana de coordenadas mundiales y una region rectangular correspondencia de la ventana de coordenadas mundiales. La transformacion que establece la correspondencia ente la ventana y el area de cista se aplica a todas las primitivas de salida en coordenadas de mundo para que correspondadn a coordenadas de pantalla.
Como se puede ver, si la entana y el area no tienen la misma razon altura-anchura, ocurre un esclamiento no uniforme. Si el progrma de aplicacion cambia la ventana o el area de vista, las nuevas primitivas de salida que se dibujen en la pantalla veran afectadas por el cambio, no asi las primitivas existentes.
Si SRGP proporcionara primitivas de salida en coordenadas de muncod, el area de vista se hallara en el lienzo actual, que por omision es el lienzo 0, la pantalla. El programa de aplicacion podrian cambiar en cualquier instante la ventana o el area de vista, en cuyo caso las primitivas de salida que se especifican subsecuentemente estarian sujetas a una nueva transformacion. Si el cambio incluyera una area de vusta distinta, las nuevas primitivas de salida se colocarian en el lienzo en posicion distintas a las anteriores.
Un administrador de ventanas podria establecer la correspondencia entre el lienzo 0 de SRGP y una ventana menor que la pantalla completa; en este caso no siempre estara visible todo el lienzo ni toda el area vista.
Si tenemos una ventana y un area de vista, cual es la matriz de transformacion que establece la correspondencia entre las coordenadas mundiales de la ventana y las coordenadas de pantalla del area de vista? Esta matriz se puede desarrollar como una composicion de transformacion de tres pasos, como sugiere la figura:
La ventana, especifica por sus vertices inferior izquierdo y superior derecho, se traslada primero al origen de las coordenadas de mundo. Despues se escala el tamaño de la ventana para que sea igual al tamaño del area de vista. Por ultimo se usa una traslacion para colocar una area de vista. La matriz global Mwx, que se obtiene por medio de la composicion de dos matrices de traslacion y la matriz de escalamiento, es

 Al multiplicar P= Mwc[X Y 1] se obtine el resultado esperado:
Muchos paquetes graficos combinan la tranformacion ventana-area de vista con el recorte de primitivas de salida con respecto a la ventana. La siguiente figura ilustra el recorte en el contesto de ventanas y areas de vista.

 TRANSFORMACIONES DE COMPOSICION GENERAL Y DE ESFICIENCIA COMPUTACIONAL

Una transformacion bidimensional genral, que representa una combinacion de traslaciones, rotaciones y escalaciones se puede expresar como
Los cuatro elementos RSij son los terminos multiplicativos de rotacion-escalacion en la transformacion que implican solo angulos de traslacion que contienen combinaciones de distancias de traslacion, coordenadas de punto pivote y de punto fijo, asi como de angulos de trotacion y parametros de escalacion.
Por ejemplo, si debe escalar, girar un objeto con respecto de las coordenadas de su centroide (Xc , Yc) y despues trasladarlo, los valores para los elementos de la matriz de transformacion compuesta son 

Aunque la ecuacion de matriz requier nueve multiplicaicones y seis adiciones, los calculos explicitos para las coordenadas transformadas son
Asi, es realidad solo necesitamos efectuar cuatro multiplicaciones y cuatro adiciones para transformar las posiciones de las coordenadas. Este es el numero maximo de calculos que se requieren para cualquier secuencia de transformacion, una vez que se han concatenado las matrices individuales y evaluado los elementos de la matriz compuesta.
Sin concatenacion, se aplicarian las transformaciones individuales una a la vez y se podria reducir en forma considerable el numero de calculos. De esta manera, una implementacion eficiente de las operaciones de transformacion consiste en formular matrices de transformacion, concatenar cualquier secuencia de transformacion y calcular las coordenadas transformadas al utilizar la ecuacion.











 






No hay comentarios:

Publicar un comentario