J'essaie de faire une simulation d'hélicoptère simplifiée (pour le moment, c'est un cube) en 3D et j'ai des problèmes de rotation. Un hélicoptère peut pivoter selon les trois axes:
- tourner sur lui-même à l'aide de l'hélice arrière: rotation de l'axe y
- incliner à gauche et à droite pour aller à gauche ou à droite: rotation de l'axe z
- incliner vers le haut et vers le bas pour reculer ou avancer: rotation de l'axe x
J'ai besoin de pouvoir contrôler chaque axe individuellement. Jusqu'à présent, j'ai essayé d'utiliser des angles euler, mais quel que soit l'ordre de rotation que j'utilise, je tombe sur un verrou de cardan ou sur certains axes "changer de place".
Il me semble que j'ai besoin d'utiliser des quaternions, mais je ne sais pas comment contrôler chaque axe individuel, car les quaternions utilisent une direction et un angle. Dois-je créer trois quaternions et les multiplier ensemble? Ne pourrais-je pas me retrouver avec les mêmes problèmes?
La chose étrange est que si j'utilise mon doigt pour représenter les trois axes de mon hélicoptère (pouce vers le haut = y, index = z, milieu = x), je ne semble pas rencontrer ces problèmes. Pourquoi?