Bonjour,
Je fais face à un petit problème sur des rotations de repères et de vecteurs :
J’ai en entrée un assemblage A contenant des pièces Pi (les Pi n'ont pas de mouvement relatif par rapport à A).
J'ai accès à la matrice d'orientation et à l'origine de A à l'instant t=0. De même pour les Pi.
J'ai également accès à la matrice d'orientation et à l'origine de A au cours du temps.
Mon objectif est de trouver la position et l'orientation de chaque Pi à un instant t.
Donc, pour une Pi, à un instant t on a les données suivantes :
MA0 la matrice d'orientation de A à t=0
PA0 l'origine de A à t=0
MAt la matrice d'orientation de A à t
PAt l'origine de A à t
MPi0 la matrice d'orientation de Pi à t=0
PPi0 l'origine de Pi à t=0
Je cherche donc MPit, la matrice d'orientation de Pi à t, et PPit, l'origine de Pi à t.
La méthodologie que j'applique :
Je calcule la matrice de rotation de MA0 à MAt telle que MRot = MAt * MA0-1MA0 * MAt-1
Je calcule la matrice d'orientation de Pi à t telle que MPit = MRot * MPi0
(Basé sur https://jeux.developpez.com/faq/math...formations#Q40)
Je calcule le vecteur entre PA0 et PPi0 tel que V = PA0PPi0
J'applique la rotation de A au vecteur : VRot = MRot * V
Je calcule PPit = VRot + PAt
J'ai donc MPit et PPit.
A t=0 je retrouve bien les coordonnées initiales (rien d'anormal vu que MRot est la matrice identité), mais dès que je prends t<>0 je trouve des résultats incohérents.
J'ai beau chercher, je ne trouve pas où est mon erreur.
Si une âme charitable est en mesure d'éclairer ma lanterne !
Merci,
Partager