Que sont les transformations affines? S'appliquent-ils uniquement aux points ou à d'autres formes? Qu'est-ce que cela signifie qu'ils peuvent être "composés"?
la source
Que sont les transformations affines? S'appliquent-ils uniquement aux points ou à d'autres formes? Qu'est-ce que cela signifie qu'ils peuvent être "composés"?
Une transformation affine est une transformation linéaire + un vecteur de traduction.
Il peut être appliqué à des points individuels ou à des lignes ou même des courbes de Bézier. Pour les lignes, il conserve la propriété que les lignes parallèles restent parallèles. Pour les courbes de Bézier, il conserve la propriété coque convexe des points de contrôle.
Multipliée, elle produit 2 équations pour produire une paire de coordonnées "transformée" partir de la paire d'origine et une liste de constantes .
De manière pratique, la transformation linéaire et le vecteur de translation peuvent être regroupés dans une matrice 3D qui peut fonctionner sur des coordonnées homogènes 2D.
Ce qui donne les 2 mêmes équations ci-dessus.
Très commodément , les matrices elles-mêmes peuvent être multipliées ensemble pour produire une troisième matrice (de constantes) qui effectue la même transformation que l'original 2 effectuerait en séquence. En termes simples, les multiplications matricielles sont associatives.
Alternativement, vous pouvez considérer quelques types de transformation de base et composer toute transformation plus complexe en les combinant (en les multipliant ensemble).
Transformation d'identité
Mise à l'échelle
* Remarque: une réflexion peut être effectuée avec des paramètres de mise à l'échelle ou .
Traduction
Incliner x par y
Incliner y par x
Rotation
[Notez que j'ai montré ici la forme de la matrice qui accepte un vecteur ligne sur la gauche . La transposition de ces matrices fonctionnera avec un vecteur colonne à droite.]
Une matrice composée uniquement de mise à l'échelle, de rotation et de translation peut être à nouveau décomposée en ces trois composants .