Inscription / Connexion Nouveau Sujet
Niveau Reprise d'études
Partager :

Coordonnées après Rotation d'un point autour d'un axe et d'angle

Posté par
Roudaille
18-12-20 à 14:15

Bonjour à tous,
Je suis actuellement sur un casse-tête en géométrie 3D. J'ai besoin de vos lumières car je trouve des résultats différents entre le calcul et la simulation sur logiciel 3D (Catia).

Soit M un point de coordonnées M(xm, ym, zm) et M'(xm', ym', zm') l'image de M par une rotation d'angle  \alpha autour de l'axe passant par les points A(xa, ya, za) et B(xb, yb, zb).

Voila les notions dont je me souviens de la fac (https://fr.wikipedia.org/wiki/Matrice_de_rotation)  :

1/ Calcul du vecteur directeur de la droite passant par A et B :
\overrightarrow{AB}=\begin{pmatrix} xb-xa \\ yb-ya \\ zb-za \end{pmatrix}

2/ Calcul du vecteur unitaire définissant l'axe (AB)
\overrightarrow{U}: \begin{pmatrix} ux\\ uy\\ uz\end{pmatrix}=\begin{pmatrix} \frac{xb-xa}{\| \overrightarrow{AB} \|}  \\ \frac{yb-ya}{\| \overrightarrow{AB} \|}  \\ \frac{zb-za}{\| \overrightarrow{AB} \|}  \end{pmatrix}

3/ Vérification du la norme de U = 1
{\| \vec U\|} =\sqrt{ux^2+uy^2+uz^2}=1  

4/ Matrice de rotation R à partir de l'axe et de l'angle
R=\begin{pmatrix}
 \\ ux^2&ux \times uz&ux\times uz \\
 \\ ux\times uy&uy^2&uy\times uz\\
 \\ ux\times uz&uy\times uz&uz^2
 \\ \end{pmatrix}

6/M' est le Produit "matriciel" de M par R
R \times M = \begin{pmatrix}
 \\ ux^2&ux \times uz&ux\times uz \\
 \\ ux\times uy&uy^2&uy\times uz\\
 \\ ux\times uz&uy\times uz&uz^2
 \\ \end{pmatrix} \begin{pmatrix} xm \\ ym\\ zm \end{pmatrix}

--------------------------------------------------------------------------------
7/ Exemple concret aléatoire (merci Excel pour le calcul):

- Soit M un point de coordonnées M \begin{pmatrix} 5\\6\\-3\end{pmatrix}

- Soient le point  A \begin{pmatrix}-5\\-7\\-10\end{pmatrix}  et le point  B \begin{pmatrix}1\\-1\\5\end{pmatrix}  définissant l'axe de rotation du point M vers le point M' d'angle  \alpha = 15°=0.262 rad

- Vecteur directeur AB: \overrightarrow{AB}=\begin{pmatrix} 6\\6\\15\end{pmatrix}

- Norme de AB : {overrightarrow{AB}} =\sqrt{6^2+6^2+6^2}=17.234  

- Vecteur unitaire U: {\vec U\  = \begin{pmatrix} \frac{6}{17.234} \\\frac{6}{17.234}\\ \frac{15}{17.234}\end{pmatrix}
 \\
{\vec U\  = \begin{pmatrix}0.348 \\0.348 \\0.870\end{pmatrix}

- Vérification que Norme de U = 1 : {\| \vec U\|} = 1

- Détermination de la matrice de rotation :    R=\begin{pmatrix}
 \\ 0.970&-0.221&0.100\\
 \\ 0.229&0.970&-0.080\\
 \\ -0.080&0.100&0.992
 \\ \end{pmatrix}

- Calcul des coordonnées du point M' : {\begin{pmatrix}xm' \\ym'\\zm'\end{pmatrix}=\begin{pmatrix}
 \\ 0.970&-0.221&0.100\\
 \\ 0.229&0.970&-0.080\\
 \\ -0.080&0.100&0.992
 \\ \end{pmatrix} \begin{pmatrix} 5\\6\\-3\end{pmatrix}

- Voila le résultat que je calcule :  {\begin{pmatrix}xm' \\ym'\\zm'\end{pmatrix} = {\begin{pmatrix}6.466 \\4.413\\-2.952\end{pmatrix}

- Sur le logiciel de conception, en fonction du signe de l'angle, je trouve :  {\begin{pmatrix}xm' \\ym'\\zm'\end{pmatrix} = {\begin{pmatrix}7.132\\4.954\\-3.636\end{pmatrix}  ou bien   {\begin{pmatrix}xm' \\ym'\\zm'\end{pmatrix} = {\begin{pmatrix}2.649\\6.448\\-2.440\end{pmatrix}


Quelqu'un peut me dire s'il ne me manque pas une étape à la fin de ce calcul ou alors me dire ce que je n'ai pas bien fait.

Bonnes fêtes de fin d'année à tous !

Posté par
GBZM
re : Coordonnées après Rotation d'un point autour d'un axe et d' 18-12-20 à 14:25

Bonjour,

Moi je trouve bizarre que l'angle \alpha n'intervienne nulle part dans l'écriture de la matrice de rotation. Pas toi ?

Posté par
Roudaille
re : Coordonnées après Rotation d'un point autour d'un axe et d' 18-12-20 à 14:25

Une petite grosse erreur s'est glissée sur la définition de la matrice de rotation !
Le résultat du calcul reste correct néanmoins.

R=\begin{pmatrix}
 \\ ux^2(1-cos(\alpha)) + cos(\alpha) &ux \times uy(1-cos(\alpha))-uz(1-sin(\alpha))&ux\times uz(1-cos(\alpha))+uy\times sin(\alpha) \\
 \\ ux\times uy(1-cos(\alpha))+uz\times sin(\alpha)&uy^2(1-cos(\alpha)-cos(\alpha) &uy\times uz(1-cos(\alpha)) -ux \times sin(\alpha)\\
 \\ ux\times uz(1-cos(\alpha))-uy\times  sin(\alpha)&uy\times uz(1-cos(\alpha))+ux\times sin(\alpha)&uz^2(1-cos(\alpha))+cos(\alpha)
 \\ \end{pmatrix}

Posté par
Roudaille
re : Coordonnées après Rotation d'un point autour d'un axe et d' 18-12-20 à 14:27

GBZM @ 18-12-2020 à 14:25

Bonjour,

Moi je trouve bizarre que l'angle \alpha n'intervienne nulle part dans l'écriture de la matrice de rotation. Pas toi ?


Yes, effectivement je n'ai pas réussi à ré-éditer le message. Du coup j'ai reposté le détail de la formule plus haut

Posté par
LeHibou
re : Coordonnées après Rotation d'un point autour d'un axe et d' 18-12-20 à 14:53

Bonjour,

Citation :
Yes, effectivement je n'ai pas réussi à ré-éditer le message.

Le site ne permet pas l'édition des messages.
Au début c'est très frustrant, après on s'applique, on se relit et on utilise le bouton Aperçu

Posté par
GBZM
re : Coordonnées après Rotation d'un point autour d'un axe et d' 18-12-20 à 15:07

Les premier et deuxième coefficients de ta deuxième colonne ne sont pas corrects.

Posté par
Roudaille
re : Coordonnées après Rotation d'un point autour d'un axe et d' 18-12-20 à 15:38

R=\begin{pmatrix}
 \\ ux^2(1-cos(\alpha)) + cos(\alpha) &ux \times uy(1-cos(\alpha))-uz \times sin(\alpha)&ux\times uz(1-cos(\alpha))+uy\times sin(\alpha) \\
 \\ ux\times uy(1-cos(\alpha))+uz\times sin(\alpha)&uy^2(1-cos(\alpha))+cos(\alpha) &uy\times uz(1-cos(\alpha)) -ux \times sin(\alpha)\\
 \\ ux\times uz(1-cos(\alpha))-uy\times  sin(\alpha)&uy\times uz(1-cos(\alpha))+ux\times sin(\alpha)&uz^2(1-cos(\alpha))+cos(\alpha)
 \\ \end{pmatrix}


Pas facile de se remettre dans le bain du LaTeX

Du coup, est-ce qu'il manque une étape à la fin de mon calcul ?

Posté par
GBZM
re : Coordonnées après Rotation d'un point autour d'un axe et d' 18-12-20 à 16:27

À vue de nez, ta dernière matrice est correcte.

Posté par
Roudaille
re : Coordonnées après Rotation d'un point autour d'un axe et d' 18-12-20 à 18:15

Les formules sont correctes parce que retrouvées sur plusieurs documents mathématiques.

Dans mon exemple :
un calcul rapide de la distance du point M à la droite (AB) donne 10.917mm
Le même calcul de la distance du point M' à la droite (AB) donne 10.611mm.

Autrement dit, le point M' n'est pas la rotation du point M autour de (AB) et d'angle 15° car la distance n'est pas conservée ...
Quelqu'un peut-il m'aider à comprendre pourquoi ca ne marche pas ?

Posté par
GBZM
re : Coordonnées après Rotation d'un point autour d'un axe et d' 18-12-20 à 18:32

Difficile de dire où tu as fait ton erreur d'implémentation ...

Posté par
GBZM
re : Coordonnées après Rotation d'un point autour d'un axe et d' 18-12-20 à 19:21

Pour en avoir le coeur net, j'ai repris les calculs. Je suis d'accord avec ta matrice de rotation


[  0.970056029163121  -0.221142860566642   0.100434732561409]
[  0.229403266314747   0.970056029163121 -0.0797837181911470]
[-0.0797837181911470   0.100434732561409   0.991739594251895]


mais par contre quand on multiplie cette matrice avec le vecteur (5,6,-3), le résultat n'est absolument pas ce que tu trouves :

(3.22211878473152, 7.20670366112590, -2.77152897834297)


Ça se voit à vue de nez que le résultat que tu indiques est faux.

Posté par
Roudaille
re : Coordonnées après Rotation d'un point autour d'un axe et d' 19-12-20 à 03:53

GBZM @ 18-12-2020 à 19:21

Pour en avoir le coeur net, j'ai repris les calculs. Je suis d'accord avec ta matrice de rotation


[  0.970056029163121  -0.221142860566642   0.100434732561409]
[  0.229403266314747   0.970056029163121 -0.0797837181911470]
[-0.0797837181911470   0.100434732561409   0.991739594251895]


mais par contre quand on multiplie cette matrice avec le vecteur (5,6,-3), le résultat n'est absolument pas ce que tu trouves :

(3.22211878473152, 7.20670366112590, -2.77152897834297)


Ça se voit à vue de nez que le résultat que tu indiques est faux.


Ok pour ce résultat après vérification.  M'=\begin{pmatrix}3.22211878473152 \\7.20670366112590\\ -2.77152897834297\end{pmatrix}
Le truc que je ne comprends, c'est que je ne retrouve pas ce résultat avec le logiciel de 3D...

Secondo, si on calcule la distance du point M à la droite (AB) on a ;
dM=\frac{\| \vec U \wedge \overrightarrow{AM}\| }{\| \vec U \| }

dM=\frac{\| \begin{pmatrix}0.348 \\0.348\\0.70 \end{pmatrix} \wedge \begin{pmatrix}10.000\\13.000\\-7.000\end{pmatrix} \| }{\| \begin{pmatrix}0.348 \\0.348\\0.70 \end{pmatrix}  \| }=10.917mm

Le même calcul avec la distance du point M' à la droite (AB) on a :
dM'=\frac{\| \vec U \wedge \overrightarrow{AM'}\| }{\| \vec U \| }

dM'=\frac{\| \begin{pmatrix}0.348 \\0.348\\0.70 \end{pmatrix} \wedge \begin{pmatrix}8.222\\14.207\\7.228\end{pmatrix} \| }{\| \begin{pmatrix}0.348 \\0.348\\0.70 \end{pmatrix}  \| }=11.084mm

Pourquoi est-ce que cette distance varie alors qu'il s'agit d'une rotation autour du même axe ?

Posté par
GBZM
re : Coordonnées après Rotation d'un point autour d'un axe et d' 19-12-20 à 07:28

Je vois le bug :  R est la matrice de rotation vectorielle, mais la rotation que tu considères n'a pas un axe passant par l'origine.
Pour calculer l'image de M par la rotation d'axe (AB), tu dois calculer par exemple
\large B+ R\;\vec{BM} .

Je trouve comme résultat de ce calcul :

(2.52874623219472, 7.34627501493001, -2.55000849884989)

Posté par
Roudaille
re : Coordonnées après Rotation d'un point autour d'un axe et d' 19-12-20 à 13:15

GBZM @ 19-12-2020 à 07:28

Je vois le bug :  R est la matrice de rotation vectorielle, mais la rotation que tu considères n'a pas un axe passant par l'origine.
Pour calculer l'image de M par la rotation d'axe (AB), tu dois calculer par exemple
\large B+ R\;\vec{BM} .

Je trouve comme résultat de ce calcul :
(2.52874623219472, 7.34627501493001, -2.55000849884989)


Merci ! C'est tout bon. En effet il me manquait bien une dernière étape pour se rapporter à l'origine !
\large B+ R\;\vec{BM}

Problème résolu ! Encore un grand merci GBZM !

Posté par
GBZM
re : Coordonnées après Rotation d'un point autour d'un axe et d' 19-12-20 à 13:25

Avec plaisir.



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !