Partage
  • Partager sur Facebook
  • Partager sur Twitter

Matrice de Rotation et angles d'euler

Générer des angles d'euler à partir de 3 vecteurs d'entrée & de sortie

4 mai 2020 à 10:05:44

Bonjour,
Pour un logiciel d'animation 3D j'ai besoin de faire le passage d'un repère à un autre.

Je connais les coordonnées de 3 points dans le repère O'x'y'z' (en fait les 3 pts se trouvent dans le plan O'x'y'); et je connais les coordonnées de ces 3 points dans le repère initial Oxyz.

A partir de ça j'aimerais obtenir les angles d'Euler pour passer du repère O'x'y'z' au repère Oxyz. 

Je rencontre quelques difficultés pour le faire. Pensez-vous que c'est possible et auriez-vous des idées ?

-
Edité par SarahCode&maths 4 mai 2020 à 10:06:28

  • Partager sur Facebook
  • Partager sur Twitter
15 juin 2020 à 5:21:59

Bonjour Sarah,

oui c'est possible je pense. L'enoncé n'est pas forcement evident, mais si tu as tes 2 reperes, il te suffit de calculer l'offset entre les deux, en construisant une matrice pour O'x'y'z' (appelons la A) et une autre pour Oxyz (B). L'offset sera A * B.inverse().

De la, il te suffit de multiplier tes 3 points par ton offset matrix. Par contre, je ne suis pas sur de la raison pour laquelle tu veux extraire les valeurs euler pour ca, en general on evite de bosser en euler pour tous les soucis que ca pose (gimbal lock en tete), on veut garder des matrices, ou au pire des quaternions. Si vraiment tu veux les euler, tu dois avoir une api qui te permet de convertir une matrix de rotation en euler si tu fournis le rotate order, et si tu dois le faire toi-meme, je ne connais pas la formule par coeur mais ca se trouve facilement en ligne

  • Partager sur Facebook
  • Partager sur Twitter