下面给出的代码是一种在不使用glutsphere的情况下在opengl中绘制球体的算法。参数与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()