2009年5月28日木曜日

おもちや(怪しいものぢゃ、ありません)。

ちょいと前のお話。ニコ動で科学コーナーを観ていたら、チューリングパターンという興味深い模様の動画を発見した(元ネタ)。日本古来からの波や雷の文様に似ていて、面白そう。調べたら、化学や数理生物学の分野で使われている反応拡散系のGray-Scottモデルというものへ行き着き、webに転がっている情報を元にプログラムを自作してみた。要は偏微分方程式を一次差分法で数値的に解いているのだけど、まあ、難しい話は抜きにして。
ちなみに、ここら辺の詳しい話を一般化したものはセルオートマトンと呼ばれている。セルオートマトンと言うと一般的にはライフゲームが知られているけど、それ以外にも様々なモデルがあって実用レベルで種々の工学的解析問題に適用することができる(流体計算の分野で使われている格子ボルツマン法とか)。チューリング(コンピュータの父として知られる)やウルフラム(Mathematicaを開発した)といった面々も主研究テーマとして取り組んだほど、単純ながら奥の深い代物。そう言えば、ウフルラムは「A New Kind of Science」なんていう超ぶ厚い本を出版しているし、チューリングの研究をまとめた本も岩波から邦訳が出版されていた様な気がしたけど?

乱数で設定した、初期状態(黄色い部分が種)
種が潰れていって、互いにひっつく。
で、中身が無くなって、枠だけ残る
残った枠が成長して、黒い空間を埋め尽くして行く
グネグネグネ
で、定常状態
初期状態によって様々な定常状態になるし、定常状態になってもニコ動のムービーの様に途中で一部を切り取ると、そこに新たな模様が生成されて行く。パラメータを変えて、グネグネ成長していく様子を観ているだけでもかなり遊べる。

別のバリエーションの例:
中心に一つだけ種を置いて定常状態まで計算した結果(周期境界条件)

中心から半径100の範囲の円内に一様に種を置いて定常状態まで計算した結果(周期境界条件)


参考
【ニコニコ動画】チューリングパターンを作ってみた
【ニコニコ動画】水玉 vs 縞:パンツ対決 —反応拡散系の先駆的応用—

0 件のコメント:

コメントを投稿