初学者四元数说明

Beginner Quaternion clarification

我正在尝试以编程方式可视化矢量点,但我想阐明我的输出结果。

如果一个向量p = i = [1,0,0]绕x轴旋转90度,则四元数q为:q = cos(45) + [1,0,0]*sin(45) = 0.707 + 0.707*i.

pn = qpq-1;

现在计算pn(0.707+0.707*i)(i)(0.707-0.707*i) = i

因此,旋转矢量 pn = [1,0,0]。即 p=pn.

p=pn是否正确?如果是任何人都可以解释一下吗?或者这是一个特殊的 属性 四元数?

在您提供的示例中,您基本上是围绕自身旋转矢量(即旋转轴等于旋转矢量,在本例中为 [1,0,0])。正如评论中所说,无论旋转角度如何,围绕自身旋转一个矢量都会使其保持原样。

试试你的例子,其中旋转矢量沿 y 轴 [0,1,0],旋转轴为 [1,0,0]。也许 this 可以帮助您想象一些基本的旋转。

此外,请注意使用单位四元数 q 的向量 v 的旋转由下式给出:

Imaginary{q * [0, v_x, v_y, v_z] * conjugate(q)}