Я использовал их в качестве черного ящика некоторое время, я просто изучаю математику, но я просто хотел бы получить некоторые окончательные ответы на этот вопрос.
Пока что единственное преимущество, с которым я столкнулся лично, - это возможность SLERP между двумя углами - для достижения того же эффекта с вектором вам нужно довольно уродливое решение (внутренне связывая 0 и 2PI вместе).
mathematics
quaternion
SirYakalot
источник
источник
Ответы:
Кватернионы решают несколько проблем элегантно:
Вы можете обойти эти проблемы с другими представлениями, но кватернионы хорошо подходят для их алгоритмической простоты и производительности.
источник
Interpolation works from any start to end angle without special casing
, на самом деле есть особый случай, когда они не находятся в одном и том же полушарии гиперсферы, это на самом деле особый случай, который вы должны рассмотреть, так как всегда есть 2 направления для интерполяции к цели, и вы хотите выбрать правильныйThey never exhibit gimbal lock
- это не совсем так. Они могут просто размножатьсяq(Xaxis, 0) * q(YAxis, 90) * q(Zaxis, 20)
. Правда, они могут использоваться, чтобы избежать блокировки карданного подвеса, но могут быть использованы матрицы, углы оси и другие. Так что это не уникальное свойство кватернионов. Фактически вы можете сделать это с большинством представлений вращения, но с углами Эйлера. Единственное верное сообщение здесь может быть «Эйлер Энглз страдает от блокировки карданного подвеса», но этому могут помочь многие другие представления вращения, а не только кватернионы.Упомянутое вами использование SLERP является частным случаем более общего атрибута кватернионов: вы можете плавно интерполировать различные значения вращения.
При интерполяции значений поворота эйлеровых углов вы получаете странные движения, и логически нет никакого способа интерполировать значения поворотов по осям (ну, кроме двух разных углов вокруг одной и той же оси).
источник