【问题标题】:Viewing an object while sitting on a sphere坐在球体上查看对象
【发布时间】:2014-04-28 14:28:48
【问题描述】:

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

我做错了什么?

【问题讨论】:

    标签: jogl frustum


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-09
      • 1970-01-01
      • 2014-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-17
      相关资源
      最近更新 更多