Option Explicit 'Script written by 'Script copyrighted by 'Script version Monday, February 02, 2009 8:11:02 PM Call Main() Sub Main() Call Rhino.EnableRedraw(False) Call superFormula(8, 1, 2, 4, 8, 100, 100) Call Rhino.EnableRedraw(True) End Sub Function superFormula(a, b, c, d, e, countU, countV) superFormula = Null Dim i, j, q, r, m, n, o, p, u, v, x, y, z, arrOutput, arrStorage ReDim arrOutput(countV), arrStorage(countU) r=0 For i = -1 To 1 Step 1/(countU/2) q=0 For j = -1+0.5/(countV/2) To 1 Step 1/(countV/2) u = PI*i v = PI/2*j m=abs(1/b*abs(cos(a*u/4)))^d+abs(1/b*abs(sin(a*u/4)))^e o=abs(m)^(-1/c) n=abs(1/b*abs(cos(a*v/4)))^d+abs(1/b*abs(sin(a*v/4)))^e p=abs(n)^(-1/c) x = o*cos(u)*p*cos(v) y = o*sin(u)*p*cos(v) z = p*sin(v) arrStorage(q) = array(x,y,z) Call Rhino.addpoint(arrStorage(q)) q=q+1 Next arrOutput(r) = arrStorage r=r+1 Next superFormula = arrOutput End Function