我曾用过 CGAL::Surface_mesh_shortest_path
之前用拓扑方式找到准确的最短路径。但现在我想要一些更简单的东西,似乎是缺少的库,是找到的 合理的 从一个面到另一个面的路径,并返回中间的面的列表。
有没有什么方法可以不用从头开始实现树搜索?
CGAL提供了一个类 Dual
作为网状物的包装物。顾名思义,您可以获得一个 对偶图. 如果你的网格有边界,你必须用一个 boost::filtered_graph
. 现在你可以运行 boost::dijkstra_shortest_paths
. 现在对于任何一个顶点,前置图都会引导你找到源顶点。
你可以找到一个自包含的例子 此处.
你也许可以添加一个访问者,这样你就会在最短路径算法到达目标顶点时立即抛出异常而停止。