小编use*_*462的帖子

在四元数标准化期间保持旋转

我一直在为即将到来的项目研究四元数,并遇到了一个我无法理解的概念问题。

四元数标准化的方法如下:

q_mag = sqrt(q0^2+q1^2+q2^2+q3^2)
q0 = q0/q_mag  
q1 = q1/q_mag   
q2 = q2/q_mag  
q3 = q3/q_mag
Run Code Online (Sandbox Code Playgroud)

直接,就像标准化任何其他向量一样。但我的问题是这种归一化方法如何保留相同的旋转信息。使用表示轴角表示的四元数的定义,如下所示,

angle = 2 * acos(q0)
x = qx / sqrt(1-q0*q0)
y = qy / sqrt(1-q0*q0)
z = qz / sqrt(1-q0*q0)
Run Code Online (Sandbox Code Playgroud)

由于归一化操作会同等缩放 x、y、z 值,因此旋转所围绕的轴永远不会改变。但角度本身的值会随着归一化操作而发生巨大变化。

那么使用保留 q0 值并仅调整其他点以达到归一化的方法不是更有意义吗?

quaternions

4
推荐指数
1
解决办法
2762
查看次数

标签 统计

quaternions ×1