離島プログラマの雑記

島根県の離島、隠岐・西ノ島に移住して子育て中のフリープログラマです。

創発する円

なんとなく目に付いたので買ってみたけど、なかなか面白い。 Generative Art という概念は、その名の通り"生成"されるアートであって、アーティスト自身が直接手を下して描いたり作曲したりするのではなくて、カオス(予測不可能性のあるもの)を源泉に一定のアルゴリズムによって生成されたグラフィックや音を楽しむものだそう。

この本では、Processing という言語でグラフィカルな Generative Art を実践するために、無機的なもの(コンピュータ)から有機的(っぽい)ものをいかにして生み出すかという方法論や考え方が書かれている。

Chapter6 のサンプルをちょっといじったもの。

このサンプルでは円の動きを直接 x,y 座標を指定してコントロールしている訳ではなくて、画面上には見えない多数の円がそれぞれランダムな方向に動き続けていて、その円同士が衝突した際に中間地点に新たな円を生成して、その円だけを描画している。

見えない円は単純なルールによって動いている(=動きが予測可能)けど、それらが衝突した時に生成される円は予測が難しい複雑な動きをする。これを"創発"というらしい。

http://ja.wikipedia.org/wiki/創発

創発(そうはつ、英語:emergence)とは、部分の性質の単純な総和にとどまらない性質が、全体として現れることである。局所的な複数の相互作用が複雑に組織化することで、個別の要素の振る舞いからは予測できないようなシステムが構成される。

創発は生物学や社会学でも用いられている概念で、実際ムクドリの集団の複雑な動きは、全体がリーダーによって統率されている訳ではなくて、個々のムクドリが単純なルールにしたがって動いているだけなそうな。

https://www.youtube.com/watch?v=PoGjHw8lNAs
Spectacular starlings over Bagmere

つまり簡単なルールに従って動くオブジェクトを用意してやるだけで、結構複雑な有機的(っぽい)動きが作れるといこと。いろいろ試してみたいなぁ。