Вопрос

Вращение кватерниона просто вектор с 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 градусов, поэтому он будет вращаться до тех пор, пока не сталкивался вниз).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top