我正在尝试在 OpenGL 中获取相机在各个轴上的旋转(但具体使用 Java、LWJGL 和 jME)。相机对象允许我获得 Vector3f 的方向,但这似乎无法获得组件化的旋转;每个轴似乎都与另一个轴相关联。我发现带有带偏移量的角度分量的 toAngleAxis 是一个快速的 hack,但在大多数情况下不能正常工作。不幸的是,我的数学不太好,否则我可能已经能够解决这个问题 :) 同样,我只需要将 X、Y 和 Z 轴组件化并以弧度表示,从 0 弧度到 2 PI 弧度。
有人能帮忙吗?
提前干杯和感谢, 克里斯
最佳答案
我建议阅读有关欧拉角、偏航/俯仰/滚动和四元数方向的内容。这些主题将帮助您了解所涉及的一切。如果我没理解错的话,您是在尝试从指定的方向构造欧拉角。
查看此 code for some algorithms用于处理欧拉角。特别是,我相信您想要的是 setDirection 方法。
这将为您提供方向 vector 的偏航和俯仰。但是请注意,您只需要旋转 2 次,因为“滚动”需要围绕方向 vector 旋转(或您指定为单个四元数旋转的方向)。
关于java - 在 OpenGL 中获取相机在 X、Y 和 Z 轴上的弧度旋转?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/993332/