CoffeeScript – Boids 2.x – ルールの実装

Boids 2.xの概要

Boids 2.xシリーズでは、Boids 1.xで準備した土台となるコードに、個体の行動ルール(分離、結合、整列)を一つずつ実装していく。

  1. Boids 2.0 Boids1.2のコードを以下のように変更。
    • Creatureクラスから汎用のMovingAgentクラスを分離して、これを継承
    • 初期パラメータの設定値をHTMLに置いて、変更しやすくした
  2. Boids 2.1 分離(Separation)のルールを適用し、互いの衝突を避けるようにする。
  3. Boids 2.2 結合(Cohesion)のルールを適用し、個体が群に集まろうとする傾向を持たせる。
  4. Boids 2.3 整列(Alignment)のルールを適用し、個体が皆と同じ方向に動こうとする傾向を持たせる。

Boids 2.0 – 基本コード

基本コードの挙動はBoids 1.2と同じで、各個体は壁との衝突を避けながら自由に動くが、他の個体は意識しない。

Boids 2.0のコード詳細



Boids 2.1 – 分離(Separation)

個体同士の衝突を避けるように進路を変更する行動ルールを適用する。他の個体が接近したときに、それぞれが進路を変更している様子がわかる。

Boids 2.1のコード詳細



Boids 2.2 – 結合(Cohesion)

各個体が、視野内の群の重心に向かって進路を変更するルールを適用する。全体として群を形成しようとする様子がわかる。

Boids 2.2のコード詳細



Boids 2.3 – 整列(Alignment)

各個体が、視野内の群の全体としての移動方向に自分の進路を合わせるよう変更するルールを適用する。群が全体として同じ方向に動こうとしている様子がわかる。

Boids 2.3のコード詳細




↑ Boids 1.x

 










コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です