2009年9月15日火曜日

Boid(ボイド)


鳥や魚が群れているシーンを映画なんかで観ることがあると思います。バットマンとかで無数のコウモリが飛び交ったり、ペンギン軍団が群れていたりするやつです。ひと昔前まではコンピュータグラフィックスだったとしても一匹一匹の動きを全部一こまずつ動かして表現していたようですが、今は鳥などが自然に飛び交っている動きはコンピュータシミュレーションで実現することができます。しかも、一匹ずつを支配しているルールは簡単で、「引き離し(近づきすぎたら離れる)」「整列(近くの個体に方向や速度を合わせる)」「結合(離れすぎない)」だけなのです。この3つの約束だけであの「自然な、生きているような」動きを実現することができるのです。
これは、コンピューター・グラフィックスを研究していたクレイグ・レイノルズが1986年に鳥の群れをプログラムで表現できないか、と考え、実際の鳥の行動を調査しているときに気づき実際にプログラムを作ってみたら、あら不思議。本物の鳥の群れ行動と見分けがつかないほどの本物の鳥の群れそっくりの、予測のつかない行動が実現できてしまったのです!誰も「群れろ!」とは指示していないのに(3つのルールの中には「群れなさい」という指示はないのに)勝手に群れてまるで生きているように振る舞うのです。
boidというのは「鳥もどき」という意味のbirdoid(バードイド)の省略語のことです。鳥(というか生き物)の行動は非常に複雑怪奇なのに3つの超単純なルールで同じような動きを表現できてしまうのです。この事実は実は非常に深い意味を持っています。

0 件のコメント:

コメントを投稿