【发布时间】:2013-12-13 13:40:06
【问题描述】:
我正在使用 [w x y z] 形式的四元数旋转点。我的初始四元数是身份[1 0 0 0]。
当我按下 Q 时,我将当前的四元数乘以 [0.1 0 1 0] 以围绕 y 轴旋转。这在大多数情况下都能正常工作。
但是,如果我继续旋转(只要我按住 Q),我正在旋转的矩形会不断地来回翻转,从而产生自身的幽灵般的图像。它看起来好像在向前、向后、向前、向后、向前、向后等绘制自己。
以下是我用来从四元数生成变换矩阵的代码:
1 - 2yy - 2zz 2xy - 2wz 2xz - 2wy
2xy + 2wz 1 - 2xx - 2zz 2yz - 2wx
2xz - 2wy 2yz + 2wx 1 - 2xx - 2yy
不过,正如我所说,它似乎正在正确旋转。它只是非常快速地来回翻转。 (如此之快,我无法捕捉到问题的 GIF 动画。)
可能是什么问题?
【问题讨论】:
-
你知道'0.1'角度是弧度而不是度数吗?
-
@and 是的 - 它以不错的速度旋转。除了旋转量之外,这是否会影响其他任何因素?
-
另外,你是否确保向量部分是标准化的(即单位长度)?
-
你的问题没有太多细节,所以我只是提一些可能有帮助的常见问题。
-
@我明白了,谢谢。我确实在乘法后归一化。
标签: math language-agnostic quaternions