在我的 JOGL 程序中,我在 (0,0,0) 处有一个对象。我正在使用球坐标来修改角度 theta(倾角)和 phi(旋转)以在原点查看我的对象,但我无法正确查看它。有时物体在某些角度变得不可见,我无法从各个角度查看。
这是我的代码:
void decTheta()
{
theta--;
ex = distance*Math.sin(Math.toRadians(theta))*Math.cos(Math.toRadians(phi));
ez = distance*Math.sin(Math.toRadians(theta))*Math.sin(Math.toRadians(phi));
ey = distance*Math.cos(Math.toRadians(theta));
}
void incTheta()
{
theta++;
ex = distance*Math.sin(Math.toRadians(theta))*Math.cos(Math.toRadians(phi));
ez = distance*Math.sin(Math.toRadians(theta))*Math.sin(Math.toRadians(phi));
ey = distance*Math.cos(Math.toRadians(theta));
}
void incPhi()
{
phi++;
ex = distance*Math.sin(Math.toRadians(theta))*Math.cos(Math.toRadians(phi));
ez = distance*Math.sin(Math.toRadians(theta))*Math.sin(Math.toRadians(phi));
ey = distance*Math.cos(Math.toRadians(theta));
}
void decPhi()
{
phi--;
ex = distance*Math.sin(Math.toRadians(theta))*Math.cos(Math.toRadians(phi));
ez = distance*Math.sin(Math.toRadians(theta))*Math.sin(Math.toRadians(phi));
ey = distance*Math.cos(Math.toRadians(theta));
}
我究竟做错了什么?