Java 基于摄像机偏航的三维运动

Java 基于摄像机偏航的三维运动,java,opengl,Java,Opengl,我有相机的滚动、偏航、俯仰、x、y和z,我需要根据WASD键更改位置。例如,如果偏航为0,我按W,则x增加1,z不变。如果偏航为90,则z增加1,偏航的所有值为0-360 我只需要一个公式就可以了。我有一个很好的想法,我将如何改变向后移动,左,右,等等。。。我只是不知道会是什么 我环顾四周,没有看到任何有效的解决方案,我尝试了使用trig(cos和sin)的两种不同方法,但我知道我需要使用矩阵。这段代码为我修复了它 (float)Math.sin(Math.toRadians(yaw)); 边

我有相机的滚动、偏航、俯仰、x、y和z,我需要根据WASD键更改位置。例如,如果偏航为0,我按W,则x增加1,z不变。如果偏航为90,则z增加1,偏航的所有值为0-360

我只需要一个公式就可以了。我有一个很好的想法,我将如何改变向后移动,左,右,等等。。。我只是不知道会是什么


我环顾四周,没有看到任何有效的解决方案,我尝试了使用trig(cos和sin)的两种不同方法,但我知道我需要使用矩阵。

这段代码为我修复了它

(float)Math.sin(Math.toRadians(yaw));

边缘有点粗糙,但很好。

我仍在寻找解决方案,我不知道如何做到这一点。我完全不知道。当你理解它时,看看答案的底部,有C++和相机控制的链接(这就是你正在做的)…此外,这可能会很有帮助(如果您还希望对某些对象使用鼠标控制)