DrawScript
Koch snowflake
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
|
|