上図の各辺で、同様に正3角形を描くと次の図形(2次の Koch 曲線) が得られる。
koch 曲線を描くプログラムは
globals [len]
to setup
ca
crt 1
ask turtles [setxy -15 0 set heading 90 go]
end
to go
set len 30 / ((2 + 2 * cos 60 ) ^ :num )
koch :num
end
to koch [:lv]
pd
ifelse :lv < 1 [fd len stop ][
koch :lv - 1
lt 60
koch :lv - 1
rt 120
koch :lv - 1
lt 60
koch :lv - 1
]
end
である。尚、再帰の深さ(次数)を示す変数 :num interface 画面上から Slider を使って指定している。
再帰の深さ(次数)を8にして描いた図形は、
となる。
尚、このプログラムのソースファイルは ここ にある。