DrawScript

home.gif


Koch snowflake


koch.gif
PROCSnowFlake(8,8,4)
END

DEF PROCSnowFlake(x,y,r)
IF r<1/8 THEN ·Fill(-1) : ENDPROC
LOCAL x1,y1,x2,y2,y3,y4,new
x1=x-r*COS(RAD(30)) : x2=x+r*COS(RAD(30))
y1=y-r : y2=y-r/2 : y3=y+r/2 : y4=y+r
·Move(x1,y2) : ·Draw(x,y4)  : ·Draw(x2,y2) : ·Draw(x1,y2)
·Move(x,y1)  : ·Draw(x1,y3) : ·Draw(x2,y3) : ·Draw(x,y1)

new=r/3
PROCSnowFlake(x1,y2,new)
PROCSnowFlake(x,y4,new)
PROCSnowFlake(x2,y2,new)
PROCSnowFlake(x,y1,new)
PROCSnowFlake(x1,y3,new)
PROCSnowFlake(x2,y3,new)
PROCSnowFlake(x,y,new)
·Fill(RND)
ENDPROC