Yes, it was the cos and sin functions expecting radians. Is it
possible to attach files here or do I have to just use links?

On Jan 18, 9:18 pm, Bruce Smith <[email protected]> wrote:
> Another possible issue -- if you got the cos and sin functions from the
> python math module, they want radians but you are passing them degrees. This
> could definitely produce warped quads, by wrapping around the sphere too
> many times in theta, especially for quads that overlap one of the sphere
> poles.
>
> - Bruce Smith
>
> On Tue, Jan 18, 2011 at 9:19 AM, Will <[email protected]> wrote:
> > This isn't really a pyglet question but I thought I would ask it
> > anyway. I am trying to approximate a sphere using the instructions at
> >http://local.wasp.uwa.edu.au/~pbourke/miscellaneous/sphere_cylinder/,
> > but it doesn't look right at all. This is my code:
>
> > def draw_sphere(facets, radius=100):
> >    """approximate a sphere using a certain number of facets"""
>
> >    dtheta = 180.0 / facets
> >    dphi = 360.0 / facets
>
> >    global sphere_list
> >    sphere_list = glGenLists(2)
> >    glNewList(sphere_list, GL_COMPILE)
>
> >    glBegin(GL_QUADS)
>
> >    for theta in range(-90, 90, int(dtheta)):
> >        for phi in range(0, 360, int(dphi)):
> >            print theta, phi
> >            a1 = theta, phi
> >            a2 = theta + dtheta, phi
> >            a3 = theta + dtheta, phi + dphi
> >            a4 = theta, phi + dphi
>
> >            angles = [a1, a2, a3, a4]
>
> >            print 'angles: %s' % (angles)
>
> >            glColor4f(theta/360.,phi/360.,1,0.5)
>
> >            for angle in angles:
> >                x, y, z = angle_to_coords(angle[0], angle[1], radius)
> >                print 'coords: %s,%s,%s' % (x, y, z)
> >                glVertex3f(x, y, z)
>
> >    glEnd()
>
> >    glEndList()
>
> > def angle_to_coords(theta, phi, radius):
> >    """return coordinates of point on sphere given angles and
> > radius"""
>
> >    x = cos(theta) * cos(phi)
> >    y = cos(theta) * sin(phi)
> >    z = sin(theta)
>
> >    return x * radius, y * radius, z * radius
>
> > It seems that some of the quads aren't simple, i.e. the edges are
> > crossing, but changing the order of the vertices doesn't seem to make
> > any difference.
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "pyglet-users" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> > [email protected]<pyglet-users%[email protected]>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/pyglet-users?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"pyglet-users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/pyglet-users?hl=en.

Reply via email to