忍者ブログ

Memeplexes

プログラミング、3DCGとその他いろいろについて

生き物のしましま模様(1次元バージョン)

シマウマのようなしま模様を自動的に作り出すシミュレーションです。これは考案した数学者の名前から、チューリング・パターンと呼ばれています。


チューリング・パターン1D

操作方法

マウスで黒フチキャンバスをクリック:クリックされた場所を起点にしま模様ができます。

黒フチキャンバス上でマウスを動かす:黒フチのないキャンバスに、マウスカーソルの下にある細胞の、化学反応速度の図を表示します。

解説

シマウマのシマやネコの斑点模様は妖精がペンキで塗りたくって出来るのではなく、表面の細胞の単純な化学反応の結果です。単純な化学反応ルールによって、秩序あるパターンが出来上がるのです。このプログラムはその様子をシミュレートします。

マウスで黒フチのついたキャンバスをクリックしてください。そこから赤と青の波が描かれます。これがシミュレートされたシマウマのシマです。はい、たしかにこれではシマウマのシマには見えません…シマウマの模様は黒い線が縦に何本も連なっているというものですが、このシミュレーションが表示しているのは赤と青の波です。これは、このシミュレーションが1次元だからです。本物のシマウマの模様は2次元の皮膚の上に描かれますが、このシミュレーションは1次元なので、「濃淡が交互に並んでいる」ということしか再現できていないのです。黒フチグラフの縦軸は化学物質の濃度を表しており、横軸は空間(細胞が100個並んでいます)です。

シマができる仕組み

シマができる様子をかんたんに説明しましょう。クリックする前の化学物質の状態は、ちょうど指一本で下から支えられた本のようなものです。不安定ではありますが、上手くバランスを取れば不可能ではありません。クリック前も、それと同じで絶妙にバランスが取られています。しかし、マウスでクリックしてそのバランスを壊してしまうと、一気に赤い物質は限界まで増え山ができます。これは本が指先から落ちることに相当します。

ひとたび赤い山ができると、周囲には谷ができます。谷は山を作り、山は谷を作り…が続き、シマ模様(のような濃淡パターン)が出来るのです。

山が飛び飛びに出来る理由

ではどうして、山は周囲に谷を作るのでしょう?そして、谷はどうして周囲に山を作るのでしょう?これは、「草食動物が捕食者を避けるためにどこをすみかにすべきか」というたとえ話で理解することができます。獲物となる生き物の群れは捕食者をおびき寄せます。つまり、中途半端に群れの近くにいるのはある意味危険なのです。群れの一員になれたら安全かもしれませんが、群れのちょっと近く程度ならかえって狙われかねません。思い切って群れから離れましょう。そして、群れから離れた場所で無事繁殖できると、そこに新たな群れが出来ることになります。2つの群れは距離を保っています。多分3つ目の群れも出来るでしょう。群れが距離を開けてたくさんできるのです。これは、このシミュレーションでシマが出来る理由と似ています。

このシミュレーションに草食動物と捕食者ははいませんが、赤い化学物質と青い化学物質ならあります。実は単純な化学反応によって、捕食のような現象を起こしているのです。赤が草食動物で青が捕食者です。赤がふえると、青も増えます。草食動物が増えれば捕食者もふえるというわけです。そして、青は赤の増加を抑えます。捕食者がいたら草食動物は殺されて数が減ってしまいますからね。個体の移動についてもたとえ話が成り立ちます。青は赤よりも周囲に拡散する速度が早いのです。ちょうど草食動物の群れの周りを捕食者がウロウロしているようなものです(草食動物はそんな危険な場所は避けるため、群れに溶け込むか別の場所で群れを作るかしかありません)。よって、赤は青の少ない離れた場所に新たな赤の山を作るわけです。これを繰り返せば、赤い山が並んでできていくでしょう。

これがシマの正体です。ある意味、生き物の皮膚を舞台にして、生き物のような振る舞いをする分子が生存競争を繰り広げているのです!私達がネコの斑点を眺めている時、実は微小の擬似生物の群れを観察しているとも言えるのです。

拍手[0回]

PR