2010-09-01 17 views
1

J'ai des propriétés de matrice de transformation (a, b, c, d). Comment calculer scaleX, scaleY, scewX, scewY et l'angle de rotation de ces valeurs?Comment obtenir des transformations de la matrice de transformation dans Flash?

Quand un seul type de transformation est appliquée, je peux comprendre que:

scaleX = a 
scaleY = d 
scewX = c 
scewY = b 
rotation = arccos(a) or -arcsin(c) 

Mais lorsque plusieurs transformations sont appliquées à la fois, je ne sais pas comment calculer ces valeurs.

Je dois le faire en dehors du flash, donc je ne peux pas utiliser de méthodes d'aide au flash.

Merci.

Répondre

3

Découvrez ce tutoriel:

http://www.senocular.com/flash/tutorials/transformmatrix/

Il explique tout ce que vous devez savoir sur les matrices de transformation en Flash assez bien. Cela dit Flash 8, mais tout ce qui est discuté ici s'applique aussi aux versions plus récentes.

La section "Transformation Conversions" couvre ce que vous recherchez.

+0

Merci. Il répond à presque toutes les questions sauf comment calculer 'deltaTransformPoint' qu'ils utilisent pour obtenir l'inclinaison et la rotation (je le ferai en dehors de Flash donc je n'ai pas cette méthode). – serg

+0

deltaTransformPoint multiplie simplement la matrice avec le point (avec tx et ty mis à 0). Vous devriez être capable de l'implémenter facilement sur la plateforme de votre choix. C'est mathématique de base, rien de spécifique à Flash. –