概要
ボイド(Boids)は、アメリカのアニメーション・プログラマCraig Raynoldsが考案した人工生命シミュレーションプログラム。名称は鳥もどき(bird-oid)に由来。
多数の個体からなる群において、各個体の行動ルールを定めておき、一定のランダム性のもと自由に行動させる。個体が単純なルールに基づいて動きながら、群全体としてまとまった動きが再現される。
ルール
Boidsのルールとして、一般に以下の3項目が適用される。
- 分離(Separation)
- 他の個体とぶつからないように距離をとる。
- 結合(Cohesion)
- 群れの中心方向へ向かうように方向を変える。
- 整列(Alignment)
- 他の個体群と概ね同じ方向に飛ぶように速度と方向を合わせる。
群を構成する個体は、それぞれ独自の位置・速度を持って動きながら、上記3つのルールに従うことによって、群としての行動をとるようになる。
デモンストレーション
CoffeeScript
JavaScriptよりすっきりと書けるCoffeeScriptで、より遊べるものを作っていった。この過程で、CoffeeScript/JavaScriptの変数のスコープだとかパッケージの考え方だとかが勉強になった。
- CoffeeScript版Boidsのトップ
- Boids 1.x – 準備用コードの開発過程
- Boids 2.x – 行動ルールの適用過程
- Boids Application
JavaScript
JavaScriptに慣れるために作ったプログラム群。
- 基本的なBoidsのコード構築
- 条件と挙動のバリエーション
1件のコメント