java - 在 OpenGL 中获取相机在 X、Y 和 Z 轴上的弧度旋转?

标签 java opengl 3d rotation jmonkeyengine

我正在尝试在 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/

相关文章:

java - 在光线追踪中,像平面在哪里?

java - JPA persistence.xml - 从引用的库添加 DAO

java - 如何将 Spark 数据帧输出转换为 json?

按像素区域进行 OpenGL 纹理映射

c++ - 在 OpenGL 中为 freetype 设置模型矩阵时类似笔的行为

OpenGL Shader 阻止优化器移除属性/制服

java - 在java中等于和==行为

java - 需要从 List<String[]> 转换为数组的帮助

r - 在 r 中具有 Plot_ly 的 3D 曲面,具有 x、y、z 坐标

flash - 具有预定义结果的逼真掷骰子动画