<Ruby/>Ruby + Cairoでシダを描画
"シダを生やす記事を前見た気がする”
というわけで、こちらの記事を参考にRubyとCairoを使って、シダを生やしたいと思います!
</> shida.rb
描画結果⇩
- 核となっているのは generate メソッドで、 今回generateメソッドは呼び出しの際、初期値が20で if文が0 < kなので20回再帰が行われます。
- 20回再帰が行われた後、plotメソッドが呼び出され、plotメソッドによって、1x1の矩形が描画されます。
- Random.rand < 0.3
f.(k - 1, W2x.(x, y), W2y.(x, y))
f.(k - 1, W3x.(x, y), W3y.(x, y))
f.(k - 1, W4x.(x, y), W4y.(x, y)) より、各枝の先まで再帰処理が終わると3割の確率で、葉(矩形)が描画されていくことになります。
(観葉)ビバリウムプランツ おまかせシダ植物 3号ポット(1ポット) 価格:600円 |
これもプログラミングの腕を磨くのにもってこいだと思うので、皆さんも色んなやり方でシダを生やしてみてください。