mapにエージェントの動線となるリンクを指定し、その線の上をエージェントが動きますが、この時、エージェントは線の長さや、角度を取得することは可能なのでしょうか?
角度が急である時はエージェントの速度を落とし、緩やかである時はエージェントを加速させたいと考えたため。
> エージェント自体は自分が動くリンクの形は捉えておらず、目的地と方向を比較した角度をとらえることは可能ということでしょうか?
そうですね。エージェントはpursue関数で移動する場合、目的地となるノードに向かって進むので、特に角度を意識していません。
他方、Directionにはエージェント自身の向き(角度)を参照できるので、それを用いて計算することは可能です。
> リンクの経路上を最短距離で動くから綺麗に曲線をエージェントが動いているように見えるということ、、?
目の錯覚と言えばそうですが、リンクが曲線に近い短い線分の連なりの場合、ステップ毎に任意の距離移動した場合、パラパラ漫画的には滑らかに動いているように見えます。
エージェントのDirectionを保存しておき、目的地となる座標にマーカーとなるエージェントを配置してTurnAgtすると、マーカーへの向き(角度)が分かります。(TurnAgtを実行した後に保存したDirectionを元に戻してください)
また、measure_agt_distanceを利用すると、2つのエージェント間の距離が取得できます。
もし、自分の座標と目的地の座標で計算したい場合は、measure_distanceを利用すると距離が取得できます。(measure_*関数を使うと、空間がループする/しないに関わらず、最短距離を返します)
@tamada_admin
エージェント自体は自分が動くリンクの形は捉えておらず、目的地と方向を比較した角度をとらえることは可能ということでしょうか?
リンクの経路上を最短距離で動くから綺麗に曲線をエージェントが動いているように見えるということ、、?