NetLogoプログラミング(その18:樹木曲線)

樹木曲線とは、
 「1本の線分の端から一定の角度で左右に1本ずつ線分(元の線分の長さに一定の比率をかけて短くする)を描く」
ことを再帰的に繰り返して得られる直線である。ここで、線分の長さが決まった長さ以下になった場合には、それ以上再帰的に描くことは止めることにする。樹木は枝分かれすれば細くなるので、再帰的に描かれる線分の太さも一定の割合で細くなるようにする。

プログラムで樹木曲線を描く手続きは

to tree [:len :th]
  set pen-size :len / 2
  if :len < 2 [stop]
  fd :len
  lt (:th / 2)
  tree (:len * 0.75) :th
  rt :th
  tree (:len * 0.75) :th
  lt (:th / 2)
  bk :len
end

で、左右に開く角度はSliderから選択できるようにする。

次は、左右に開く角度が60°・90°・120°の例である。

この樹木曲線を描くプログラムのコードはここにあるので、download して、角度を変えたものを描いてみて欲しい。


哲猫