生命の群れなどを表現する際の有名な手法の一つとして、人口生命モデルBoidsというモデルが提案されています。
Boidsモデルは映画のCGのアルゴリズムの元にもなっている、基本的で強力なアルゴリズムです。
このBoidsモデルを用いて鳥の群れを再現してみました。
また、以下の工夫を取り入れています。
- 描画の都合上ある範囲内にとどまること
- 速度にノイズを載せ、単調な動きをを抑制すること
- 速度に依存させて描画時の色を変化させていること
- Ubuntu16.04
- openFrameworks v0.10.0
- visualstudio code
基本的には以下の性質に基づき鳥は移動します。
- Separation
- 他の鳥とぶつからない
- Alignment
- 概ね同じ方向に飛ぶように速度を合わせる
- Cohesion
- 群れの中心方向に向かう