2008/07/30

BOID


ただいま横浜のElectrical Fantasistaに展示しているGyorolでは、携帯で釣った魚を水槽に放つことができます。
その魚たちに自然な間合いで泳いでもらえるよう、BOIDというアルゴリズムを使いました。
結構適当な理解でもそれっぽく動いてくれて嬉しかったのでご紹介します。

BOIDというのは、鳥や魚の群れの動きを、簡単なルール決めでシミュレートできる、優れもののアルゴリズムのことです。以前吉川さんがWPFで実装してたのを見て知りました。
その概要は、ほぼ日刊イトイ新聞 - がんばれ森川くんの遺伝子くんがとても分かりやすいです。
実装はt-pot 『水族館を作ろう:BOIDの基本』に載っているコードをなんとなく眺めながらやりました。
本当になんとなくの理解でそれらしく動いてしまうのですが、気を使うのは、魚同士が引っ張り合ったり整列したりする、パラメータの度合いの調節です。この値次第で動きが全然変わってしまいます。
以下は、ほぼGyorolで使われているBOIDの実装のサンプルです。


source
です。汚いですよ!

トラックバックURL

http://faces2.bascule.co.jp/mt/mt-tb.cgi/568

コメントを投稿

(コメントには承認が必要になることがあります。承認されるまではコメントは表示されません。)