查找源面和目标面之间的所有面。

问题描述 投票:0回答:1

我曾用过 CGAL::Surface_mesh_shortest_path 之前用拓扑方式找到准确的最短路径。但现在我想要一些更简单的东西,似乎是缺少的库,是找到的 合理的 从一个面到另一个面的路径,并返回中间的面的列表。

有没有什么方法可以不用从头开始实现树搜索?

cgal
1个回答
1
投票

CGAL提供了一个类 Dual 作为网状物的包装物。顾名思义,您可以获得一个 对偶图. 如果你的网格有边界,你必须用一个 boost::filtered_graph. 现在你可以运行 boost::dijkstra_shortest_paths. 现在对于任何一个顶点,前置图都会引导你找到源顶点。

你可以找到一个自包含的例子 此处.

你也许可以添加一个访问者,这样你就会在最短路径算法到达目标顶点时立即抛出异常而停止。

© www.soinside.com 2019 - 2024. All rights reserved.