NetLogoプログラミング(その8:C曲線)

線分を直角三角形で置き換える操作を再帰的に繰り返して得られる曲線がC曲線である。
0次のC曲線を線分であるとすると、1次のC曲線は

となり、2次のC曲線は

となる。

同様に、3次・4次・5次のC曲線は

となる。

NetLogo でC曲線を描くprocedureは

to ccurve [:odr] ;; :odr は次数
  if :odr < 1 [fd :length stop] ;; :length は線分の長さ
  pd
  rt -45 ccurve :odr - 1
  rt 90 ccurve :odr - 1
  rt -45
  pu
end
と極めて単純である。

8次と16次のC曲線は

となる。


哲猫