Алгоритм рисования сферы Python

Приведенный ниже код представляет собой алгоритм для рисования сферы в opengl без использования glutsphere. Аргументы такие же, как и в glutsphere(). Но я не могу понять этот код. Может кто-нибудь, пожалуйста, объясните мне этот код. Как это работает и рисовать сферу?

def draw(radius,lats,longs) :
    for i in range(0,lats):
        lat0 = math.pi*(-0.5 + float((i-1))/lats)
        z0   = math.sin(lat0)
        zr0 = math.cos(lat0)

        lat1 = math.pi*(-0.5 + float(i)/lats)
        z1 = math.sin(lat1)
        zr1 = math.cos(lat1)

        glColor3f(0.0,0.0,1.0)
        glBegin(GL_QUAD_STRIP)
        for j in range(0,longs):
            lng = 2*math.pi*float((j-1))/longs
            x=  math.cos(lng)
            y = math.sin(lng)

            glNormal3f(x * zr0, y * zr0, z0)
            glVertex3f(x * zr0, y * zr0, z0)
            glNormal3f(x * zr1, y * zr1, z1)
            glVertex3f(x * zr1, y * zr1, z1)
        glEnd()

0 ответов

Другие вопросы по тегам