CGAL 2D符合网格支持修复点吗?

时间:2015-04-24 09:14:39

标签: cgal

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

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

对于密度,您可以复制,粘贴和修改标准类,例如CGAL::Delaunay_mesh_size_criteria_2<CDT>,以便固定点周围的局部大小上限较小。

现在,困难在于如何实施新规模政策。您的条件类可以将const引用存储到另一个Delaunay_triangulation_2,它只包含您想要的固定点。然后,对于每个三角形查询,您可以调用nearest_vertex,然后实际检查查询点之间的距离是否小于圆的半径范围。对于三角形,您可以仅针对其重心或三角形的所有三个点进行验证。然后,根据/那些查询的结果,您可以在CGAL::Delaunay_mesh_size_criteria_2<CDT>副本的代码中修改大小限制。