一段时间以来,我一直试图弄清楚如何在3D空间中使用jogl正确旋转对象。我的目标是鼠标在向左和向右移动时沿Y轴水平旋转对象,并在向上和向下移动时沿X轴垂直移动。我还想要一个按钮,它将沿Z轴旋转物体。
我已经有3个角度来旋转我的物体,但是每个旋转都会移动物体的所有三个轴。应用第一次旋转后,第二次旋转将不会正确发生,因为第二次轴不再位于同一位置。
我搜索了一个解决方案,但人们非常不清楚和非特定的,经常链接与该问题无关的文章。
目前我正在使用
gl.glRotatef(angleX, 1, 0, 0);
gl.glRotatef(angleY, 0, 1, 0);
gl.glRotatef(angleZ, 0, 0, 1);
但正如我之前所说,这对我想做的事情不起作用。 当应用第一次旋转时,由于轴被更改,其他旋转将被抛弃。
如何在假装轴处于恒定位置的情况下旋转对象(与其不同,因为它不断移动)。