Composición de transformaciones bidimensionales

martes, 29 de septiembre de 2009 en 13:21
A partir de primitivas podemos generar escenas 2d cambiando, por ejemplo, orientaciones y tamaño de las distintas componentes; también podemos generar animaciones moviendo los objetos en la escena a lo largo de distintos caminos.
Estos cambios en orientación, tamaño y forma se llevan a cabo mediante transformaciones geométricas que alteran las descripciones de las coordenadas de los objetos: La traslación, la rotación, el escalado y el sesgado son ejemplos de transformaciones geométricas, entonces podemos decir que trabajamos objetos o gráficos bidimensionales.
Otro ejemplo de aplicación es utilizar la isometría, que es un tipo de proyección en tres dimensiones en el que todos los planos principales están dibujados paralelamente a los correspondientes ejes y en escalas de magnitud real; generalmente las horizontales están dibujadas a 30 grados de la normal del eje horizontal y las verticales permanecen paralelas a la normal del eje vertical. Tiene un efecto de vista desde un punto, visualizándose diversos tamaños.

¿Qué es Composición de transformaciones 2D?
Es combinar una serie de operaciones básicas, para generar una operación compleja que involucre cambios de posición, orientación y escala simultáneos sobre un objeto. Esta concatenación se realiza mediante un producto de matrices, cada una de las cuales es la matriz de definición de la correspondiente operación básica. Las aplicaciones utilizan movimientos más complejos que se pueden conseguir combinando las transformaciones básicas, mencionadas.
En general, es el conjunto de pasos, transformaciones, movimientos, efectos, aplicaciones y operaciones simples y complejas que se realizan encadenadamente para modificar una imagen, desde el principio hasta los resultados esperados.

¿Cómo se puede aplicar a un objeto una operación compleja en la que intervengan varias operaciones básicas encadenadas?.
 Empleando la composición o multiplicación de las matrices asociadas a las operaciones básicas.
Ejemplo: Rotar un objeto con respecto a un punto arbitrario P1 distinto del origen de coordenadas.
Se convierte el problema original en tres subproblemas separados y sencillos de resolver:  1.- Trasladar el punto P1 al origen de coordenadas;  2.- Rotar el objeto y  3.- Trasladar P1 a su posición original.
Una estructura de datos que registre esta información podría contener el factor o factores de escalado, el ángulo de rotación y las cantidades de traslación, así como el orden de las transformaciones. O bien, se podría registrar la matriz de transformación compuesta.
El orden de ejecución es importante, dado que las matrices no siempre cumplen la propiedad conmutativa. Sin embargo, en ciertos casos especiales esta propiedad sí se cumple y no es necesario atender al orden de ejecución de las operaciones.

1.- Traslación-rotación-escalado-escalado y 2.- Traslación-rotación-escalado-rotación.

__________________________________________________________________________________

Composición de transformaciones bidimensionales.
Traslación, rotación, sesgado y escalado.

La composición de transformaciones bidimensionales consiste en la mezcla de las transformaciones bidimensionales básicas como son traslación, sesgado y escalado.
Notemos que no mencionamos la rotación como una transformación básica, esta es en realidad la combinación de escalado y sesgado.

Estas transformaciones se representan mediante un matriz de tres por tres como esta en la siguiente figura . Los elementos a, b, c,d, tx y ty.  Las posiciones adicionales u, v y w no las tomaremos en cuenta porque por el momento no son importantes.
El significado para cada posición es la siguiente
a:  escalado en el eje x.
b: sesgado en el eje y.
c: sesgado en el eje x.
d: escalado en el eje y.
tx: traslación en el eje x
ty: traslación en el eje y
Para aplicar alguna(s) de las transformaciones a un punto se necesita resolver la siguiente formula donde x y y representa la posición original del punto, x’ y y’ representan la nueva posición, los valores restantes representan los datos para realizar la transformación requerida.
x' = x*a + y*c + tx
y' = x*b + y*d + ty
Para aplicar la rotacion nuestra matriz quedara de la siguiente forma donde ángulo representa los grados a girar la imagen
Notar que la rotación se realiza con referencia al punto de origen, en caso de que se quiera rotar una imagen sobre si misma, es necesario moverla al origen, rotarla y regresarla a su punto original.
Ahora estas operaciones no las tenemos que llevar a cabo manualmente ya que existe un objeto llamado matrix el cual tiene implementada las funciones de escalado, sesgado,  traslado y rotado
Al momento de crear el objeto matrix deberemos pasarle como parámetros los valores a, b, c, d, tx y ty; en caso de no pasarle los valores la matrix que se utilizara será una matrix identidad.
Los ejemplos son los siguientes:
import flash.geom.Matrix;
var my_matrix = new Matrix( a, b, c, d, tx, ty );
translate(tx:Number, ty:Number) : Void
scale(sx:Number, sy:Number) : Void
rotate(angle:Number) : Void
identity() : Void

29 comentarios

  1. faustino Says:

    Composición de transformaciones bidimensionales

    por mi parte entendi de este tema es que se trata de como manipular las imagenes como reducilas por escalas, moverlas de un lado a otro y son imagenes son de dos dimenciones o simplemente una imagen plana.

    y me gustaria que se hable mas sobre este tema.

  2. para el equipo que expuso ete tema del 7A la creo que se salieron un poco del tema ya que se trataba de la composicion de las transformacuiones bidimencionales y se adentraron mas a el tema 2.
    Mi reflexion es...
    segun lo que entendi de lo que explico el m,aestro y leyendo la exposicion de arriba
    La composición de transformaciones bidimensionales es como su nombre lo indica la combinacion de una serie de operaciones básicas, también puede ser una mezcla entre las transformaciones (traslación, sesgado y escalación) para logra un objeto o un efecto.
    Como menciona el equipo la transformacion de rotacion no se toma en cuenta ya que se es la combinacion del escalado y el sesgado, el sesgado es mover otros puntos en otras direcciones.

  3. david Says:
    Este comentario ha sido eliminado por el autor.
  4. el equipo que expuso este tema en el grupo de 7ºa, no fue claro en el tema ni entendible.

    Por lo que en el otro grupo fue entendible.

    por lo que entendi que este tema es para poder modificar , trasformar y para moverlo de un lado a otro.

  5. david Says:

    Tema: Composición de transformaciones bidimensionales.

    En mi opinion digo que con esto se pueden cambiar el tamaño, componentes; hasta se pueden generar animaciones con movimiento.
    Los objetos o la forma en que sucede esto se lleva a cabo por medio de coordenadas.

    Las transformaciones en 2D utilizan matrices que se realizan una tras otra para modificar una imagen cuando hay que hacer una operación
    compleja se utilizan tres pasos
    1.- Primero la traslacion del objeto
    2.- Rotar el objeto .
    3.- Trasladarlo nuevamente.

    Si estoy ma por favor corrijanme.
    buenas tardes

  6. Isabel Says:

    En el tema de composicion de transformacion bidimencional entendi que consta de una matriz de tres por tres y consiste en una mezcla basica como son traslación, rotacion, sesgado y escalado.
    Pero el equipo que expuso ese tema les falto mas informacion.

  7. sergio canul Says:

    Bueno creo que un poco confusa pero logre comprender algo sobre las transformacions bidimencionales.
    Es combinar una serie de operaciones básicas, para generar una operación compleja que involucre cambios de posición, orientación y escala simultáneos sobre un objeto.

  8. Keyla Says:

    Pues, yo entendí que los cambios que puede tener con respecto al tamaño y la forma se llevan a cabo mediante transformaciones geométricas que alteran las descripciones de las coordenadas de los objetos (la traslación, la rotación, el escalado y el sesgado) son ejemplos de transformaciones geométricas, es decir, en conjunto son una combinación o una mezcla de estas transformaciones que puede mejorar o alterar el objeto.

  9. Carminia Says:

    a mi parecer el tema es muy facil y entendible ya que el equipo que lo explico en el grupo lo explico bien y se entendio, ya que si hablamos de su presentacion de power point estaba confusa, con tantos simbolos, en lo que cabe lo que explicaron ellos se entendio bien....

  10. HERMAN Says:

    La información que se encuentra en el blog me parece de gran utilidad y clara para comprender mejor lo que son transformaciones geométricas bidimensionales. Respecto al primer tema; cuando lo expusieron mis compañeros, pienso que no se explicaron bien ya que no abordaron el tema que les correspondía y la información del blog es mucho más clara. Pero bueno…
    Desde mi punto de vista me parecen temas de gran importancia para comprender mejor la graficación por computador. Las formas matemáticas (matrices formulas y demás) son un poco más complejas de entender; pero son la base de las transformaciones. El tutorial "Understanding the Transformation Matrix in Flash 8" contiene ejemplos gráficos y animados sobre las transformaciones que complemetan los temas expuestos.

  11. Anselmo Pool Says:

    Este tema no lo había captado muy bien hasta hoy, con respecto al por qué de la matriz (ya que el texto "Understanding the Transformation Matrix in Flash 8" estaba en inglés :( ).
    Solamente tengo una duda ¿Todo esto lo vamos a programar??!!

  12. Elda Says:

    hola a mi parecer siento que el tema no estuvo claro fue un poco confusa sin embargo me gustaria aportar lo siguientes:
    􀀩Las transformaciones geométricas modifican la posición y
    orientación de los objetos y el observador en la escena.
    􀀩Transformaciones como la traslación, rotación y escalado
    permiten simular el movimiento de los objetos, así como situar
    los objetos y el observador en la posición adecuada.
    􀀩Las transformaciones geométricas permiten cambiar la
    posición, orientación y tamaño de los objetos.

  13. ruscruzel Says:

    Entendi del tema que la composición es la mezcla o conjunto de las transformaciones bidimencionales(Traslación, Rotación y Escalación), y estas son la base para de las operacines para darle un efecto a un objeto.

    ay un equipo que menciona:
    Notemos que no mencionamos la rotación como una transformación básica, esta es en realidad la combinación de escalado y sesgado.
    ¿porque o a que se debe esto?

  14. Ger@rdo Says:

    Bueno para que echar tanto rollo y complicarnos màs, transformaciones bidimencionales es nada mas que aplicarle a una imagen traslación, rotación o escalación o la combinación de éstas.

  15. ruscruzel Says:

    El kmarada gerardo da muy muena definicion de transformaciones bidimencionales y entendible sale nos vemos

  16. en este tema entendi que Composición de transformaciones 2D. se refiere a la combinacion de una serie de operaciones básicas,como para generar una operación compleja que involucre cambios de posición, orientación y escalacion, esto podria ser simultáneamente sobre un objeto.

  17. Transformaciones bidimensionales
    En la exposición que dio ese equipo fue un poco confusa por sus diapositivas, el cual para mi se aclaro con algunas ejemplos y un poco la explicación que dio el maestro.
    Transformaciones bidimensionales.
    Es combinar una serie de operaciones básicas, para ya sea posición, orientación y escala simultáneos sobre un objeto, el cual se realizan con formulas matemáticas, las cuales son las matrices por la cual se genera las transformaciones.

  18. la explicacion de este tema me parecio muy buena ya que esta se nos proporciono de una manera facil y comprensible.

    estas transformaciones como son: el sesgado, la rotacion, traslacion. cada una de estas transfomaciones son complejas por que necesitan una matriz de tres por tres para poder logararlas por ejemplo: una rotacion, para lograrlo primero se tiene que posicionar elobjeto en los puntos de origen 0,0 y en ese lugar rotarlo y luego trasladarlo a su poicion original. en un rotacion se realiza de la siguiente forma traslacion- rotacion-traslacion.

  19. Lo de las transformaciones ya lo abia comprendido pero no del todo con las matrizes hasta aora me abia liado un poko con el de escalacion..pero ya más trankilo comprendiendo.Saludos

  20. Ricardo Says:

    Para rotar un cuerpo se necesita sesgado y escalado.
    Explicar por que es asi por medio de palabras resultara confuso, pero despues de batallar un rato logre girar 45 grados un cuadrado con operaciones de sesgado.
    El procedimiento es:
    1-Sesgar con respecto a el primer par de paralelas.
    2-Ahora sesgamos, pero con respecto al otro par.
    Repetir hasta obtener el giro...

    Sencillo pero dificil de interpretar textualmente.
    Asi que
    aqui le paso a ruscruzel una imagen.
    Si no la entienden pues, no ce que mas hacer.

  21. Bueno en este temas la explicacion de los compañeros al momento de exponer (7B) fue entendible, con la explicación del maestro depejo las dudas que se tenian.
    Bueno estas tranformaciones nos sirve pra poder darle animación algun objeto lograndolo con la combinación de estas. Estas con complejas por la cual por el hecho que se aplican matrices, pero con la ayuda de la matrix nos facilita todo este trabajo.

  22. Maik Says:

    Entendi que la traslacion rotacion, escalacion y sesgado son transformaciones bidimencionales aplicados a graficos bidimensionales.
    y que otro ejemplo de estas transformaciones es la isometria pero esta es aplicada a graficos 3d.
    ami me parece que esto de la isometria es algo muy interesante pero algo muy complejo ya que como es 3d involucra magnitud direccion tiempo y mas cosas.
    yo digo que composicion en transformaciones en 2d son una serie de instrucciones conformadas por todo lo relacionado con movientos, efectos, alteraciones en tamaño, forma, que involucra operaciones simples y complejas en una figura, objeto cuerpo.
    Estoy de acuerdo que transformaciones bidimensionales es aplicar traslacion, rotacion y escalacion a un objeto o figura determinada.
    ja no entiendo mucho este termino sesgado?? segun creo que es cortar o colocar oblicuamente o atravesar algo hacia un lado o a que se refiere o que explicacion quiere dar a entender?????
    Bueno creo que de este tema no tengo mas dudas ps se trata de la modificacion de la escalacion traslacion rotacion y es entendible y sencillo y respecto a mis compañeros explicaron bien.

  23. Maik Says:

    ESTOY DE ACUERDO COM MI COMPA RUSSEL QUE LA COMPOSICION DE TRASNFORMACIONES BIDIMENSIONALES ES UNA COMBINACION DE LA TRALACION ROTACION Y ESCALADO ESTAS TRES SON UTILES PARA LAS TRANSFORMACIONES Y MUY INTERESANTES.
    Y SI ES CIERTO QUE ESTO LO MENCIONA UN EQUIPO.

  24. De acuerdo Miguel Burgos

    Las Transformaciones son una serie de operaciones básicas, para generar una operación compleja que involucre cambios de posición, orientación y escala simultáneos sobre un objeto. Ya que de aqui entra nuestro tema de Concatenacion. el la cual nos permite unir La escalacion, Rotacion y Traslacion.

  25. en el teema de composicicion entiendo que una compocicion es un combinacion
    de operaciones matriciales para lograr transfoormaciones simultañas

    en realidad si la rotacion es una compocion de escalado y el sesgado

  26. ¿hay les dejo una duda que tengo para el que quiera responderlo entances la compacicion es lo mismo que la concatenacion?

  27. María josé Says:
    Este comentario ha sido eliminado por el autor.
  28. María josé Says:

    una tranformacion en 2 dimensiones es un medio para construir o modificar imagenes u objetos.
    utiliza un punto x,y para transformar un nuevo punto x,y.este tema va de la mano con la escalacion,rotacion y traslacion.y una composicion es una combinacion de operaciones con matrices

  29. alex Says:

    que onda amigos espero les este llendo bien con su videojuego
    por que yo sigo investigando
    no sean mala onda suban algunos actionscript para esta tarea.

Publicar un comentario

Graficación | Powered by Blogger | Entries (RSS) | Comments (RSS) | Designed by MB Web Design | XML Coded By Cahayabiru.com