Extrahieren Sie die Rotation, skalieren Sie die Werte aus der 2D-Transformationsmatrix

wie kann ich extrahieren, rotation, Skalierung und translation Werte von 2d-Transformationsmatrix? ich meine ein 2d-transformation

matrix = [1, 0, 0, 1, 0, 0]

matrix.rotate(45 /180 * PI)
matrix.scale(3, 4)
matrix.translate(50, 100)
matrix.rotate(30 /180 * PI)
matrix.scale(-2, 4)

nun meine matrix-Werte [a, b, c, d, tx, ty]

lets vergessen Sie die oben genannten Prozesse und stellen wir uns vor wir haben nur die Werte a, b, c, d, tx, ty

wie finde ich insgesamt Drehung und Skalierung Werte über a, b, c, d, tx, ty

sorry für mein Englisch

Dank für Ihre Reservierung

BEARBEITEN

Ich denke, es sollte eine Antwort irgendwo...

ich habe gerade versucht in Flash Builder (AS3), wie dies

   var m:Matrix = new Matrix;
   m.rotate(.25 * Math.PI);
   m.scale(4, 5);
   m.translate(100, 50);
   m.rotate(.33 * Math.PI);
   m.scale(-3, 2.5);

   var shape:Shape = new Shape;
   shape.transform.matrix = m;

   trace(shape.x, shape.y, shape.scaleX, shape.scaleY, shape.rotation);

und die Ausgabe ist:

x = -23.6 
y = 278.8 
scaleX = 11.627334873920528 
scaleY = -13.54222263865791 
rotation = 65.56274134518259 (in degrees)

InformationsquelleAutor der Frage Tolgahan Albayrak | 2010-12-05

Schreibe einen Kommentar