创建不同路线的图表

时间:2016-03-03 15:48:39

标签: graph shortest-path maze

问题我有一个包含可遍历和已阻止单元格的二进制图像。在该地图上设置兴趣点(POI)。我的目标是从这些POI中创建一个关于障碍物(见图像)的图表,它代表了所有可能的和真正不同的路径。如果它们不能连接成一条路径,那么两条路径就是真正截然不同的。例如。如果图1中的建筑物外部是可以进入的,那么建筑物周围的路径就无法与建筑物之间的路径合并。

Floor plan example enter image description here

研究我看过迷宫求解器和各种最短路径寻找算法(例如A *,Theta *,Phi *),虽然它们对这个问题有用,但它们只搜索路径在两点之间,不考虑已建立的路线。

最好的猜测我正在考虑使用Phi *来搜索所有可能的路线并在之后使用魔法合并(想法?),但这不会给我真正独特的选择。

有人可以帮忙吗?

P.S。:我正在使用C ++而且我自己并不急于这样做,所以如果有一个库已经这样做了......)

1 个答案:

答案 0 :(得分:0)

我发现(并决定使用)并行细化算法(现在是Zhan-Suen)来创建图像骨架。这有效地假设几何形状塑造了常见的路线,我认为这很好。

通过使用Rutovitz交叉数,我可以从生成的骨架中提取分叉和交叉。然后我将确定从我的兴趣点(使用Bresenham的算法)到提取的交叉点的最短视线,以将它们连接到图形。

我希望这能帮助路上的人:)