Фредерик Ван

звлечь значения поворота, масштаба и перемещения из матрицы преобразования 2d? я имею в виду 2d преобразование

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)

теперь моя матрица имеет значения [a, b, c, d, tx, ty]

давайте забудем о вышеописанных процессах и представим, что у нас есть только значения a, b, c, d, tx, ty

Как я могу найти значения поворота и масштаба через a, b, c, d, tx, ty

Извините за мой английский

Спасибо ваше продвижение

РЕДАКТИРОВАТЬ

Я думаю, что это должен быть ответ где-то ...

я только что попробовал во Flash Builder (AS3) вот так

   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);

и вывод:

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

Ответы на вопрос(4)

Ваш ответ на вопрос