PDA

Просмотр полной версии : Получить значения scaleX и scaleY из матрицы трансформации


NePridymal
01.12.2009, 19:02
Доброго времени суток.
Может кто сможет ответить на вопрос, как получить значения scaleX и scaleY из матрицы трансформации объекта?
Тоесть отсюда - displayObject.transform.matrix

по хелпу вроде бы все просто scaleX = transform.matrix.a и scaleY = transform.matrix.d
но на самом деле это не совсем так. Допустим, при повороте объекта функцией transform.matrix.rotate() меняются не только значения matrix.b и matrix.c но и значения a и d . При этом визуально размер дисплейного объекта не меняется.
Так вот, как получить из матрицы значения a и d те, которые были установленны до поворота? То есть как посчитать из a,b,c,d значения a и d ?

Уже весь мозг сломал, пытаясь увидеть зависимость...

bicubic_bublic
01.12.2009, 20:59
если только поворот и scale, то думаю как-то так:
scaleX = Math.sqrt(m.a * m.a + m.c * mc);
scaleY = Math.sqrt(m.b * m.b + m.d * md);