0

在我的 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));
}

我究竟做错了什么?

4

1 回答 1

0

如果您想正确和完整地看到它,您的对象必须完全位于您的截锥体内。修改您的(透视或正交)投影矩阵以使其工作。我提醒您,使用 JOGL 2 需要真正了解 OpenGL 基础知识。

于 2014-04-29T11:28:23.407 回答