faire tourner un quaternion sur 1 axe?
J'ai un modèle en rotation par un quaternion. Je ne peux définir la rotation, je ne peux pas ajouter ou enlever quoi que ce soit. J'ai besoin d'obtenir la valeur d'un axe, et que d'ajouter un angle (peut-être un degré ou en radian?) et de rajouter de la modification de quaternion.
Comment puis-je faire cela? (réponse sur chaque axe).
source d'informationauteur William
Vous devez vous connecter pour publier un commentaire.
Vous pouvez multiplier deux quaternions ensemble pour produire un troisième quaternion qui est le résultat de deux rotations. Notez que la multiplication des quaternions n'est pas commutative, sens de l'ordre des questions (si vous le faites dans votre tête quelques fois, vous pouvez voir pourquoi).
Vous pouvez produire un quaternion qui représente une rotation d'un certain angle autour d'un axe particulier avec quelque chose comme ça (excusez le fait que c'est du c++, pas de java):
De manière à pivoter autour de l'axe x par exemple, vous pouvez créer un quaternion avec
createFromAxisAngle(1, 0, 0, M_PI/2)
et de le multiplier par le quaternion de rotation actuelle de votre modèle.Fait une runable code de sje397 post pour tester d'autres détails plus tard, pensé que je voudrais partager. Finalement, à l'aide de C la raison pour laquelle aucun Quaternion classe.
Sortie