CGAL 2D Conforming Mesh 是否支持固定点?

Does CGAL 2D Conforming Mesh support fix points?

在我的网格划分应用程序中,我必须在域内指定固定点。这个想法是,固定点也必须是域被网格化后的元素点。

此外,固定点周围的元素应该更密集。一般的概念是,对于固定点,这些点周围应该存在一个半径 r,这样 r 内部的网格大小与 r 外部的网格大小不同。 r 内部和外部的网格大小应该是可指定的。

这两件事在CGAL 2D Mesh algorithm中可行吗?

是的,网格器不会从三角剖分中移除任何点。 但是请注意,如果您插入的点离约束太近,这将导致约束的细化,而它不是 Gabriel。

用你的措辞,初始约束Delaunay三角剖分的所有输入点都是固定点,因为二维网格生成器只会在三角剖分中插入新点:它永远不会删除任何点。

关于密度,可以复制、粘贴、修改一个标准class,比如CGAL::Delaunay_mesh_size_criteria_2<CDT>,使固定点附近的局部大小上限变小。

现在,困难在于如何实施新的尺寸政策。您的条件 class 可以存储对另一个 Delaunay_triangulation_2 的 const 引用,它只包含您想要的固定点。然后,对于每个三角形查询,您可以调用 nearest_vertex 然后实际检查查询点之间的距离是否小于圆的半径范围。对于三角形,您可以只验证其重心,也可以验证三角形的所有三个点。然后,根据 that/those 查询的结果,您可以在 CGAL::Delaunay_mesh_size_criteria_2<CDT>.

副本的代码中修改大小限制