首先,我做了大量的搜索和检查其他stackoverflow这篇文章,但无法得到工作的答复或工作代码片段。数学不是我的力量。我需要一个例程,它需要一个相机点(CX,CY,CZ),并将它围绕一个观察点(LX,LY,LZ)旋转三个旋转角度(RX,RY,RZ)。在某些我需要避免的情况下使用欧拉旋转会导致万向节锁定。所以我听说过使用四元数。使用四元数旋转3D欧拉点,以避免万向锁
我发现这的旋转转换成四元数 http://www.euclideanspace.com/maths/geometry/rotations/conversions/eulerToQuaternion/index.htm
,这从四元数转换回欧拉XYZ旋转 http://www.euclideanspace.com/maths/geometry/rotations/conversions/quaternionToEuler/index.htm
他们似乎很好地工作,但我需要知道如何使用四元数在LX,LY,LZ周围旋转CX,CY,CZ,然后返回新的CX,CY,CZ而不会出现万向锁定问题。
有这么多关于这个,我相信一个很好的解释和代码片段将不仅有助于我,但在未来的许多其他人。
所以,如果可以,请帮助。非常感谢。
感谢您的提示。因此,如果将欧拉转换为qualternion仍会导致万向节锁定,那么如何在3D空间中将相机位置旋转并无任何问题地进行旋转?如果我有XYZ相机位置和旋转角度?我假设我没有看到整个图像,但是应该有一个简单的方法来拍摄相机位置并在没有万向节锁的情况下同时围绕所有3个轴旋转它?还是那个天真? – TallGuy 2011-06-17 13:18:12