Je les utilise comme boîte noire depuis un certain temps, j'apprends juste des maths mais j'aimerais juste des réponses définitives à cette question.
Jusqu'à présent, le seul avantage que j'ai rencontré personnellement est la possibilité de SLERP entre deux angles - pour obtenir le même effet avec un vecteur dont vous avez besoin d'un travail assez laid (reliant intrinsèquement 0 et 2PI ensemble).
mathematics
quaternion
SirYakalot
la source
la source
Réponses:
Les quaternions résolvent élégamment quelques problèmes:
Vous pouvez contourner ces problèmes avec d'autres représentations, mais les quaternions conviennent parfaitement à leur simplicité algorithmique et à leurs performances.
la source
Interpolation works from any start to end angle without special casing
, il y a en fait un cas spécial, quand ils ne sont pas sur le même hémisphère de l'hypersphère, c'est en fait un cas spécial que vous devez considérer, car il y a toujours 2 directions pour interpoler vers la cible et vous voulez choisir la bonneThey never exhibit gimbal lock
- ce n'est pas tout à fait vrai. Ils peuvent simplement se multiplierq(Xaxis, 0) * q(YAxis, 90) * q(Zaxis, 20)
. Il est vrai qu'ils peuvent être utilisés pour éviter le verrouillage du cardan, mais il en va de même pour les matrices, les angles d'axe et autres. Ce n'est donc pas une propriété unique des quaternions. En fait, vous pouvez le faire avec la plupart des représentations de rotation, mais avec des angles d'euler. Le seul vrai message ici peut être "Euler engles souffre du verrouillage du cardan", mais il peut être évité par de nombreuses autres représentations de rotation, pas seulement les quaternions.L'utilisation SLERP que vous mentionnez est un cas spécifique d'un attribut plus général de quaternions: vous pouvez interpoler en douceur entre différentes valeurs de rotation.
Lorsque vous interpolez les valeurs de rotation des angles d'Euler, vous obtenez des mouvements étranges, et il n'y a tout simplement pas de moyen logique d'interpoler les valeurs des rotations d'angle à angle (enfin, à part deux angles différents autour du même axe).
la source