群れ行動エージェント
右図にあるパラメータ設定ウィンドウのエージェント
タブを使って、エージェントの描き方と行動を制御するパラメータを変更することができます。
パラメータ設定ウィンドウは、設定メニューの
パラメータパネルの項目を選択することで、
閉じたり開いたりすることができます。
スケール
エージェントが動き回る仮想空間の大きさを倍率で指定します。
スケールを大きくすると、世界が大きくなり、
エージェントの大きさと移動距離は相対的に小さくなります。
エージェントの描き方
- 描画 ...
塗りつぶし、輪郭線、両方の3種類の中から1つを選択します。
- 不透明 ...
チェックしてあると普通の3次元画像で描きますが、チェックをはずすと、
取り込み画像が透けて見える透明のエージェントになります。
- なめらかに ...
境界線の描画をなめらかに描くかどうかを決めます。
なめらかにすると、多少計算時間がかかります。
- 背景円 ...
形が正方形か球体以外のとき、
各エージェントの背後に半透明の円または星形を描くかどうかを決めます。
旋律種の背後には円、打楽器種の背後には星形が描かれます。
右側のカラーウェルで、不透明の場合の背景円の色を指定できます。
エージェントの数と種類
エージェントは2種類に分けられ、それぞれ「旋律種」と「打楽器種」と呼び、
名前のとおり奏でる楽器の種類が異なります。
- エージェント数 ...
エージェントの数を整数で入力します。最大 1024 まで増やせますが、
計算時間がかかるため遅くなります。
- 群れ方 ...
群れを形作る際に、2種類のエージェントがどのように関係するかを、
平等、グループ、メイトの3つの中から指定します。
平等にすると、種類の違いは群れの形成に影響しません。
グループモードでは、同じ種のエージェント同士で群れを形成しようとします。
メイトモードでは、異なる種のエージェント間で互いに引き合うようになります。
- 旋律種の割り合い ...
それぞれの種のエージェント数を決めます。スライダーで指定する値は、
全体に対する旋律種の割り合いです。例えば、50% に設定すると、
2つの種のエージェント数は同じになります。
形と色の設定
エージェントの形と、
不透明モードのときのエージェントの色は、種類ごとに設定します。
透明モードの場合や描画方法が輪郭線のみになっている場合は、
塗り色は無視されます。輪郭線はたえず黒または透明で描かれます。
- 形 ...
正方形、球体、紙ヒコーキ、折り鶴、箱形、顔文字、16進IDの7種類の中から1つを選択します。
- 塗り色、反応色 ...
エージェントの塗りつぶし色を指定します。スライダーをカラフルと書かれた方に近づけると
カラーウェルで指定した色は無視され、エージェント毎に違う色が割り当てられます。
スライダーが中間にあるときは、その混合割り合いを指定したことになります。
反応色にチェックを入れると、
エージェントがカメラ画像の動きに反応したときの塗りつぶし色を指定できます。
反応の強さに応じて、通常の塗りつぶし色との中間色になります。
エージェントの行動
エージェントはC. レイノルズの
ボイドアルゴリズム
に基づいた群れ行動を形成します。
DT1では取り込み映像から検出された動きに引き寄せられる力を追加することで、
ユーザが群れを操れるようにしています。
- 大きさ ... エージェントの大きさを指定します。
- 個体間のバラツキ ...
指定したパラメータ値からどの程度ばらつかせるかを指定します。
- スリップ行動 ...
各実行ステップにおいて、群れ行動アルゴリズムを無視して、ランダムな方向へ向こうとする確率を指定します。
- 影響範囲 ...
各エージェントが自分の周囲のどれだけの距離の範囲のエージェントから影響を受けるかを指定します。
- 感度 ...
1ステップあたり、どの程度速度と角度を変更するかを指定します。
物理学的には質量と回転モーメントの値に対応します。
- 壁面からの反力 ...
四方の壁面および天井と床に近づいたときに受ける反発力の大きさを指定します。
- 衝突回避 ...
ほかのエージェントに近づいたときに受ける反発力の大きさを指定します。
この値を小さくすると密集した群れが形成されます。
- 整列 ...
周囲のエージェントと向きを合わせようとする力の大きさを指定します。
- 集合 ...
周囲のエージェントの重心位置へ行こうとする力の大きさを指定します。
- 引き寄せる力 ...
取り込み映像から検出された動きに引き寄せされる力の大きさを指定します。
- 最小速度 ...
エージェントの最小速度を指定します。0にすると停止する場合があります。
- 最大速度 ... エージェントの最大速度を指定します。
- 最大回転角 ...
エージェントが向きを変える際の最大回転角度を指定します。