1

これは厳密にはプログラミングの問題とは関係ありませんが、SO はプログラミング関連の問題に最適なリソースであるため、試してみることにしました。:)

建物内で、javascript を使用して 3D パスファインディングを行う必要があるプロジェクトがあります。ダイクストラ アルゴリズムは、不規則な形状を非常にうまく処理するため、おそらくこれに最適なケースです。

ただし、問題は次のとおりです。ダイクストラが機能するにはノード構造が必要です。しかし、そのデータを作成する方法は? 明らかに、basedata から何らかの変換を行う必要がありますが、その basedata を作成するにはどうすればよいでしょうか? 設計図を調べて、考えられるパス ノードごとに x と y の値を取得し、距離を手で計算するのは少しやり過ぎのように思えます...そして悪口を言いがちです...

これには Google Scetchup を使用することさえ考えていました。可能なパスごとに線を引きますが、問題はそこからパスデータを取得することです。:/

私はこの問題を抱えた最初の人ではありません...何かアイデアはありますか? パス データを作成するための既製のツールはありますか?

4

2 に答える 2

0

既製のツールが見つからなかったため、Google SketchUp でパス データを線として作成し、それらを Collada ファイルにエクスポートして、Collada XML データ用の独自のコンバーターを作成しました。

于 2012-04-17T13:27:44.320 に答える
0

これは、3D グリッドを構築し、3D オブジェクトと交差する立方体を削除することにより、コードですべて実行できます。

次に、複数の 3D グリッド (毎回サイズを 2 倍にする) を重ねて、到達可能性のより一般的なアイデア (小さなグリッドから構築) を提供します。その後、パス検索アルゴリズムの真の美徳により、常に AB からの最も効率的なパスを自動的に見つけることができます。最大のセルを使用してパスを指示します (したがって、計算ステップが最も少なくなります)。: 大きな 3D グリッドの重みをわずかに低くして、そのパスが優先されるようにします。

これは多くのアプリケーションに使用できます。たとえば、地面を歩くことしかできない場合は、到達できない領域のブロックを単純に削除します。

于 2012-04-17T14:11:13.187 に答える