par Dlzlogic » 05 Déc 2013, 16:46
Bonjour,
J'ouvre une nouvelle discussion pour éviter d'en perturber une actuelle.
La question posée est la suivante : on a un objet A et on veut le transformer en un objet B.
Cette question peut se poser inversement : on a un objet A et un objet B, comment trouver les paramètres de transformation pour passer de A vers B ?
Le contexte est un contexte réel, c'est à dire que les valeurs numériques des coordonnées sont des valeurs réelles. Les outils de calcul sont les outils habituels : 4 opérations, valeurs trigonométriques etc. Les moyens de calcul sont généralement l'informatique.
Il résulte de cela que les valeurs résultant de calculs ne sont jamais des valeurs exactes.
Pour simplifier l'explication, je ferai le raisonnement en 2D. Le raisonnement est identique en 3D.
En mathématique toute similitude peut se calculer par une homothétie+rotation. C'est à dire qu'il existe une transformation T (homothétie+rotation) qui fait correspondre deux figures semblables.
Dans la pratique, il sera intéressant de rajouter une translation, le choix du vecteur de translation est sans importance, donc, il existe une infinité de transformation (T+H+R) pour faire correspondre deux figures semblables.
Etape suivantes : On rajoute une affinité. Géométriquement, cela revient à avoir le rapport des unités différent en X et en Y.
Lorsqu'il s'agissait d'une similitude, les figures A et B étaient constituées de 2 points, ou pouvaient s'y ramener.
En résumé
1- cas d'une rotation centrée en O et d'angle A
X = x . cosA - y . sinA
Y = x . sinA + y . cosA
2- cas d'une homothétie+rotation centrée en O, d'angle A de rapport L
X = L . (x . cosA - y . sinA)
Y = L . (x . sinA + y . cosA)
soit CA = L . cosA et SA = L . sinA et DX, DY une translation quelconque. Alors la formule s'écrit
X = DX + CA . x - SA . y
Y = DY + SA . x + CA . y
3- cas général, on a aussi une affinité, alors
X = DX + XX . x + XY . y
Y = DY + YX . x + YY . y
On imagine aisément que deux points pour déterminer la figure ne suffisent pas dans le cas d'une transformation affine, c'est à dire dans le cas où le rapport des vecteurs unitaires en X/Y n'est pas le même.
Pour une rotation, le déterminant ( = cos²A + sin²A) doit obligatoirement être égal à 1. En calcul avec des valeurs réelles, et en particuliers avec un calcul informatique, ce ne sera généralement pas vrai. Il en résulte qu'il s'agira toujours d'une transformation affine, même si les coefficients correspondants sont très voisins.
En conclusion, la transformation dans le plan, dans le cas général, est la transformation affine. Il y a lieu de rappeler que cette transformation ne conserve pas les angles.
Il y a lieu de préciser aussi que les valeurs obtenues pour les paramètres seront très proches des valeurs que l'on aurait obtenu sans affinité.
Application : On a une figure F1 que l'on veut transformer par rotation en une figure F2, en passant successivement par les positions f1, f2, ..., f10.
On connait le centre de rotation O et l'angle A.
Solution : on considère 3 points non alignés A1, B1, C1 de la figure F1. On peut calculer les point homologues A2, B2, C2 de la figure F2.
On écrit le système de 6 équations tq: XA2 = TX + XX.XA1 + XY.YA1 et YA2 = TY + YX.XA1 + YY.YA1 pour chacun des 3 points.
On obtient ainsi la formule de transformation de F1 vers F2. (paramètres DX, DY, XX, XY, YX, YY)
Pour les 10 figures intermédiaires, on procède de la même façon : on calcule les coordonnées a2, b2, c2, puis les paramètres de la transformation.
Dans le cas présent, on a divisé la rotation d'angle A en 10 parties égales, mais on peut préférer un autre choix, les trois points de la figure d'arrivée seront calculés avec la loi choisie.
L'application à la transformation à 3 dimensions se déduira de cela sans difficulté. En 2D, étant donné qu'il y a peu d'opérations arithmétiques, les écarts seront minimes si on n'utilise pas l'affinité. Il n'en est pas de même en 3D où le nombre d'opérations est plus important. Avec la méthode directe, 4 points permettent de calculer les 12 paramètres, il n'y a plus d'imprécision qui se cumule.