読者です 読者をやめる 読者になる 読者になる

芸術の秋なのでProcessingでフラクタルアートしてみました

電波 Processing

季節の挨拶(導入)

 9月になって多少涼しくなり、もう気分は秋ですね。秋といえば食欲の秋、性欲の秋、芸術の秋と色々ありますが、とりあえず芸術をすることにしました。

フラクタル

 芸術といえば、まずは図書館かなということで、図書館で色々本を借りました。その後はスタバでドヤ顔しながら小粋に読書を決めたかったのですが、すでにスタバはドヤ顔している群衆で埋まっており、愛知のスタバことコメダ珈琲で読書しました。色々読んだのですが、面白かったのが下記の本

都市を冷やすフラクタル日除け―面白くなくちゃ科学じゃない (気象ブックス)

都市を冷やすフラクタル日除け―面白くなくちゃ科学じゃない (気象ブックス)

 内容はフラクタル構造が日除けのために最適構造という話。当たり前にも、トンデモ系にもとらえられそうな話ですが、内容的には測定の正しさとか、手作りで測定器をつくる話とか中々興味深くて好感が持てました。
 もともと自分はこういったカオス理論とかフラクタルとかセルオートマトンとか人工生命の分野に結構興味があったのも大きかったかもしれません。
 あ、フラクタルの説明とかはしないのでwikipediaでも見といて下さい。簡単にいうと、自己相似性のある図形で、自然界にも沢山あるんだよ!全然わかんないね!

描いてみた

 というわけで、フラクタル構造の中で代表的なものの1つであるシェルピンスキーのギャスケット(Sierpinski gasket)を描いてみることにしました。といっても手書きは大変なのでプログラムを組むことにします、いつものようにProcessingを使います。
 描き方は、少し考えてわからなかったので、今回はカンニングしてみました。すると、正3角形をベースにランダムに中点をとっていき点を打つ方法とか、セルオートマトンで描く方法があることがわかりました(正確には知っていたけど忘れてた)。
 全く違うアルゴリズムで同じ図形ができるというのは興味深いですね。せっかくなので今回は両方実装してみることにしました。ちなみに妻に「何しているの」と聞かれて「絵を描いてる」と言ったら「理解できない」との感想でした。


 こっちがランダムな点を打っていく描き方。時間たつと浮かび上がってくるはず


 こっちがセルオートマトンで描く方法

 OpenProcessingというサイトにアップロードしたプログラムを埋め込んでいます。ソースコードもOpenProcessingで見られるので興味ある方はどうぞ。

これから

 芸術の秋なので、もうちょっと色々な絵を描いてみたいなと思っています。こういうのをフラクタルアートとか、もっと広い定義ではジェネラティブアートというらしいです。

ジェネラティブ・アート -Processingによる実践ガイド

ジェネラティブ・アート -Processingによる実践ガイド

 この本も結構おすすめです。読みっぱなしになっていますが、やっぱりこうやって手を動かしてみることも必要かなと思います。

参考リンク

ランダムに生成される シェルピンスキー ギャスケット
 ランダムな方の描き方の解説

シェルピンスキーのギャスケット (1次元セルオートマトン:ルール90)
 セルオートマトンでの描き方

芸術の秋にProcessingでスケッチプログラミングを始めてみよう
 今回タイトルは完全にこの記事のパクリです。Processingでの絵の描き方はこちら

なれる!P5er ~OpenProcessing使い方ガイド~
 OpenProcessingの使い方はこちらを参考にするのがよいです