Что такое вращение кватерниона?
-
26-09-2019 - |
Вопрос
Вращение кватерниона просто вектор с x, y, z, который объект будет вращаться в сторону, и рулон, который поворачивает объект на оси?
Это так просто?
Значение, если у вас есть x = 0, z = 0 и y = 1, объект будет стоять вверх?
И если у вас есть y = 0, z = 0 и x = 1, объект столкнутся с правом?
(предполагая x правый, y вверх и z глубина)
Решение
Кватернион имеет 4 компонента, которые могут быть связаны с углом θ и вектор оси N.. Отказ Вращение заставит объект вращаться вокруг оси N. под углом θ.
Например, если у нас есть кубик, как
______
|\ 6 \
| \_____\ z
|5 | | : y ^
\ | 4 | \|
\|____| +--> x
Затем вращение на 90 ° вокруг оси (x = 0, y = 0, z = 1) будет поворачивать лицо «5» слева на передней части.
______
|\ 6 \
| \_____\ z
|3 | | : x ^
\ | 5 | \|
\|____| y<--+
(Примечание. Это ось / угловое описание вращения, которое является то, что OP смущает. Для того, как кватернион применяется к вращению, см. http://en.wikipedia.org/wiki/quaternions_and_spatial_rotation.)
Другие советы
А. кватернион В целом представляет собой расширение комплексного числа в 4 измерения. Так что нет, они не просто X, Y и Z и угол, но они близки. Подробнее ниже ...
Quaternions можно использовать для представлять вращение, Так что они полезны для графики:
Установка кватернионов обеспечивает удобную математическую обозначение для представления ориентаций и вращений объектов в трех измерениях. По сравнению с углами Эйлера они проще, чтобы составить и избежать проблемы блокировки Гимбала. По сравнению с матрицами вращения они более численно стабильны и могут быть более эффективными.
Так каковы 4 компонента и Как они относятся к вращению?
Точка [единичного кватерниона] (W, x, y, z) представляет вращение вокруг оси, направленной на вектор (x, y, z) под углом alpha = 2 cos-1 W = 2 грех-1 SQRT (X.2+ Y.2+ З.2).
Так вернемся к вашему вопросу,
Значение, если у вас есть x = 0, z = 0 и y = 1, объект будет стоять вверх?
Нет ... Объект будет вращаться вокруг этого <0,1,0>
Вектор, то есть он будет вращаться вокруг оси Y, поворачивая против часовой стрелки, как видно сверху, если ваша графическая система использует правую вращение. (И если мы подключим W = SQRT (1 - (0 + 1 + 0)), ваша единица QUATERNION составляет (0,0,1,0), и он будет вращаться под углом 2 COS-10, = 2 * 90 градусов = 180 градусов или PI Radians.)
И если у вас есть y = 0, z = 0 и x = 1, объект столкнутся с правом?
Это будет вращаться вокруг вектора <1,0,0>
, ось X, поэтому она будет вращаться против часовой стрелки, как видно из положительного направления X (например, справа). Таким образом, верх поворачивается (на 180 градусов, поэтому он будет вращаться до тех пор, пока не сталкивался вниз).