2014-04-28 8 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 기본 사항을 이해해야합니다.