什么是四元数旋转?

Rob*_*cks 19 3d angle rotation quaternions

四元数旋转只是一个带有X,Y,Z的矢量,物体将朝哪个方向旋转,还有一个滚动条可以将物体转动到它的轴上?

这么简单吗?

意思是如果X = 0,Z = 0且Y = 1,对象将面朝上?
如果你有Y = 0,Z = 0和X = 1,对象将面向右边?

(假设X右,Y向上和Z深度)

ken*_*ytm 44

四元数具有4个分量,其可以与角度θ和轴向量n相关.旋转将使物体绕轴线n旋转角度θ.

例如,如果我们有一个像多维数据集

 ______
|\  6  \
| \_____\     z
|5 |    | : y ^
 \ | 4  |    \|
  \|____|     +--> x
Run Code Online (Sandbox Code Playgroud)

然后围绕轴旋转90°(x = 0,y = 0,z = 1)将使"5"面从左向前旋转.

 ______
|\  6  \
| \_____\      z
|3 |    | :  x ^
 \ | 5  |     \|
  \|____|  y<--+
Run Code Online (Sandbox Code Playgroud)

(注意:这是旋转的轴/角度描述,这是OP混淆的.有关如何将四元数应用于旋转,请参阅http://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation)


Lar*_*rsH 18

四元数一般是延伸的复数的成4种尺寸.所以不,它们不仅仅是x,y和z,还有一个角度,但它们很接近.更多......

四元数可用于表示旋转,因此它们对图形有用:

单位四元数提供了方便的数学符号,用于表示三维物体的方向和旋转.与欧拉角相比,它们更容易构成并避免万向节锁定的问题.与旋转矩阵相比,它们在数值上更稳定并且可能更有效.

那么4个组件是什么?它们与旋转有什么关系?

[单位四元数]点(w,x,y,z)表示围绕轴的旋转,由矢量(x,y,z)指向角度α= 2 cos -1 w = 2 sin -1 sqrt(x 2 + y 2 + z 2).

那么回到你的问题,

意思是如果X = 0,Z = 0且Y = 1,对象将面朝上?

否......对象将围绕此<0,1,0>向量旋转,即它将围绕y轴旋转,如果您的图形系统使用右旋转,则从上方看逆时针旋转.(如果我们插入w = sqrt(1 - (0 + 1 + 0)),你的单位四元数是(0,0,1,0),它将旋转角度2 cos -1 0,= 2*90度= 180度或pi弧度.)

如果你有Y = 0,Z = 0和X = 1,对象将面向右边?

这将围绕矢量<1,0,0>x轴旋转,因此它将从正x方向(例如右)看逆时针旋转.所以顶部会向前转(180度,所以它会旋转直到面朝下).