質問 (解決済み)[artisocモデル] エージェント複数を連動させて動かしたい | |
質問者: shunさん , 質問日時: 2019/01/16 16:00 |
ただいま、卒業研究で船舶の避難をシミュレーションしようとしているものです。 artisocでは基本的に点でのエージェントの挙動・認識となるかと思うのですが船の挙動に少しでも近づけるために、エージェントを複数(とりあえず2つ)を連動して動かしたいと考えています。 具体的には、1つ目のエージェント(saki)が2つ目のエージェント(ato)の後に続いて動くようにしたいです。 そのように再現するには、1ステップ前のsakiのdirectionをatoのdirectionとして用いたい、よって、gethistory()を用いようと考えました。
以下は余分なところを排除して簡単にしたものです。
saki agt-init{ my.X=1 my.Y=0 my.direction=rnd()*360 } agt-step{ forward(1) universe.terminal.dir=my.direction }
ato agt-init{ my.X=0 my.Y=0 } agt-step{ my.direction=gethistory(universe.terminal.dir,1) forward(1) }
ちなみにdirは実数型変数として定義しています。
このプログラミング式ではエラーは起こらないですが、2つのエージェントが連動して同じ方向に進んでいきません。 僕の考えていることがgethistory()を用いてできるのか、それとも別に方法があるのかご教示よろしくお願いします。
|
|
▼解決した回答
▼ 全ての回答
|
|