Calculer matrice rotation, axe quelconque

Signaler
Messages postés
150
Date d'inscription
dimanche 28 septembre 2003
Statut
Membre
Dernière intervention
17 mars 2009
-
Messages postés
150
Date d'inscription
dimanche 28 septembre 2003
Statut
Membre
Dernière intervention
17 mars 2009
-
Bonjour,
je suis en train de faire un petit moteur 3D de A à Z.
J'aimerai bien calculer un matrice rotation à partir de n'importe quel axe. Je sais déjà calculer la matrice roation de l'axe X, Y et Z.

Merci!

2 réponses

Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
T'as de la chance, j'avais écris la formule théorique dans ma lib de matrice.

Voila la formule:

   

//         |
Ux²+Ca*(1-Ux²)        
     Ux*Uy*(1-Ca)-Uz*Sa    
Ux*Uz*(1-Ca)+Uy*Sa |

//[R] = | Ux*Uy*(1-Ca)+Uz*Sa   
Uy²+Ca*(1-Uy²)             
Uy*Uz*(1-Ca)-Ux*Sa |

//         |
Ux*Uz*(1-Ca)-Uy*Sa    
Uy*Uz*(1-Ca)+Ux*Sa         
Uz²+Ca*(1-Uz²)     |


Avec Ux, Uy, Uz les composantes du vecteur de rotation. Je me rappelle
pas s'il faut qu'il soit normé ou pas. Je sais pas si ca a une
influence sur la formule. Dans le doute, norme d'abord ton vecteur,
puis tu verras bien si t'obtiens la meme chose, sans le normer.


Ca = cos(alpha) avec alpha l'angle de rotation.

Sa = sin(alpha).
Messages postés
150
Date d'inscription
dimanche 28 septembre 2003
Statut
Membre
Dernière intervention
17 mars 2009

Merci.