(57)【要約】【課題】  マウスやペンタブレットを用いて利用者から入力された数本の軌道により、群集を構成する各エージェントの動作を定義する群集動作制御パラメタを自動的に決定し、利用者の負担を削減しつつ自然でリアルな群集アニメーションを描画する描画制御装置を提供する。【解決手段】  描画制御装置は、初期値受付手段１が各エージェントの初期位置及び総数を含む初期値を受付け、移動経路受付手段２が群集モデルの代表的な移動経路としての複数の軌道を受付け、群集動作制御パラメタ演算手段３がこの受付けられた初期値及び軌道に基づいて、群集を構成する複数のエージェントにおける動作を制御する群集動作制御パラメタを演算し、群集動作制御手段４がこの演算された群集動作制御パラメタに基づいて各エージェントの動作を制御することから、受付けられた軌道から各エージェントの群集動作制御パラメタを自動的に決定し、容易な操作で利用者の期待通りの群集アニメーションを描画する。【選択図】    図１
2010108319.tif 000002
【特許請求の範囲】
【請求項１】
自律的な個体としての複数のエージェントからなる群集モデルを用いた動画の描画を制御する描画制御装置において、
各々の前記エージェントの初期位置及び総数を少なくとも含む初期値を受付ける初期値受付手段と、
前記群集モデルの代表的な移動経路としての複数の軌道を受付ける移動経路受付手段と、
前記初期値受付手段により受付けられた初期値及び前記移動経路受付手段により受付けられた軌道に基づいて、前記群集モデルを構成する複数のエージェントにおける動作を制御する群集動作制御パラメタを演算する群集動作制御パラメタ演算手段と、
前記群集動作制御パラメタ演算手段により演算された群集動作制御パラメタに少なくとも基づいて、前記群集モデルの動作を制御する群集動作制御手段とを備える
描画制御装置。
【請求項２】
請求項１に記載した描画制御装置において、
前記移動経路受付手段が、
複数の前記エージェントが移動する主たる移動軌道を示す主線を受付ける主線受付部と、
前記主線に沿って移動する複数の前記エージェントの代表的な経路や広がりやばらつきを示す１本又は複数の補助線を受付ける補助線受付部とを備える
描画制御装置。
【請求項３】
請求項１又は請求項２に記載した描画制御装置において、
前記群集動作制御パラメタ演算手段が、前記エージェントの移動速度、前記エージェントの進行時に目標とする経路である目標経路及び前記エージェント間の相互距離の少なくともいずれかを制御するための前記群集動作制御パラメタを演算する
描画制御装置。
【請求項４】
請求項１ないし請求項３に記載した描画制御装置において、
前記初期値受付手段が、障害物に関する位置及び大きさを含む障害物情報を受付けるものとし、
前記群集動作制御手段が、前記群集動作制御パラメタ演算手段により演算された各々の前記エージェントの群集動作制御パラメタに基づいて、各々の前記エージェントに関して、前記目標経路を追従する目標経路追従力、他の前記エージェントとの衝突を回避する衝突回避力及び前記障害物を回避する障害物回避力を演算し、各々の前記エージェントに発生する力を演算して前記群集モデルの動作を演算する
描画制御装置。
【請求項５】
請求項１ないし請求項４に記載した描画制御装置において、
前記群集動作制御手段により制御された複数の前記エージェントにおける動作を前記群集モデルとして描画する描画手段を備える
描画制御装置。
【請求項６】
自律的な個体としての複数のエージェントからなる群集モデルを用いた動画の描画を制御する描画制御方法において、
各々の前記エージェントの初期位置及び総数を少なくとも含む初期値を受付ける初期値受付工程と、
前記群集モデルの代表的な移動経路としての複数の軌道を受付ける移動経路受付工程と、
前記初期値受付工程により受付けられた初期値、前記軌道受付工程により受付けられた軌道に基づいて、前記群集モデルを構成する複数のエージェントにおける動作を制御する群集動作制御パラメタを演算する群集動作制御パラメタ演算工程と、
前記群集動作制御パラメタ演算工程により演算された群集動作制御パラメタに少なくとも基づいて、前記群集モデルの動作を制御する群集動作制御工程とを備える
描画制御方法。
【請求項７】
自律的な個体としての複数のエージェントからなる群集モデルを用いた動画の描画を制御するようにコンピュータを機能させる描画制御プログラムにおいて、
各々の前記エージェントの初期位置及び総数を少なくとも含む初期値を受付ける初期値受付手段、
前記群集モデルの代表的な移動経路としての複数の軌道を受付ける移動経路受付手段、
前記初期値受付手段により受付けられた初期値及び前記移動経路受付手段により受付けられた軌道に基づいて、前記群集モデルを構成する複数のエージェントにおける動作を制御する群集動作制御パラメタを演算する群集動作制御パラメタ演算手段、
前記群集動作制御パラメタ演算手段により演算された群集動作制御パラメタに少なくとも基づいて、前記群集モデルの動作を制御する群集動作制御手段としてコンピュータを機能させる
描画制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、群集モデルを用いて生成された群集アニメーションの描画を制御する描画制御装置に関して、特に軌道の入力により容易に群集動作制御パラメタを決定し、群集動作制御手法を用いて群集アニメーションを描画させる描画制御装置に関する。
【背景技術】
【０００２】
群集アニメーションは、近年の映画やテレビゲームにおいて、数千人単位の大規模な戦闘シーンや街中のシーンに広く利用されている。
【０００３】
群集アニメーションの生成手法（描画装置）については、様々な研究が行われている。現在、群集アニメーションを生成する手法として、エージェントモデルと呼ばれる手法が、最も一般的な手法として用いられている。当該手法では、複数の自律的な個体としてのエージェントにより群集が構成される。当該手法は、一定のルールに従って群集を構成する各エージェントを独立に操作することで、群集全体の動作を生成する。当該ルールとして、例えば、リーダーに追従するものや、他のエージェントと一定の距離を維持するものがある（例えば、非特許文献１参照）。
【０００４】
また、群集アニメーションのインターフェースに関する研究も行われている。当該研究としては、ブラシ型のインターフェースを用いて、群集の一部もしくは全体に、移動の目標位置、移動速度、注視方向などのパラメタを設定できるインターフェースを提案するものがある（例えば、非特許文献２参照）。
【０００５】
また、実在の人間の動作をカメラにより撮影した動画から動作ルールを学習し、群集アニメーションを生成する研究も行われている。当該研究としては、動画から人間の移動軌道を得ることで、群集の歩行動作の動作ルールを抽出し、群集アニメーションを生成するものがある（例えば、非特許文献３、非特許文献４、非特許文献５参照）。
【０００６】
また、従来の描画制御装置は、群の中の１つの移動体オブジェクトをリーダーとして決定し、リーダーの移動内容に基づいて、その群に属する他の移動体オブジェクトがリーダーを追従するように移動内容を決定し、リーダーの変更処理や他の魚の追従行動の遅延処理や他の魚同士のくっつき防止処理等により、群をなして移動する魚群等の画像を表示するものがある（例えば、特許文献１参照）。また、従来の描画制御装置は、群集を構成する各個体に役割を割り当て、各個体の状態を連続的に決定し、外部からの指示や群集の現状に応じて各個体の役割の再割り当てを実行させ、決定された各個体の状態に基づく動特性を記述した変数群や全世界的な外乱や個体間の相互作用から、各個体の状態をそれぞれ求め、群集アニメーションを生成するものがある（例えば、特許文献２参照）。
【０００７】
また、従来の描画制御装置は、複数の個体が集まることで生成された仮想オブジェクトである群集オブジェクトを構成する個体に対し、群集オブジェクト内における個体それぞれの位置と、群集としての移動方向に関する指示を与え、各個体が当該指示に基づいて移動を行うものがある（例えば、特許文献３参照）。また、従来の描画制御装置は、複数の個体と敵の存在する仮想空間において、個体と目標点間の距離、個体と敵間の距離、個体と他個体間の距離に基づいて、所定時間後の当該個体の移動位置を演算して群制御を行うものがある（例えば、特許文献４参照）。また、従来の描画制御装置は、複数の移動体の中から選択された１つの移動体又は１つのまとまった動きをする移動体群の状態に基づいて視点の位置を設定し、仮想３次元空間内を動く複数の移動体を所定の視点から見た場合の映像を表示するものがある（例えば、特許文献５参照）。
【非特許文献１】Creg W. Reynolds、 "Flocks、 Herds、 and Schools: A Distributed Behavioral Model"、 SIGGRAPH'87、 pp.25-34、 1987.
【非特許文献２】Branislav Ulicny、 Pablo de Heras Ciechomski、 Daniel Thalmann、 "Crowdbrush: Interactive Authoring of Real-time Crowd Scenes"、 ACM SIGGRAPH2004、 pp. 243-252、 2004.
【非特許文献３】N. Courty、 T. Corpetti、 "Crowd Motion Capture"、 Computer Animation and Virtual Worlds、 Volume 18、 Issue 4-5、 pp. 361-370、 2007.
【非特許文献４】K. H. Lee、 M. G. Choi、 Q. Hong、 J. Lee、 "Group Behavior from Video: A Data-Driven Approach to Crowd Simulation"、 ACM SIGGRAPH/Eurographics symposium on Computer animation、 pp. 109-118、 2007.
【非特許文献５】A. Lerner、 Y. Chrysanthou、 D. Lischinski、 "Crowds by Example"、 Computer Graphics Forum、 Volume 26、 Number 3、 pp. 655-664. 2007.
【特許文献１】特開２０００−１７２８６８号公報
【特許文献２】特開２００１−３４４６１５号公報
【特許文献３】特開２００４−１６７２７３号公報
【特許文献４】特開２００４−１７４０７７号公報
【特許文献５】国際公開ＷＯ００／４９５７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、従来の描画制御装置は、エージェントの移動速度や他のエージェントとの距離を含む群集パラメタを予め手作業で設定する必要があり、利用者の望むようなアニメーションの生成には試行錯誤が必要となり手間がかかるという課題を有する。
【０００９】
本発明は前記課題を解消するためになされたもので、マウスやペンタブレットを用いて利用者が数本の軌道を入力することにより、各エージェントの動作を定義する群集パラメタを自動的に決定し、利用者の負担を削減しつつ自然でリアルな群集アニメーションを描画する描画制御装置の提供を目的とする。
【課題を解決するための手段】
【００１０】
本願に開示する描画制御装置は、自律的な個体としての複数のエージェントからなる群集モデルを用いた動画の描画を制御する描画制御装置において、各々の前記エージェントの初期位置及び総数を少なくとも含む初期値を受付ける初期値受付手段と、前記群集モデルの代表的な移動経路としての複数の軌道を受付ける移動経路受付手段と、前記初期値受付手段により受付けられた初期値及び前記移動経路受付手段により受付けられた軌道に基づいて、前記群集モデルを構成する複数のエージェントにおける動作を制御する群集動作制御パラメタを演算する群集動作制御パラメタ演算手段と、前記群集動作制御パラメタ演算手段により演算された群集動作制御パラメタに少なくとも基づいて、前記群集モデルの動作を制御する群集動作制御手段とを備えるものである。
【００１１】
このように、本願に開示する描画制御装置は、初期値受付手段が各々の前記エージェントの初期位置及び総数を少なくとも含む初期値を受付け、移動経路受付手段が前記群集モデルの移動経路としての複数の軌道を受付け、群集動作制御パラメタ演算手段が前記初期値受付手段により受付けられた初期値及び前記移動経路受付手段により受付けられた軌道に基づいて、前記群集モデルを構成する複数のエージェントにおける動作を制御する群集動作制御パラメタを演算し、群集動作制御手段が前記群集動作制御パラメタ演算手段により演算された群集動作制御パラメタに少なくとも基づいて、前記群集モデルの動作を制御することから、受付けられた複数の軌道により、複数のエージェントの動作及び動作範囲を制御する群集動作制御パラメタを自動的に決定することとなり、利用者の容易な操作で手間をかけずに群集動作における各エージェントの各々の動作を制御することができる。
【００１２】
また、本願に開示する描画制御装置は必要に応じて、前記移動経路受付手段が、複数の前記エージェントが移動する主たる移動軌道を示す主線を受付ける主線受付部と、前記主線に沿って移動する複数の前記エージェントの代表的な経路や広がりやばらつきを示す１本又は複数の補助線を受付ける補助線受付部とを備えるものである。このように、本願に開示する描画制御装置は、異なる役割を有する軌道として主線及び補助線を受付けることから、受付けられた軌道に含まれる情報量を増大させることとなり、利用者による直感的かつ少ない手間での群集動作制御パラメタの設定を支援することができる。
【００１３】
また、本願に開示する描画制御装置は必要に応じて、前記群集動作制御パラメタ演算手段が、前記エージェントの移動速度、前記エージェントの進行時に目標とする経路である目標経路及び前記エージェント間の相互距離の少なくともいずれかを制御するための前記群集動作制御パラメタを演算するものである。このように、本願に開示する描画制御装置は、受付けられた初期値及び軌道に基づいて、前記エージェントの移動速度、前記エージェントの目標経路及び前記エージェント間の相互距離の少なくともいずれかを前記群集動作制御パラメタとして演算することから、受付けられた軌道から群集動作制御パラメタを詳細に反映することとなり、利用者の直感的かつ少ない手間での軌道の入力により利用者の意図する前記エージェントの動作を容易に生成することができる。
【００１４】
また、本願に開示する描画制御装置は必要に応じて、前記初期値受付手段が、障害物に関する位置及び大きさを含む障害物情報を受付けるものとし、前記群集動作制御手段が、前記群集動作制御パラメタ演算手段により演算された各々の前記エージェントの群集動作制御パラメタに基づいて、各々の前記エージェントに関して、前記目標経路を追従する目標経路追従力、他の前記エージェントとの衝突を回避する衝突回避力及び前記障害物を回避する障害物回避力を演算し、各々の前記エージェントに発生する力を演算するものである。このように、本願に開示する描画制御装置は、前記群集動作制御パラメタ演算手段の演算結果に基づいて、各々の前記エージェントに関して、前記目標経路を追従する目標経路追従力、他の前記エージェントとの衝突を回避する衝突回避力及び前記障害物を回避する障害物回避力を演算し、各々の前記エージェントに発生する力を演算することから、受付けられた軌道及び初期値から前記エージェントに発生する力を個々に演算することとなり、より自然でリアルな群集モデルの動作を表現することができる。
【００１５】
また、本願に開示する描画制御装置は必要に応じて、前記群集動作制御手段により制御された複数の前記エージェントにおける動作を前記群集モデルとして描画する描画手段を備えるものである。このように、本願に開示する描画制御装置は、描画手段が前記群集動作制御手段により制御された複数の前記エージェントの動作を前記群集モデルとして描画することから、個々に動作の異なる前記エージェントにて群集モデルを描画することとなり、利用者の容易な操作で手間をかけずに群集動作における各エージェントの各々の動作を制御することができる。さらに、より自然でリアルな群集アニメーションを利用者に提供することができる。
【発明を実施するための最良の形態】
【００１６】
（本発明の第１の実施形態）
以下、本発明の第１の実施形態に係る描画制御装置を、図１から図９に基づいて説明する。図１は本発明の第１の実施形態に係る描画制御装置の構成を示すブロック図、図２はこの図１に記載された描画制御装置のフローチャート、図３はこの図１に記載された描画制御装置の画面レイアウト及び群集動作制御パラメタの説明図、図４はこの図１に記載された描画制御装置の各エージェントの目標経路の説明図、図５はこの図１に記載された描画制御装置の各エージェントの移動速度の説明図、図６はこの図１に記載された描画制御装置の各エージェント間の標準距離の説明図、図７はこの図１に記載された描画制御装置の標準距離の補正量の説明図、図８はこの図１に記載された描画制御装置の各エージェントの移動の説明図、図９はこの図１に記載された描画制御装置の実験結果を示す。
【００１７】
図１において、本実施形態に係る描画制御装置は、利用者１００から群集モデルを構成する複数の自律的な個体としての複数のエージェントの初期位置、総数及び障害物に関する位置及び大きさを含む障害物情報を少なくとも含む初期値を受付ける初期値受付手段１と、この群集モデルの移動経路としての複数の軌道を受付ける移動経路受付手段２と、この初期値受付手段１により受付けられた初期値及びこの移動経路受付手段２により受付けられた軌道に基づいて、この複数のエージェントにおける各移動経路及び各移動速度を含む動作を制御する群集動作制御パラメタを演算する群集動作制御パラメタ演算手段３と、この群集動作制御パラメタ演算手段３により演算された群集動作制御パラメタに基づいて、この群集モデルの動作を制御する群集動作制御手段４と、この群集動作制御手段４により制御されたこの複数のエージェントの動作をこの群集モデルとして描画する描画手段５とを備える。
【００１８】
この移動経路受付手段２は、この複数のエージェントが移動する主要な移動軌道を示す主線を受付ける主線受付部２１と、この主線に沿って移動するこの複数のエージェントの代表的な経路や広がりやばらつきを示す１本又は複数の補助線を受付ける補助線受付部２２とを備える。
【００１９】
また、この群集動作制御パラメタ演算手段３は、この初期値受付手段１により受付けられた初期値及びこの移動経路受付手段２により受付けられた複数の軌道に基づいて、エージェントの各位置における移動速度を演算する移動速度演算部３１と、各エージェントの進行時に目標となる経路である目標経路を演算する目標経路演算部３２と、このエージェント間に共通する相互距離の標準値である標準距離を演算する標準距離演算部３３と、このエージェント間の距離のばらつきを表現するためにこの標準距離を各エージェントごとに補正する補正量を演算する距離補正量演算部３４とを備える。
【００２０】
また、この群集動作制御手段４は、この群集動作制御パラメタ演算手段３により演算された各々のエージェントの群集動作制御パラメタに基づいて、この各エージェントに関して、この目標経路を追従する目標経路追従力を演算する経路追従力演算部４１と、他エージェントとの衝突を回避する衝突回避力を演算する衝突回避力演算部４２と、前記障害物を回避する障害物回避力を演算する障害物回避力演算部４３と、この目標経路追従力、この衝突回避力及びこの障害物回避力に基づいて、前記群集モデルの動作を演算する群集動作演算部４４とを備える。
【００２１】
以下、前記構成に基づく本実施形態の描画制御装置の動作について説明する。
まず、前記初期値受付手段１は、図２に示すように、前記利用者１００から前記初期値を受付ける（Ｓ１）。前記初期値受付手段１は、図３（ａ）に示すように、前記初期値としてエージェントＡの総数、初期位置、障害物Ｂの位置及び大きさを受付ける。
【００２２】
また、前記移動経路受付手段２は、図２に示すように、前記利用者１００からマウスやペンタブレットにより描画された軌道を受付ける（Ｓ２）。前記移動経路受付手段２は、図３（ａ）に示すように、この軌道として主線Ｃ及び複数の補助線Ｄを受付ける。また、前記移動経路受付手段２は、この補助線Ｄが１本の場合でも、前記群集動作制御パラメタを演算することができる。しかし、この補助線Ｄは、群集アニメーションの作りやすさを考慮すると、２本以上が好ましい。
【００２３】
前記主線及び補助線を含む入力軌道は、Ｑi｛ｑi,1，ｑi,2，・・・，ｑi,Ki｝により表される。この入力軌道は、総数をＮとし、この入力軌道を特定する番号をｉ｛１，２，．．．，ｉ，．．．，Ｎ｝とする。この入力軌道は、ｉ＝１の軌道が前記主線を示し、ｉ≧２の軌道が前記補助線を示す。また、生成される前記目標経路の点の数は、前記主線の点の数と同数となる。
【００２４】
前記群集動作制御パラメタ演算手段３は、前記群集動作制御パラメタとして前記目標経路、前記移動速度、前記標準距離及び前記標準距離の補正量を演算する（Ｓ３）。この群集動作制御パラメタは、同図（ｂ）に示すように、前記移動速度及び前記標準距離が各エージェントに共通する値を有する。また、この群集動作制御パラメタは、前記目標経路及び前記標準距離の補正量が各エージェントで個別に異なる値を有する。
【００２５】
［１．群集動作制御パラメタ］
次に、このＳ３における群集動作制御パラメタの具体的な演算動作を説明する。
この群集動作制御パラメタは、目標経路Ｐj｛ｐ’j,1，ｐ’j,2，・・・，ｐ’i,Ki｝、移動速度ｖk、エージェント同士の標準距離ｓk及びこの標準距離の補正量ej,kを含む。この目標経路Ｐjは、３次元のベクトルで示され、各エージェントごとに異なる経路である。また、この目標経路Ｐjは、エージェントが移動する際に目標位置とする点の集まりで、前記利用者１００が入力した軌道によって決まる大まかな経路である。
【００２６】
また、このj｛１，２，・・・，Ｍ｝は、エージェントを特定する番号を示す。また、この番号Ｍは、エージェントの総数を示す。また、このk｛１，２，・・・，Ｋ1｝は、前記主線及び補助線の軌道上の点において位置を特定する番号を示す。また、この番号Ｋiはこの軌道iに含まれる点の総数を示す。
【００２７】
また、前記移動速度は、各位置における、エージェントが移動する際の速度である。各エージェントは、この移動速度の値が大きい場所では素早く移動し、値が小さい場所ではゆっくり移動する。
【００２８】
また、エージェント同士の標準距離ｓkは、各位置における、エージェントが移動する際に周囲のエージェントとの維持する相互間距離を示す値である。この標準距離ｓkは、全てのエージェントで共通の値を有する。
【００２９】
また、前記距離の補正量ej,kは、各位置kにおける、エージェント同士の標準距離ｓkに与えるばらつきを示す値である。この距離の補正量ej,kは、各エージェントごとに異なる値を有する。
前記群集動作制御パラメタ演算手段３は、この群集動作制御パラメタを前記主線及び補助線を含む前記入力軌道Ｑi｛ｑi,1，ｑi,2，・・・，ｑi,Ki｝から演算する。
【００３０】
［１．１．目標経路］
まず、前記目標経路の演算動作を説明する。
前記目標経路演算部３２は、この入力軌道、各エージェントの初期位置ｐj,0及びエージェントの総数から、各エージェントの目標経路Ｐj｛ｐ’j,1，ｐ’j,2，・・・，ｐ’i,Ki｝を演算する。前記目標経路演算部３２は、前記利用者１００が入力した軌道を補間してこの目標経路Ｐj｛ｐ’j,1，ｐ’j,2，・・・，ｐ’i,Ki｝を生成する。
【００３１】
まず最初に、前記目標経路演算部３２は、前記補助線の平滑化を行い、前記補助線の大まかな形状を得る。前記目標経路演算部３２は、前記補助線に対して一定間隔δで平均値を演算し、この平均値を平滑化して平滑化補助線上の点Ａi,kを以下の式により演算する。また、以下の式における点ＢL,kと点ＣR,kも、後述する平滑化補助線上の点である。
但し、前記補助線の点の間隔は、十分小さいものとする。
【００３２】
【数１】
2010108319.tif 000003
【００３３】
【数２】
2010108319.tif 000004
次に、前記目標経路演算部３２は、前記各エージェントごとの目標経路を決めるため、各エージェントごとに以下の処理を行う。
【００３４】
まず、前記各軌道への距離の比率を決定する。前記目標経路演算部３２は、前記エージェントの初期位置から各軌道までの距離をliとした場合に、この距離の比率ｏj,iを以下の式により演算する。
【００３５】
【数３】
2010108319.tif 000005
【００３６】
最後に、前記目標経路演算部３２は、この距離の比率ｏj,iに応じて目標経路の点ｐ’j,kを演算し、エージェントｊの目標経路Ｐj｛ｐ’j,1，ｐ’j,2，・・・，ｐ’i,Ki｝を生成する。前記目標経路演算部３２は、主線上の対応点ｑ1,kから、平滑化した各補助線上のｑ1,kに対応した点A'i,k'へのベクトルをＶi,kとして、この目標経路の点ｐ’j,kを、以下の式により演算する。
【００３７】
【数４】
2010108319.tif 000006
【００３８】
前記目標経路演算部３２は、図４（ａ）のように入力された主線Ｃ及び補助線Ｄに基づいて、同図（ｂ）に示すように、平滑化補助線Ｄ’及び各エージェントごとの目標経路Ｅを演算する。この目標経路Ｅは、入力軌道の両端の間に生成される。また、群集モデルを構成するエージェントＡは、同図（ｃ）のように入力された主線Ｃ及び補助線Ｄに基づいて、同図（ｄ）に示すように、各エージェントごとの目標経路Ｅに沿って各々移動する。前記目標経路演算部３２は、この演算により、前記目標経路をエージェントの初期位置に一番近い入力軌道の影響を強く受けて生成することとなり、自然なエージェントの動きを表現することができる。
【００３９】
［１．２．各エージェントの移動速度］
次に、前記移動速度に対する演算動作を説明する。
前記移動速度演算部３１は、前記主線の入力速度である入力された点の座標ｑkとこの点が入力されたときの時刻ｔkから前記移動速度を演算する。
【００４０】
前記移動速度演算部３１は、前記利用者１００が入力した軌道の線分の長さΔｌkメートルと、入力に要した時間Δｔkからこの入力速度を演算する。前記移動速度演算部３１は、この軌道の線分をΔlk=|qk-qk-1|として演算し、入力に要した時間をΔtk=tk-tk-1として演算する。この演算により、前記移動速度演算部３１は、群集の移動速度vkを、以下の式により演算する。
【００４１】
【数５】
2010108319.tif 000007
【００４２】
前記移動経路受付手段２は、図５（ａ）及び（ｂ）に示すように、地点Ｃ１及びＣ２では前記主線をゆっくり入力され、地点Ｃ３及びＣ４では前記主線を素早く入力されたとする。前記移動速度演算部３１は、同図（ｃ）に示すように、前記主線をゆっくり入力された地点Ｃ１及びＣ２ではゆっくり移動し、前記主線を素早く入力された地点Ｃ３及びＣ４では群集は素早く移動することとなり、前記利用者１００の直感的に入力された軌道を前記エージェントの動作に的確に反映することができる。
【００４３】
［１．３．各エージェント間の標準距離］
次に、前記標準距離に対する演算動作を説明する。
まず、前記標準距離演算部３３は、前記主線と前記平滑化補助線を用いて、前記入力軌道の両端の幅である軌道幅Ｗkを演算する。前記標準距離演算部３３は、前記平滑化補助線を用いることにより、前記補助線の細かい形状の影響を受けずに、前記補助線の大まかな軌道の流れに沿って軌道幅Ｗkを演算することができる。
【００４４】
前記標準距離演算部３３は、前記主線の点ｑ1,kにおける両端の点ＢL,kと点ＣR,kを演算する。前記標準距離演算部３３は、前記主線を基準として、全軌道上のｋの位置にある点Ａi,kの中から、主線上の点ｑ1,kに一番遠い点を片側の点ＢL,kとする。前記標準距離演算部３３は、その後、このｋに最も近い点Ａi,kのうち一番遠い点をもう片側の点ＣR,kとする。前記標準距離演算部３３は、この軌道幅Ｗkを、以下の式に従い演算する。
【００４５】
【数６】
2010108319.tif 000008
【００４６】
前記標準距離演算部３３は、軌道幅が十分狭いときの軌道幅をＷN、軌道幅が十分広いときの軌道幅をＷwとし、各々の場合のエージェント同士の標準距離をｓN、ｓWと設定する。このＷN、Ｗw、ｓN、ｓWは、各々固定値とし、前記利用者１００の判断により任意に設定されることが可能である。前記標準距離演算部３３は、エージェント同士の標準距離ｓj,kを、以下の式により演算する。
【００４７】
【数７】
2010108319.tif 000009
【００４８】
このように、エージェント同士の標準距離ｓj,kは、この軌道幅Ｗkに比例して変化するため、入力された軌道の両端の幅が広いときに大きい値になり、幅が狭いときに小さい値になる。各エージェントから構成される群集モデルは、図６（ａ）及び（ｂ）に示すように、この幅が広い地点では広がって移動する。また、この群集モデルは、同図（ｃ）及び（ｄ）に示すように、この幅が狭い地点では狭くなって移動する。
【００４９】
また、前記標準距離演算部３３は、同図（ｅ）に示すように、この軌道幅Wkが十分狭いときの軌道幅を固定化して演算することにより、前記エージェント同士の距離を小さくし過ぎる場合にエージェント同士のめりこみを生じることを防止することとなり、前記エージェントの現実的な動作を実現することができる。また、前記標準距離演算部３３は、同図（ｅ）に示すように、この軌道幅Wkが十分広いときの軌道幅を固定化して演算することにより、前記エージェント同士の距離を大きくし過ぎる場合に前記エージェント同士が軌道の両端の幅以上に離れることを防止することとなり、前記エージェントの群集としての動作を維持することができる。
【００５０】
また、前記標準距離演算部３３は、前記利用者１００により入力された前記補助線が１本の場合には、前記主線及び前記補助線の両端の軌道の幅から、前記軌道幅Wkを演算することができる。
【００５１】
［１．４．標準距離の補正量］
次に、前記標準距離の補正量に対する演算動作を説明する。
この補正量は、エージェント同士の前記標準距離にばらつきを与えるものである。前記距離補正量演算部３４は、まず、全ての前記エージェントで共通のばらつきEkを演算する。距離補正量演算部３４は、前記主線と前記各補助線との距離の変化量Gi,kの分散値を用いてこの共通のばらつきEkを演算する。
前記距離補正量演算部３４は、まず、主線上の点ql,kと、対応した補助線i上の点qi,kとの微分を以下の式により演算する。
【００５２】
【数８】
2010108319.tif 000010
次に、前記距離補正量演算部３４は、前記入力軌道ごとにGi,kを中心に一定間隔で平均を演算し、Gi,kの平均値AVGi,kを演算する。
【００５３】
【数９】
2010108319.tif 000011
前記距離補正量演算部３４は、この平均値AVGj,kを用いて、各距離の変化量の分散値VARj,kを、以下の式により演算する。
【００５４】
【数１０】
2010108319.tif 000012
前記距離補正量演算部３４は、前記入力軌道の数Nに対して、全体の分散値VARkを、以下の式により演算する。
【００５５】
【数１１】
2010108319.tif 000013
【００５６】
前記距離補正量演算部３４は、この全体の分散値VARkに対して、以下の式により係数αを積算して共通のばらつきEkを演算する。この係数αは、前記利用者１００の判断により、任意に設定されることが可能である。また、この係数αは、一種の初期値として、前記初期値受付手段１により設定される値の一つとすることも可能である。
【００５７】
【数１２】
2010108319.tif 000014
【００５８】
この演算により、各エージェントは、図７（ａ）に示すように、この共通のばらつきEkの値が上限値近く大きい場合には、群集モデルとしてまばらに動作する。また、各エージェントは、同図（ｂ）に示すように、この共通のばらつきの値が下限値近く小さい場合には、群集モデルとしてまとまって動作する。
【００５９】
次に、前記距離補正量演算部３４は、エージェントごとに異なる標準距離の補正量ej,kを、この共通のばらつきEkとこの共通のばらつきEkの最大値EMAXとの割合に応じて、乱数を用いて以下の式に従い演算する。ここで、以下の式におけるrandom(0.5,1)は、０．５から１までの乱数を生成する関数とする。また、この係数EMAXは、前記利用者１００の判断により、任意に設定されることが可能である。
【００６０】
【数１３】
2010108319.tif 000015
【００６１】
このように、前記距離補正量演算部３４は、この共通のばらつきEkに乱数を積算することにより、各エージェントにおける標準距離の補正量ej,kのばらつきを不規則に生じさせることができる。また、前記距離補正量演算部３４は、０．５から１までの範囲の乱数を用いることにより、この標準距離の補正量ej,kの値に対する乱数の積算により増大しないように制御することができる。
【００６２】
また、前記距離補正量演算部３４は、前記主線と前記各補助線との距離の変化量Gj,kの分散値を用いることから、前記補助線が滑らかであれば前記標準距離の補正量ej,kが小さく、滑らかでなければ前記標準距離の補正量ej,kが大きくなる性質をもつこととなり、前記標準距離の補正量ej,kに対して軌道の入力状況を的確に反映して演算することができ、前記利用者１００の直感的に入力された軌道を前記エージェントの動作に的確に反映することができる。
【００６３】
前記距離補正量演算部３４は、各エージェントから構成される群集モデルにおいて、前記図６（ａ）及び（ｃ）に示すように、前記補助線が滑らかに入力されるとエージェント同士の距離はほぼ同じ値になり、ばらつきの小さい群集を生成することができる。また、前記距離補正量演算部３４は、同図（ｂ）及び（ｄ）に示すように、進行方向に対して起伏の多い前記補助線が入力されると、エージェント同士の距離がばらついた群集を生成することができる。
【００６４】
また、前記補助線は、前記目標経路の演算には平滑化された入力軌道により入力軌道の大まかな形状のみの影響を前記目標経路に与え、前記補正量の演算にはこの入力軌道を用いてこの入力軌道の細かい形状を前記補正量に反映することとなり、前記動作制御パラメタに与える影響を棲み分けて、この入力軌道からの情報をより多く抽出して前記動作制御パラメタに反映させることができる。
【００６５】
［２．群集動作制御］
また、前記群集動作制御手段４は、図２に示すように、前記群集動作制御パラメタを用いて各エージェントから構成される群集モデルの群集動作制御を行う（Ｓ４）。本実施形態では、群集モデルを構成するエージェントにおいて、目標経路に追従する力、他のエージェントとの衝突を回避する力、障害物との衝突を回避する力を用いてこの群集動作制御を行う。
【００６６】
前記群集動作制御手段４は、各エージェントごとにこれらの３つの力ベクトルを演算し、全ベクトルの合計により移動方向を決定する。前記群集動作制御手段４は、この決定された移動方向に基づいて、群集動作制御パラメタとして指定された速度に従って、各エージェントを移動させる。力ベクトルは、方向と大きさを持つ３次元のベクトルである。前記群集動作制御手段４は、この力ベクトルを毎ステップごとに演算する。
【００６７】
［２．１．標経路に追従する力］
まず、前記目標経路追従力に対する演算動作を説明する。
前記経路追従力演算部４１は、時刻tでのエージェントj｛1,2・・・,j,・・・,M｝自身の位置pj,tから、前記目標経路上の目標位置p'j,kに向かう力を、以下の式に従い演算する。ここで、目標位置とは、各エージェントが前記目標経路に追従する際に、目標とする座標である。
【００６８】
【数１４】
2010108319.tif 000016
【００６９】
このように、前記経路追従力演算部４１は、前記目標経路追従力をエージェントと目標経路上の目標位置との差異に比例させて演算することから、エージェントが目標経路上の目標位置から離れているほど前記目標経路追従力を増大させることで前記目標経路の流れを維持することとなり、リアルなエージェントの動きを表現することができる。
【００７０】
［２．２．他のエージェントと衝突回避する力］
次に、他のエージェントと衝突回避する力に対する演算動作を説明する。
他のエージェントと衝突回避する力である前記衝突回避力は、エージェントが他のエージェントと衝突をしないために、一定の距離を維持しようとする力である。
まず、前記衝突回避力演算部４２は、エージェント同士の標準距離に距離の補正量を積算してエージェント同士が衝突を回避する衝突回避距離rj,kを以下の式に従い演算する。
【００７１】
【数１５】
2010108319.tif 000017
【００７２】
次に、前記衝突回避力演算部４２は、位置pl,tに所在する他のエージェントとの距離がこの衝突回避距離rj,kより近い場合は回避するとして、|pl,t-pj,t|<rj,kの場合に発生する前記衝突回避力を演算する。前記衝突回避力演算部４２は、番号１で識別されたエージェントとの前記衝突回避力を、以下の式に従い演算する。
【００７３】
【数１６】
2010108319.tif 000018
前記衝突回避力演算部４２は、この衝突回避力を残りのエージェント全てに対して以下の式に従い演算し、前記衝突回避力を演算する。
【００７４】
【数１７】
2010108319.tif 000019
このように、前記衝突回避力演算部４２は、エージェント同士がこの衝突回避距離rj,kよりも近い場合に、エージェントの相互間に離れようとする力を発生させることができる。
【００７５】
［２．３．障害物を回避する力］
次に、障害物を回避する力に対する演算動作を説明する。
障害物を回避する力である前記障害物回避力は、エージェントが障害物に衝突しないために、一定の距離を維持しようとする力である。
【００７６】
前記障害物回避力演算部４３は、位置pblock,xに所在する障害物xに衝突しない最小半径をrblock,xとして、pblock,x−pj,t＜rblock,xの場合に発生する前記障害物回避力を演算する。前記障害物回避力演算部４３は、この障害物xに対する障害物回避力を以下の式に従い演算する。
【００７７】
【数１８】
2010108319.tif 000020
となる。
前記障害物回避力演算部４３は、この障害物の総数をXとして、この障害物回避力を残りの障害物全てに対して以下の式に従い演算し、前記障害物回避力を演算する。
【００７８】
【数１９】
2010108319.tif 000021
【００７９】
［２．４．エージェントの移動する力］
前記群集動作演算部４４は、エージェントjに発生する前記目標経路追従力、前記衝突回避力、前記障害物回避力の各力の合計Fj,tを、この各力の重みを各々wtrajectory:wavoid:wblockとして、以下の式に従い演算する。
【００８０】
【数２０】
2010108319.tif 000022
この各力の重みは、前記利用者１００の判断により、任意に設定されることが可能である。本実施形態では、前記衝突回避力に関する重みを大きくすることが重要であると判断して、wtrajectory:wavoid:wblock=1:2:2とする。
【００８１】
前記群集動作演算部４４は、番号jで特定されるエージェントを各力の合計Fj,tの方向に前記移動速度vkで移動させる。前記群集動作演算部４４は、この移動における移動量Dj,tを以下の式に従い演算する。
【００８２】
【数２１】
2010108319.tif 000023
前記群集動作演算部４４は、この移動量Dj,tを現在のエージェントの位置に加算演算し、エージェントを移動させる。すなわち、前記群集動作演算部４４は、次のステップのエージェントの位置pj,t+tを以下の式に従い演算する。
【００８３】
【数２２】
2010108319.tif 000024
【００８４】
前記群集動作演算部４４は、この演算によるエージェントの移動後に、エージェントの位置と前記目標位置との距離が、前記目標経路への追従距離R以下のときに、前記目標位置を次の点に更新する。この追従距離Rは、前記利用者１００の判断により、任意に設定されることが可能である。前記群集動作演算部４４は、以上の演算を各ステップごとに行う。
【００８５】
また、前記群集動作演算部４４は、図８に示すように、各エージェントａ１、ａ２、ａ３、ｂ１、ｂ２、ｂ３、ｃ１、ｃ２、ｃ３からなる群集を位置Ｘから位置Ｙまで移動させる場合に、隣接する各エージェントの距離を保ちつつ、軌道幅の変化に応じて群集を前記目標経路に沿って移動させることができる。前記群集動作演算部４４の演算により、十分な軌道幅が確保される位置Ｘでは、各エージェントは整列して移動を行うが、軌道幅の狭い位置Ｙでは、各エージェントは、相互間の距離に応じて発生する力の影響により、各々移動方向を変化させて群集の形状を柔軟に変化させつつ、群集の形状を維持して移動を行うことができる。
また、数式２１の代わりに、以下のような数式を用い、力の大きさに応じて速度を変化されることもできる。
【００８６】
【数２３】
2010108319.tif 000025
【００８７】
これにより、移動方向と速度の両方を変化させながら、移動を行うことができる。例えば、この位置Ｙにおいて、群集の先頭に位置するエージェントａ２は、移動速度が増加して移動するが、群集の中央に位置するエージェントｂ２は、移動速度を減少して移動することができる。
【００８８】
また、前記描画手段５は、図２に示すように、前記群集動作演算部４４の演算による各ステップごとの全エージェントの画像をレンダリングすることにより、前記群集モデルによる群集アニメーションを生成して画面出力する（Ｓ４）。
【００８９】
前記描画手段５は、前記群集動作演算部４４により演算されたエージェントの位置の情報と、予め用意しておいたエージェントの人体モデルや動作データを用いて群集アニメーションを生成することができる。この人体モデルは、エージェントの人としての体型や体格を示す。また、この動作データは、エージェントの動作、例えば、歩行動作や走行動作や歩行と走行の中間動作、を示す。例えば、前記描画手段５は、エージェントの移動方向に応じて、エージェントを表示する際の向きを決めることができる。
【００９０】
また、前記描画手段５は、エージェントの移動速度に応じて、この動作データの中から適用する動作データを決定し、移動速度に応じて動作データの再生時間をどの程度進めるかを決定することで、この動作データと再生時間から、エージェントの姿勢を演算することができる。前記描画手段５は、背景図となる周囲の３次元空間に加えて、各エージェントの位置、向き、姿勢を含む現在状態を描画することにより、各ステップの画像を生成することができる。
また、本実施形態に係る描画制御装置のハードウエア構成は、ＣＰＵ、メモリ、ディスプレイ、マウス、キーボード及び上記各部を接続するバスからなる。
【００９１】
［３．実験結果］
本願の発明者は、本描画制御装置を用いて、群集アニメーション生成の実験を行った。この実験に使用したコンピュータのスペックは、ＣＰＵが３．２０ＧＨｚ、メモリが１０２４ＭＢ、グラフィックボードはＧｅＦｏｒｃｅ６６００ＧＴ（米ＮＶＩＤＩＡ社製）である。
【００９２】
この実験において作成するシーンには、図９に示すように、群集の移動速度、群集の広がり、群集のばらつきを変化させる箇所を設け、エージェントの総数は５０人と設定した。この群集は、前記軌道幅の広い地点Ｆでは、ばらつかず広がって移動し、前記軌道幅の狭い地点Ｇでは、ばらつかず狭く移動した。
【００９３】
また、この群集は、前記補助線の軌道が平坦ではなく前記軌道幅の広い地点Ｈでは、ばらついて広がって移動し、前記補助線の軌道が平坦ではなく前記軌道幅の狭い地点Ｉでは、ばらついて狭く移動した。また、この群集は、前記主線の軌道を遅く入力した地点Ｊでは、遅く移動し、前記主線の軌道を速く入力した地点Ｊでは、速く移動した。
【００９４】
この実験の結果により、各エージェントから構成される群集モデルは、入力軌道を与えることで、意図通りの動作を行った。この結果から、本描画制御装置は、群集パラメタ設定が容易で手間のかからないことから、小規模な群集のみならずスケールアップした数千人規模の大群集にも適するものと判断できる。
【００９５】
なお、本実施形態では、前記利用者１００からマウスやペンタブレットにより描画された軌道を前記移動経路受付手段２にて受付けたが、ディスプレイの画面に直感的な入力操作を行うポインティングデバイスであれば、マウスやペンタブレットに限定されず、例えば、ライトペン、トラックボール、タッチパッド、ポインティングスティクを用いて広く適用することができる。
【００９６】
なお、本描画制御装置は、前記描画手段５により各ステップごとに生成された画像を様々な方法で前記利用者１００に提供することができる。例えば、本描画制御装置は、各ステップの画像を連続的にアニメーションとして表示することで、前記利用者１００にリアルタイムに閲覧されることができる。また、例えば、本描画制御装置は、各ステップの画像を一旦記録することで、前記利用者１００により後から動画として閲覧されることもできる。
【００９７】
（本発明のその他の実施形態）
本発明のその他の実施形態としては、前記第１の実施形態では、前記利用者１００から前記主線及び前記補助線の軌道を入力されたが、この入力された軌道を区別せずに、前記利用者１００から数本以上の軌道の単純な入力により、前記第１の実施形態と同様に、前記群集動作制御パラメタを演算することも可能である。この場合には、例えば、この入力された軌道を全て前記補助線として扱い、入力された全軌道を平均したものを自動的に主線として扱うことにより、前記第１の実施形態と同様な演算を行うことができる。このように、本描画制御装置は、入力された軌道を区別しないことから、前記利用者１００による軌道の入力の手間をさらに省くことができる。
【００９８】
また、本発明のその他の実施形態としては、前記第１の実施形態では、前記利用者１００がエージェントの初期位置を手動で設定しているが、入力軌道の開始位置付近の前記軌道幅に基づいて、自動的にエージェントを配置することも可能である。このように、本描画制御装置は、このエージェントの自動的な配置により、前記利用者１００の入力の手間をさらに省くことができる。
【００９９】
また、本発明のその他の実施形態としては、前記第１の実施形態では、前記群集動作制御パラメタとして前記目標経路、前記移動速度、前記標準距離及び前記標準距離の補正量を含む４つのパラメタを演算したが、この４つのパラメタのうちいずれかを演算し、演算しないパラメタは、前記初期値として受付けることも可能である。このように、本描画制御装置は、この４つのパラメタのうち前記利用者１００に必要な演算のみを行うことにより、前記利用者１００の利用目的に応じて柔軟に動作することとなり、前記利用者１００による利用の利便性を向上させることができる。
【０１００】
また、本願に開示する描画制御装置は、前記群集動作制御パラメタとして、この４つのパラメタに限定される必要はなく、前記利用者１００により入力された軌道から演算可能な別の前記群集動作制御パラメタを追加することも可能である。例えば、前記群集動作制御パラメタ演算手段３は、前記４つの群集動作制御パラメタの代わりとして、真っ直ぐに歩くか曲がりながら歩くかを判断する蛇行度合い、どの程度方向を変えながら移動するかを判断する方向転換頻度、各エージェントが群集の中での位置を変更するかを判断する入れ替わり度合い、を演算することができる。
【０１０１】
また、本発明のその他の実施形態としては、前記第１の実施形態では、前記群集動作制御手段４が各エージェントに関して、前記経路追従力、前記衝突回避力、前記障害物衝突回避力を用いて群集モデルを演算したが、この３つの力に限定されることはなく、エージェントにより構成される群集モデルで利用される他の力を演算することもできる。
【０１０２】
例えば、前記群集動作制御手段４は、エージェントに発生する力として、前記目標経路に追従する力の代わりに、前記目標位置に移動する力や、ランダムな方向に移動する力や、リーダーと識別されたエージェントの方に移動する力などを加えて群集モデルを演算することもできる。また、前記群集動作制御手段４は、前記群集動作制御パラメタを用いて、例えば、群集の移動を蛇行させるような力、群集全体が方向転換するような力、群集内での位置を変える力を加えて群集モデルを演算することもできる。
【０１０３】
また、前記群集動作演算部４４は、エージェント同士の衝突や、エージェントと障害物の衝突を確実に避けるために、この衝突が発生した場合は、強制的にエージェントの位置を修正することも可能である。また、前記群集動作演算部４４は、エージェントが袋小路に入り込む恐れのある場合には、自動的に適切な経路を探索することも可能である。
【０１０４】
このように、前記群集動作演算部４４は、一定のルールに従って各エージェントの動きを制御する群集モデルに関する様々な手法を組み合わせることにより、前記利用者１００により入力された軌道に基づいて、群集モデルの動作を様々に演算することができる。
［付記］  以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
【０１０５】
（付記１）自律的な個体としての複数のエージェントからなる群集モデルを用いた動画の描画を制御する描画制御装置において、各々の前記エージェントの初期位置及び総数を少なくとも含む初期値を受付ける初期値受付手段と、前記群集モデルの代表的な移動経路としての複数の軌道を受付ける移動経路受付手段と、前記初期値受付手段により受付けられた初期値及び前記移動経路受付手段により受付けられた軌道に基づいて、前記群集モデルを構成する複数のエージェントにおける動作を制御する群集動作制御パラメタを演算する群集動作制御パラメタ演算手段と、前記群集動作制御パラメタ演算手段により演算された群集動作制御パラメタに少なくとも基づいて、前記群集モデルの動作を制御する群集動作制御手段とを備える描画制御装置。
【０１０６】
（付記２）前記移動経路受付手段が、
複数の前記エージェントが移動する主たる移動軌道を示す主線を受付ける主線受付部と、前記主線に沿って移動する複数の前記エージェントの代表的な経路や広がりやばらつきを示す１本又は複数の補助線を受付ける補助線受付部とを備える付記１記載の描画制御装置。
【０１０７】
（付記３）前記群集動作制御パラメタ演算手段が、前記エージェントの移動速度、前記エージェントの進行時に目標とする経路である目標経路及び前記エージェント間の相互距離の少なくともいずれかを制御するための前記群集動作制御パラメタを演算する付記１又は付記２記載の描画制御装置。
【０１０８】
（付記４）前記初期値受付手段が、障害物に関する位置及び大きさを含む障害物情報を受付けるものとし、前記群集動作制御手段が、前記群集動作制御パラメタ演算手段により演算された各々の前記エージェントの群集動作制御パラメタに基づいて、各々の前記エージェントに関して、前記目標経路を追従する目標経路追従力、他の前記エージェントとの衝突を回避する衝突回避力及び前記障害物を回避する障害物回避力を演算し、各々の前記エージェントに発生する力を演算して前記群集モデルの動作を演算する付記１ないし付記３に記載の描画制御装置。
【０１０９】
（付記５）前記群集動作制御手段により制御された複数の前記エージェントにおける動作を前記群集モデルとして描画する描画手段を備える付記１ないし付記４に記載の描画制御装置。
【０１１０】
（付記６）自律的な個体としての複数のエージェントからなる群集モデルを用いた動画の描画を制御する描画制御方法において、各々の前記エージェントの初期位置及び総数を少なくとも含む初期値を受付ける初期値受付工程と、前記群集モデルの代表的な移動経路としての複数の軌道を受付ける移動経路受付工程と、前記初期値受付工程により受付けられた初期値及び前記移動経路受付工程により受付けられた軌道に基づいて、前記群集モデルを構成する複数のエージェントにおける動作を制御する群集動作制御パラメタを演算する群集動作制御パラメタ演算工程と、前記群集動作制御パラメタ演算工程により演算された群集動作制御パラメタに少なくとも基づいて、前記群集モデルの動作を制御する群集動作制御工程とを備える描画制御方法。
【０１１１】
（付記７）前記移動経路受付工程が、複数の前記エージェントが移動する主たる移動軌道を示す主線を受付ける主線受付部と、前記主線に沿って移動する複数の前記エージェントの代表的な経路や広がりやばらつきを示す１本又は複数の補助線を受付ける補助線受付部とを備える付記６記載の描画制御方法。
【０１１２】
（付記８）前記群集動作制御パラメタ演算工程が、前記エージェントの移動速度、前記エージェントの進行時に目標とする経路である目標経路及び前記エージェント間の相互距離の少なくともいずれかを制御するための前記群集動作制御パラメタを演算する付記６又は付記７記載の描画制御方法。
【０１１３】
（付記９）前記初期値受付工程が、障害物に関する位置及び大きさを含む障害物情報を受付けるものとし、前記群集動作制御工程が、前記群集動作制御パラメタ演算工程により演算された各々の前記エージェントの群集動作制御パラメタに基づいて、各々の前記エージェントに関して、前記目標経路を追従する目標経路追従力、他の前記エージェントとの衝突を回避する衝突回避力及び前記障害物を回避する障害物回避力を演算し、各々の前記エージェントに発生する力を演算して前記群集モデルの動作を演算する付記６ないし付記８に記載の描画制御方法。
【０１１４】
（付記１０）前記群集動作制御工程により制御された複数の前記エージェントにおける動作を前記群集モデルとして描画する描画工程を備える付記６ないし付記９に記載の描画制御方法。
【０１１５】
（付記１１）自律的な個体としての複数のエージェントからなる群集モデルを用いた動画の描画を制御する描画制御プログラムにおいて、各々の前記エージェントの初期位置及び総数を少なくとも含む初期値を受付ける初期値受付手段、前記群集モデルの代表的な移動経路としての複数の軌道を受付ける移動経路受付手段、前記初期値受付手段により受付けられた初期値及び前記移動経路受付手段により受付けられた軌道に基づいて、前記群集モデルを構成する複数のエージェントにおける動作を制御する群集動作制御パラメタを演算する群集動作制御パラメタ演算手段、前記群集動作制御パラメタ演算手段により演算された群集動作制御パラメタに少なくとも基づいて、前記群集モデルの動作を制御する群集動作制御手段としてコンピュータを機能させる描画制御プログラム。
【０１１６】
（付記１２）前記移動経路受付手段が、複数の前記エージェントが移動する主たる移動軌道を示す主線を受付ける主線受付部と、前記主線に沿って移動する複数の前記エージェントの代表的な経路や広がりやばらつきを示す１本又は複数の補助線を受付ける補助線受付部としてコンピュータを機能させる付記１１記載の描画制御プログラム。
【０１１７】
（付記１３）前記群集動作制御パラメタ演算手段が、前記エージェントの移動速度、前記エージェントの進行時に目標とする経路である目標経路及び前記エージェント間の相互距離の少なくともいずれかを制御するための前記群集動作制御パラメタを演算する付記１１又は付記１２記載の描画制御プログラム。
【０１１８】
（付記１４）前記初期値受付手段が、障害物に関する位置及び大きさを含む障害物情報を受付けるものとし、前記群集動作制御手段が、前記群集動作制御パラメタ演算手段により演算された各々の前記エージェントの群集動作制御パラメタに基づいて、各々の前記エージェントに関して、前記目標経路を追従する目標経路追従力、他の前記エージェントとの衝突を回避する衝突回避力及び前記障害物を回避する障害物回避力を演算し、各々の前記エージェントに発生する力を演算して前記群集モデルの動作を演算する付記１１ないし付記１３に記載の描画制御プログラム。
【０１１９】
（付記１５）前記群集動作制御手段により制御された複数の前記エージェントにおける動作を前記群集モデルとして描画する描画手段としてコンピュータを機能させる付記１１ないし付記１４に記載の描画制御プログラム。
【図面の簡単な説明】
【０１２０】
【図１】本発明の第１の実施形態に係る描画制御装置の構成を示すブロック図
【図２】本発明の第１の実施形態に係る描画制御装置のフローチャート
【図３】本発明の第１の実施形態に係る描画制御装置の画面レイアウト及び群集動作制御パラメタの説明図
【図４】本発明の第１の実施形態に係る描画制御装置の各エージェントの目標経路の説明図
【図５】本発明の第１の実施形態に係る描画制御装置の各エージェントの移動速度の説明図
【図６】本発明の第１の実施形態に係る描画制御装置の各エージェント間の標準距離の説明図
【図７】本発明の第１の実施形態に係る描画制御装置の標準距離の補正量の説明図
【図８】本発明の第１の実施形態に係る描画制御装置の各エージェントの移動の説明図
【図９】本発明の第１の実施形態に係る描画制御装置の実験結果
【符号の説明】
【０１２１】
１  初期値受付手段
２  移動経路受付手段
２１  主線受付部
２２  補助線受付部
３  群集動作制御パラメタ演算手段
３１  移動速度演算部
３２  目標経路演算部
３３  標準距離演算部
３４  距離補正量演算部
４  群集動作制御手段
４１  経路追従力演算部
４２  衝突回避力演算部
４３  障害物回避力演算部
４４  群集動作演算部
５  描画手段
１００  利用者
【図１】
2010108319.tif 000026
【図２】
2010108319.tif 000027
【図３】
2010108319.tif 000028
【図４】
2010108319.tif 000029
【図５】
2010108319.tif 000030
【図６】
2010108319.tif 000031
【図７】
2010108319.tif 000032
【図８】
2010108319.tif 000033
【図９】
2010108319.tif 000034