在球体表面上绘制点

时间:2018-05-12 14:41:59

标签: python opengl math

我正在尝试制作一个由点组成的球体表面。我已经弄清楚如何用点制作圆形表面,但不知道如何使用它来构建球体。我用一个代码来制作一个圆圈。这里也是circle的例子。我用opengl库来绘制。

HashMap<String, Icon>

1 个答案:

答案 0 :(得分:1)

使用2个嵌套循环计算 Horizontal coordinate system

的方位角和高度角
def DrawSphere():
    glBegin(GL_POINTS)
    glVertex3d(0, -1, 0)          # south pole
    for i in range(-90+10,90,10): # -90 to 90 south pole to north pole
        alt = math.radians(i)
        c_alt = math.cos(alt)
        s_alt = math.sin(alt)
        for j in range(0,360,10): # 360 degree (around the sphere)
            azi = math.radians(j)
            c_azi = math.cos(azi)
            s_azi = math.sin(azi)
            glVertex3d(c_azi*c_alt, s_alt, s_azi*c_alt)
    glVertex3d(0, 1, 0)           # north pole
    glEnd()