【发布时间】:2013-10-05 14:09:01
【问题描述】:
我在试图弄清楚如何为交错的等距地图实施寻路系统时遇到了问题。
我阅读了 A* 算法并试图了解它在等轴测图上的表现形式,结果将我带到了这里。
所以问题就出在这里(我对便宜的显示器感到抱歉)
所以,我目前在绿色瓷砖 (2,3) 上,我试图找到通往红色瓷砖 (3,1) 的路径。
基于 A* 算法,我尝试计算相邻图块的 F 值(我只对这 3 个图块进行了计算)。
由于图像显示 (2,1) 的 F 值低于 (2,2) 并且这是所有问题的根源,因此具有 j+2 和 j-2 的对角线图块将(几乎)每次都低于F值比“逻辑”选择。
所以不是去(2,2),而是去(2,1)。
我该如何解决这个问题?有人可以给我一些提示我应该怎么做吗?
【问题讨论】:
-
如何计算 G 和 H?哦,根据给定的值,看起来你的 H 不是admissible。从(2,2)到(3,1)应该需要10,但你说需要20(即你高估了)。
-
我这样计算 (x1,y1) 和 (x2,y1) 之间的距离 H = (Math.Abs(x2-x1) + Math.Abs(y2-y1)) * 10,至于 G,我用 10 表示直接路径,14 表示对角线。