3 つの決まりだけで、魚が群れになる。

鳥居と金魚のあるデジタル水槽を、魚の群れが泳ぐ場面

Aquarium in Processing

トップへ戻る

水槽も魚も、コードで描く。

Processingで一から組んだデジタル水槽です。水槽も魚も、群れの動きもすべてコードで描いています。

1匹ずつの魚には「近くの仲間に寄る」「ぶつからない」「向きを揃える」という単純な決まりだけを与えています。それでも群れ全体は、生き物のように自然にまとまって泳ぎます。

魚のかわいさと、アルゴリズムから生まれる生き物らしい動きの両立を目指しました。

言語
Processing
手法
群れのシミュレーション(Boids)
Aquarium in Processing の 3 つの決まりの図1 匹の魚に与える 3 つの決まり、寄る、ぶつからない、揃えると、それを実際に計算したときの群れの軌跡。寄る近くの仲間の中心へぶつからない近すぎたら離れる揃える仲間と同じ向きへ3 つの決まりで計算した軌跡
Aquarium in Processing の 3 つの決まりの図1 匹の魚に与える 3 つの決まり、寄る、ぶつからない、揃えると、それを実際に計算したときの群れの軌跡。寄るぶつからない揃える寄る 近くの仲間の中心へぶつからない 近すぎたら離れる揃える 仲間と同じ向きへ
軌跡は、図のために 3 つの決まりを計算し直したものです。作品のデータではありません。
Processing で描いたデジタル水槽
群れて泳ぐ魚たち
プログラムされた魚の動き
デジタル水槽の様子
生成りの紙に黒いペンで描かれた魚の群れの素描。1 匹だけ赤い
生成した画像によるイメージです。

動く順番

近くの仲間を探す
それぞれの魚が、自分の周りにいる仲間を見ます。
3 つの決まりで向きを決める
仲間に寄る。ぶつからない。向きを揃える。この 3 つから進む向きを決めます。
泳ぐ
決めた向きに少し進みます。これを毎フレーム繰り返します。