5

このように、g値を推定する間違った方法を取得するためだけに、「ナビゲーションメッシュのA *アルゴリズム」をグーグルで検索しました

ここに画像の説明を入力

またはこれ ここに画像の説明を入力

青い線分の長さを合計すると、g 値が得られますが、過大評価されています (g 値は過小評価されるべきです)。このアルゴリズムは最適化されたパスを返しますが、最短であるとは限りません。

私が考えることができる唯一の方法は、ナビゲーションメッシュに基づいて可視性グラフを描くことです.しかし、それはあまりにも多くのメモリを消費します.

ここに画像の説明を入力

ナビゲーション メッシュで最短経路を計算する他の方法はありますか?

4

1 に答える 1

2

あなたが意味するものに近い最短経路を得るには、固定点をAスターノードとして使用するのをやめるべきです。つまり、三角形の中心または三角形のエッジの中心を使用するのをやめてください。

A スターが伝搬するにつれてポイントを移動してみてください。たとえば、次の三角形のエッジで A スター ノードを使用します。

  • 次の A スター ノードの三角形のエッジと、前の A スター ノードと目的地によって形成されたセグメントとの交点

  • または、次の A スター ノードの三角形の端にある上記の交点から最も近い点

または、現在行われているように A-star を計算した後、同様の基準を使用してパス ノードを変更してみてください。

これにより、最終的なパスが滑らかになることに注意してください(図面の赤い線として)。ただし、これは過大評価を減らすのに役立つだけであり、意図したとおりに最短経路を見つけることを保証するものではありません。

より良いのは、三角形の中心を使用して A スターを計算した後、パス ノードを変更してみてください。これにより、A スターの出力パスが通過する三角形を通る最短パスが得られます。

于 2016-04-28T19:12:23.063 に答える