Рисование точек на поверхности сферы - PullRequest
0 голосов
/ 12 мая 2018

Я пытаюсь сделать поверхность сферы, состоящей из точек.Я понял, как сделать круговую поверхность из точек, но не знаю, как использовать это для построения сферы.Есть код, который я использую, чтобы сделать круг.И вот также пример круга .Я использую библиотеку opengl для рисования.

def DrawCircle():
glBegin(GL_POINTS)
for i in range(0,300,10):
    angle = 2 * 3.14 * i / 300
    x = cos(angle)
    y = sin(angle)
    glVertex3d(x, y, 0)
glEnd()

1 Ответ

0 голосов
/ 12 мая 2018

Используйте 2 вложенных цикла для вычисления азимута и угла высоты Горизонтальная система координат

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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...