我试图以编程方式可视化矢量点,但是我想弄清楚我的输出结果。
如果向量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
是否正确?如果可以的话,有人可以解释吗?还是这是四元数的特殊性质?
答案 0 :(得分:0)
在您提供的示例中,您基本上围绕自身旋转了一个矢量(即,旋转轴等于旋转的矢量,在这种情况下为[1,0,0])。如评论中所述,不管旋转角度如何,围绕其自身旋转矢量都会使其保持完整。
尝试您的示例,其中旋转的矢量沿y轴[0,1,0],旋转轴为[1,0,0]。也许this可以帮助您可视化一些基本旋转。
另外,请注意,使用单位四元数v
的向量q
的旋转由下式给出:
Imaginary{q * [0, v_x, v_y, v_z] * conjugate(q)}