根據我對A *啓發式以及Bresenham算法如何工作的理解,這可能不可行,因爲只有當前狀態和目標狀態被傳遞給啓發式函數。但也許有人對這個問題有一個聰明的解決方案。A *啓發式創建Bresenham行
我正在使用A *來規劃網格上的路徑,我想要一個啓發式方法,噹噹前狀態和目標之間或下一個回合之間存在空閒空間時,會導致最佳路徑跟隨Bresenham的路線圍繞障礙。
下面是一些圖像來說明問題。
曼哈頓距離:
如果世界上的運動作用就像一個格子一個棋子,這將是完全正常的,但我最終將路徑轉換的A *到動作上連續平面,所以這確實工作得很好。
歐氏距離:
更好的,但還不夠完善。注意最後的直線。對角線可以很容易地保持對角線,這正是我想要的。
我想:
布氏線畫到下一回合或目標。
我發現這裏的好資源,http://theory.stanford.edu/~amitp/GameProgramming/Heuristics.html說什麼我期待的倒是,但似乎只從起點至終點繪製布氏線工作。我想要的是佈雷森漢姆的線路正在吸引下一個障礙。
任何想法都可以解決這個問題嗎?
你有沒有最終實現這個東西? – AShelly 2011-06-16 19:14:19
@我試着根據先前訪問過的單元格中的直線路徑來加權hueritic,但似乎沒有做到我想要的東西。我想你需要徹底改變A *或者完全使用不同的算法來解決這個問題。 – peskal 2011-06-21 00:38:59
您是否嘗試過使用Brasenham線距如何啓發式? – 2014-07-28 20:12:15