2016-10-05 4 views
-4

私は既にC#言語で、グリッドベースのシステム経由で星のパス探索を実装しています。しかし、私は、最短距離で利用可能なはしごがあれば、最短距離に移動するためにはしごを使用するシステムを作ることを試みています。しかし、私はそれを行う手がかりがない、私はオンラインで検索し、それを行う方法が混乱しているので、私は多くの投稿を読むので、それははるかに役立つだろうラスタ機能をAのパスに追加する方法 - アルゴリズムを見つける。A * Pathfinding Algorithm C#では、ラダーシステムを実装

Image

感謝。

+0

さらに質問をする前に、[どのような種類の質問を避けるべきですか?](http://stackoverflow.com/help/dont-ask)をお読みください。 –

+0

[なぜ誰かが私を助けることができますか?]は実際の質問ではありませんか?](https://meta.stackoverflow.com/questions/284236/why-is-can-someone-help-me-not-an-実際の質問)より多くの質問をします。 –

答えて

-1

グラフの頂点としてはしごを考えてみましょう。それでは、A *を適用するだけです。これは最善の検索です。これは十分に文書化されたアルゴリズムです。 exampleについて:

*は、それが最も小さい被っ1用 溶液(目標)にすべての可能なパスの間で検索することで問題を解決し を意味し、情報に基づいた検索アルゴリズム、または最良優先探索でありますコスト(最小距離は )、これらのパスのうち は、最も早く ソリューションにつながるように見えるものとみなします。重み付けされたグラフの形で表されます: からグラフの特定のノードを起点に、そのノードから で始まるパスのツリーを構築し、パスを1ステップずつ展開して、 パスの1つが所定の目標で終了するまでノード。

+0

あなたはもっと具体的になりますか? A *アルゴリズムのコードはうまく動作しますが、3Dではしごをどうやって行うのか分かりません。 (一部のブログから見つけた画像で私の投稿を編集しました)。 あなたの答えをありがとう。 – Perman

+0

@ user2069785、ラダー単位に標準長さがある場合、各(x、y、z)点がノードであるかもしれないグラフのような3D空間について考えることができます。そのような点は、あなたがはしごを介してそれに到達できる場合に限り、ノードです。だから、はしごは頂点です。したがって、(x、y、z)点がノードであり、はしごが頂点である場合、生データをA *吸収可能な入力に変換する表現が必要です。 –

+0

どのようにしてラダーを頂点に表現できますか?私の問題を解決する方法を私に正確な方向を教えてくれますか? あなたの答えをありがとう。 – Perman

関連する問題