2015-08-25 18 views
0

我對A *算法和其他基於圖形的算法做了一些研究,但大多數教程和實現都是用2D網格和2個參數(x,y座標)製作的。3D配置空間中的星型算法

是否有人在不同的配置空間中使用示例(C++或Java)或有關A *的鏈接提供了很好的教程。如3D環境或非網格,X,Y,Z座標或X,Y方向,或其他任何東西......

感謝

+1

這與3D完全相同,但您的啓發式算法會將當前位置和目標之間的距離計算爲3D向量的長度,而不是2D。至於沒有網格,這取決於。我建議你通過2D實現它,然後將其移植到3D。如果你有特定的問題,那麼它會更適合這個網站。 –

回答

1

一般的A *算法不包括電網,也不是尺寸。它是加權圖的最短路徑算法。這個圖的節點和邊是什麼,完全是特定於場景的。

在2D網格的情況下,節點是網格單元,邊指定鄰​​接。一個類似的圖可以從3D網格中構建。如果您不想將自己限制爲網格,則可以使用任意連接構建任何圖形。

節點不一定需要對應於位置,並且權重不一定需要對應於距離。例如,Pinocchio System使用A *來生成骨架嵌入。這裏的距離是嵌入質量/能量(儘管能量不是沿着路徑累積)。節點對應於部分嵌入。

+0

感謝您的回答和良好的示例!如果你有其他類似的例子,請告訴我。再次感謝 ! – Snoopyjackson