Java opengl摄影机围绕对象旋转

Java opengl摄影机围绕对象旋转,java,android,opengl-es-2.0,Java,Android,Opengl Es 2.0,我在和代码搏斗,让它绕着物体旋转摄像机。我使用的代码是: eyeX=(float)(obj.x+500*Math.cos(Math.toRadians(angle))*Math.sin(Math.toRadians(angle)); eyeY=(float)(对象y+500*Math.sin(Math.toRadians(angle))*Math.sin(Math.toRadians(angle)); eyeZ=(浮点数)(对象z+500*Math.cos(Math.toRadians(角度))

我在和代码搏斗,让它绕着物体旋转摄像机。我使用的代码是:

eyeX=(float)(obj.x+500*Math.cos(Math.toRadians(angle))*Math.sin(Math.toRadians(angle));
eyeY=(float)(对象y+500*Math.sin(Math.toRadians(angle))*Math.sin(Math.toRadians(angle));
eyeZ=(浮点数)(对象z+500*Math.cos(Math.toRadians(角度));
setLookAtM(mViewMatrix,0,eyeX,eyeY,eyeZ,obj.x,obj.y,obj.z,0,1,0)


其中obj是我想要旋转相机的模型,每次画图时角度增加1。有人能解释一下这个问题吗,我做错了什么?

你想实现什么样的摄像机运动? 如果要在保持恒定高度的同时在XZ平面上旋转obj,应执行以下操作:

eyeX=(浮动)(对象x+500*Math.cos(Math.toRadians(角度))

eyeY=(float)(y0);//恒定高度

eyeZ=(浮点)(对象z+500*Math.sin(Math.toRadians(角度))


另外,如果y0!=0,那么(0,1,0)不是一个正确的“向上”向量,它会扭曲您的视图。

不,它仍然没有帮助。