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 butterflyCurve(5, 2, 1000) Call Rhino.EnableRedraw(True) End Sub Function butterflyCurve(a,b, count) butterflyCurve = Null 'r = radius: t = turns Dim i, q, t, x, y, z, arrOutput ReDim arrOutput(count) q=0 For i = 0 To 1 Step 1/(count-1) t = 2*PI*b*i x= a*(sin(t)*(exp(cos(t))-2*cos(4*t)-sin(t/12)^5)) y= a*(cos(t)*(exp(cos(t))-2*cos(4*t)-sin(t/12)^5)) z= 0 arrOutput(q) = array(x,y,z) Call Rhino.addpoint(arrOutput(q)) q=q+1 Next butterflyCurve = arrOutput End Function