public Camera setOrbit(float angleX,float angleY,float distance) {
float y = (float)Math.sin(Math.toRadians(angleY)) * distance;
float h = (float)Math.cos(Math.toRadians(angleY)) * distance;
float x = (float)Math.sin(Math.toRadians(angleX)) * h;
float z = (float)Math.cos(Math.toRadians(angleX)) * h;
mPosition = new Float3(x,y,z);
return this;
}
思路
一开始的时候是x=sin(angleX),y=sin(angleY),z=cos(angleX),发现Y轴的视野上不去,于是改变思路
通过sin和cos求出y以及x,z轴上的斜边h,再分别乘上angleX的sin和cos,得到x,z坐标
p.s.h是BC的值


![[Java] [OpenGL ES3.2] 环绕相机 [Java] [OpenGL ES3.2] 环绕相机](http://www.mshxw.com/aiimages/31/716138.png)
