NetLogoプログラミング(その3:正五角形の中心と頂点を結ぶ図形を再帰的に描く)

正五角形の中心と頂点を結ぶと


が得られる。この図形の各頂点で、この図形を縮小した図形を更に描くと


が得られる。これを繰り返していく再帰図形のプログラムは簡単で

to setup
ca
crt 1
ask turtles [setxy 0 -1 set heading 0 penta 10 odr ]
end

to penta [:len :odr]
  if :odr < 1 [stop]
  set color green
  repeat 5[
   pd fd :len
   penta :len / 2.5 :odr - 1
   pu bk :len
   rt 72
  ]
end

である。尚、再帰の深さを示す変数 odr については、interface 画面上から Slider を使って指定する。

再帰の深さ(odr)を8にして描いた図形は、


である。

尚、このプログラムのソースファイルは ここ にある。


追記

再帰の深さに応じて、色をランダムに変えると、例えば

となる。

また、同様に、正方形・正六角形・正八角形の中心と頂点を結ぶ図形を再帰的に描くと、次のようになる。


哲猫