NetLogoプログラミング(その19:極座標とフーリエ級数の組み合わせを使って花びらを描く)

「花のCG コンピュータ・グラフィックスによる花の描き方」戸川隼人・著(サイエンス社)には、多種多様の花を描く手続きが掲載されている。この書籍で、プログラムはBASICで書かれているのであるが、この中で花(びら)を極座標とフーリエ級数を使って描く手続きの部分を、NetLogoで書き直した。

花(びら)を描く極座標表示は
  r = |a sin nθ + b sin 3nθ + c sin 5nθ|
であり、n および係数 a・b・c を変えることで、様々な形の花(びら)を描くことができる。
なお、花びらの数は 2n 枚となる。

次は、n = 2.5 で、順に (a, b, c)=(6.5 , 2.0 , 2.0) , (7.0, 0.5, 1.0) , (7.0, 2.5, 1.0) で描いたものである。

次は、n = 7 で、順に (a, b, c)=(7.0 , 0 , 1.5) , (7.0, 6.0, 0.0) , (7.0, 0, 7.0) で描いたものである。

プログラムのコードはここにあるので、download して、角度を変えたものを描いてみて欲しい。なお、プログラムのインターフェイスの Slider で変数が :num が 上の式の n であり、変数 a、b、c で当たるSlider変数は :aa 、:bb 、:cc であり、図を拡大・縮小する Slider 変数が :ext である。


哲猫