TETGEN 可以生成二维点集的三角剖分吗?

计算科学 软件 网格生成 delaunay三角剖分
2021-12-04 10:36:01

我想将我的 Fortran 90 应用程序链接到一个库,该库将为我提供 Delaunay 三角剖分(对于一组 2D 点)和四面体化(对于一组 3D 点)。正如Fastest Delaunay triangulation library for sets of 3D points thread 中所建议的那样,我将尝试 TETGEN,它既可以用作库,也可以用作命令行实用程序。默认情况下,TETGEN 为您提供 3D Delaunay tetrahedralization,我想知道我是否也可以使用 TETGEN 获得一组 2D 点的Delaunay三角剖分。正如下面评论中所指出的,这可以通过类似于 TETGEN 的 API 使用 TRIANGLE 来完成,但我仍然希望将我的代码链接到一个库,而不是两个不同的库,具体取决于维度。

那么,除了 3D 之外,我可以将 TETGEN 与一组 2D 点一起使用吗?关于我可以使用什么库的任何其他建议?上面的线程还提到了 CGAL。

1个回答

TetGen专门设计用于执行 3-D 网格 -> 四面体化。我没有看到一种可靠且直接的方式来明确地将其用作二维网格器。值得指出的是,Triangle有一个“令人惊讶的”相似的 API,专门针对 2-D 网格生成。这并不奇怪:TetGen 和 Triangle 都是pdelib2软件集合的一部分,其中包含解决 PDE 的必要构建块。因此,如果您已经在使用 TetGen,我建议您将 Triangle 添加到您的库依赖项中(可能除了 pdelib2 中的其他几个“帮助程序”之外)。

关于 GMSH。最近,GMSH 开始为其 C、C++、Python 和 Julia 的功能提供 API。这将消除使用 GMSH GUI 甚至命令行界面的需要。当然,GMSH 提供了 Delaunay 三角测量