Clase matrix as3

6
Action Script 3 MATRIX Class Ing. Andrés M García O

Transcript of Clase matrix as3

Page 1: Clase matrix as3

Action Script 3 MATRIX Class

Ing. Andrés M García O

Page 2: Clase matrix as3

Clase Matrix y trasnformaciones espaciales La clase Matrix representa una matriz de transformación que determina

cómo asignar puntos de un espacio de coordenadas a otro. Es posible realizar varias transformaciones gráficas en un objeto de

visualización mediante la configuración de las propiedades de un objeto Matrix

Se puede aplicar un objeto matrix a la propiedad matrix de un objeto Transform.

funciones de transformación espaciales son la Traslación (cambio de posición de x e y), Rotación, Escala y sesgo.

Ing. Andrés M García O

Matriz tradicional Matriz AS3 (u=0,v=0, w=1)

Page 3: Clase matrix as3

Clase Matrix y trasnformaciones espaciales

Ing. Andrés M García O

Page 4: Clase matrix as3

Definición de objetos Matrix Aunque se puede definir una matriz ajustando directamente las

propiedades (a, b, c, d, tx, ty) de un objeto Matrix, resulta más fácil utilizar el método createBox().

var matrix:Matrix = new Matrix();var scaleX:Number = 2.0;var scaleY:Number = 3.0;var rotation:Number = 2 * Math.PI * (45 / 360);var tx:Number = 10;var ty:Number = 20;matrix.createBox(scaleX, scaleY, rotation, tx, ty);

Ing. Andrés M García O

Page 5: Clase matrix as3

Definición de objetos Matrix También se pueden ajustar los efectos de escala, rotación y traslación de

un objeto Matrix con los métodos scale(), rotate() y translate().

var matrix:Matrix = new Matrix();var rotation:Number = 2 * Math.PI * (30 / 360); // 30°var scaleFactor:Number = 2;matrix.scale(scaleFactor, scaleFactor);matrix.rotate(rotation);myDisplayObject.transform.matrix = matrix;

Ing. Andrés M García O

Page 6: Clase matrix as3

Definición de objetos Matrix Para aplicar una transformación de sesgo a un objeto Matrix, debe

ajustarse su propiedad b o c. Al ajustar la propiedad b, se sesga la matriz verticalmente y al ajustar la propiedad c, se sesga la matriz horizontalmente.

var skewMatrix:Matrix = new Matrix();skewMatrix.b = Math.tan(2);myMatrix.concat(skewMatrix);

Se puede aplicar una transformación de objeto Matrix a la propiedad transform de un objeto de visualización.

var matrix:Matrix = myDisplayObject.transform.matrix;var scaleFactor:Number = 2;var rotation:Number = 2 * Math.PI * (60 / 360); // 60°matrix.scale(scaleFactor, scaleFactor);matrix.rotate(rotation);myDisplayObject.transform.matrix = matrix;

Ing. Andrés M García O