#--------------
# jm soler 2001
#--------------
	
import Blender
from Blender import NMesh
import math
from math import *

me=NMesh.GetRaw()

i=0
j=0

maxvert=r32.0**2

n=sqrt(maxvert)

for i in range(0,n):
  for j in range(0,n):
    s1=sin(i*(pi)/(n-1))
    c1=cos(i*(pi)/(n-1))

    c2=cos(j*(pi*2)/(n-1))
    s2=sin(j*(pi*2)/(n-1))

    x=0.5*((1-c1)*s1*s2)
    y=0.5*((1-c1)*s1*c2)
    z=c1
        
    v=NMesh.Vert(x,y,z)
    me.verts.append(v)

 

n0=int(n)

for i in range(0,n-1):  
    for j in range(0,n-1):  
        f=NMesh.Face()  

        f.v.append(me.verts[i*n0+j])  
        f.v.append(me.verts[i*n0+j+1])
        f.v.append(me.verts[(i+1)*n0+j+1])
        f.v.append(me.verts[(i+1)*n0+j])
        #on l'adoucit
        f.smooth=1 
        me.faces.append(f) 

NMesh.PutRaw(me,"plane",1)  
Blender.Redraw()