【发布时间】:2016-12-13 16:27:08
【问题描述】:
我想在两个多边形(比如内部和外部多边形)之间创建一个二维三角形网格(可能是 Delaunay)。我的要求是不要在内部多边形上插入新节点,或者我希望保留内部多边形。有没有办法做到这一点?
【问题讨论】:
标签: polygon mesh cgal triangulation
我想在两个多边形(比如内部和外部多边形)之间创建一个二维三角形网格(可能是 Delaunay)。我的要求是不要在内部多边形上插入新节点,或者我希望保留内部多边形。有没有办法做到这一点?
【问题讨论】:
标签: polygon mesh cgal triangulation
根据您的描述,您似乎需要一个受约束的 Delaunay 三角剖分。看到这个example。
【讨论】:
CGAL 中的conforming triangulation 可以满足您的需求。您必须为其提供两个多边形的轮廓,并在要保留的区域中设置一个种子点。包含种子点的区域将被三角剖分,但不会被网格化(有关此行为的示例,请参阅我上面链接的文档)。
您还可以使用is_in_domain() 函数来检查人脸是否在网格区域中。通过这种方式,您可以忽略内部多边形中的面并使用现有的三角剖分来代替它们。
【讨论】: