2014-04-28 95 views
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)); 
} 

我在做什麼錯了?

回答

0

如果您想正確完整地看到它,您的對象必須完全位於您的平截頭體內。修改您的(透視或正交)投影矩陣以使其工作。我提醒你,使用JOGL 2需要真正理解OpenGL的基礎知識。