DrawScript

home.gif


Recursion


recur.gif
REM --------------------------------------------
REM This is an example of recursive programming
REM Note the use of the Even-Odd winding rule
REM --------------------------------------------

·Fill(7)
·EvenOddWindingRule
PROCDiscs(6,6,6)
END

DEF PROCDiscs(x,y,r)
LOCAL i,X,Y
·Circle(x,y,r)
r=r/3
IF r>=1/6 THEN
 PROCDiscs(x,y,r)
 FOR i=1 TO 6
  X=x+2*r*COS(2*PI*i/6)
  Y=y+2*r*SIN(2*PI*i/6)
  PROCDiscs(X,Y,r)
 NEXT
ENDIF
ENDPROC