私は今レシピブック06を参考に、渋滞を考慮した避難シミュレーションを作成しようとしています。そこで、渋滞を再現するために、make_agtset_around_ownを使って周りの関数を取得し、周りにエージェントがある場合は速度を0にするという方法で考えています。しかし、後方のエージェントも取得しているために避難時間がその分多くなってしまいます。そこで、連続空間上で前方のエージェントのみを取得する方法はあるでしょうか?恐縮ですがご教示いただけますと幸いです。 以下にモデルを添付いたします
top of page

bottom of page
前方のエージェントのみを簡単に取得する方法として、2つの方法が考えられます。
周りのエージェントを取得し、自エージェントの移動方向から前方にいるエージェントのみを取得する
自エージェントを1歩前にずらして周りのエージェントを取得し、元の位置に戻る
1の場合は、自エージェントの角度とturn_agtを使って相手のエージェントの方を向いたあとの角度の差分を取るとよいと思います。 2の場合は、自エージェントの座標と角度を保存しておいて、一歩移動し、周りのエージェントを取得した後、保存した状態に戻るとよいと思います。