【发布时间】:2011-06-13 00:34:27
【问题描述】:
首先,我已经做了很多谷歌搜索并检查了有关此问题的其他 stackoverflow 帖子,但无法获得有效的回复或有效代码的 sn-p。数学不是我的强项。
我需要一个例程来获取一个相机点 (CX,CY,CZ) 并将其围绕一个观察点 (LX,LY,LZ) 旋转三个旋转角度 (RX,RY,RZ)。在某些我需要避免的情况下,使用欧拉旋转会导致万向节锁定。所以我听说了使用四元数。
我发现这可以将旋转转换为四元数 http://www.euclideanspace.com/maths/geometry/rotations/conversions/eulerToQuaternion/index.htm
这可以从四元数转换回欧拉 XYZ 旋转 http://www.euclideanspace.com/maths/geometry/rotations/conversions/quaternionToEuler/index.htm
它们似乎工作正常,但我需要知道如何使用四元数将 CX、CY、CZ 围绕 LX、LY、LZ 旋转,然后返回新的 CX、CY、CZ 而不会出现万向节锁定问题。
关于这方面的内容太多了,我相信一个好的解释和 sn-p 的代码不仅会帮助我,而且会在未来帮助许多其他人。
所以,如果可以的话,请提供帮助。非常感谢。
【问题讨论】: