-
Rotations
Bonjour!
J'effectue des rotations sur un objet via la matrice D3DTS_WORLD.
Ces rotations sont gérées via la souris :
- la souris monte ou descend, rotation sur X
- la souris va à gauche ou droite, rotation sur Y
Le problème, c'est qu'une fois l'objet tourné sur X d'un quart de tour par exemple, monter la souris incline l'objet mais vers la droite, et non vers le fond comme si les axes avaient également été déplacés. Est-ce réellement le cas? Comment puis-je contourner le problème?
Merci d'avance :wink:
-
tu dois travailler de manière incrémentale.
Rn = Rn-1 * Delta(R).
Delta(R) c'est la rotation induite par ton mouvement de souris. Rn-1 c'est ta rotation actuelle.
-
Merci :D mais maintenant j'utilise des quaternions et tout marche mieux :)
Enfin, j'utilise, j'utilise, c'est vite dit :wink: en fait je me sers de la classe CD3DArcBall fournie avec le SDK de DirectX. C'est assez efficace :)
-
je voudrais juste rajouter que le problème est exactement le meme avec des quaternions qu'avec des matrices..
Mais bon. voilà quoi.
-
Ah... Je pensais que non vu que l'axe autour duquel tourne le quaternion est arbitraire, alors qu'avec les matrices c'étaient les axes standards...
En tous cas merci CD3DArcBall car maintenant ça marche :)