如何使用struct :: graph(:: op)找到两个节点之间的最短路径?

时间:2018-05-30 18:43:52

标签: tcl path-finding

我有一个有障碍物的网格,需要找到两个节点之间最吸引人的多边形。这项操作很可能是一个瓶颈,所以我希望尽早装袋一个合理的高性能实施,并且仍然有一个便携式解决方案(即没有C)。我喜欢在游戏后期做一个OpenCL解决方案,但必须先到达那里。

我已经使用struct::graph解决了许多问题,并认为我可以再次使用它。阅读有关graphop的文档,似乎问题已经解决,但我不知道如何实际使用API​​。

问题是设计简化了。有一个有限的矩形网格(30x30顶部),其中每个单元格是图中的一个节点。只要沿途没有障碍物,通常是已存在的多边形的末端,每个节点都具有与网格中其他节点轴对齐的边缘。较长边的边缘成本较低,使得许多转弯(阶梯)对路径寻找算法的吸引力较小。 (还有其他启发式方法会影响边缘成本。)

假设我已在上面填充struct::graph,如何找到 从节点A到任何一组节点B的最短路径(如果连接到超图,则很多)?

到目前为止的进展:许多op API似乎返回到图中的所有节点的最短路径,这不是我想要的,尽管我可以使用它直到我找到更好的方法。假设我可以在walk cmd中修改图形,我可以进行一些更简单的即时修剪,但文档并不表示这是一种可能性。

如果结果是struct :: graph本质上(太慢)我很乐意将它修补成形。只需知道我将要使用的内容......

0 个答案:

没有答案