我有一组不重叠的多边形。这些多边形可以共享节点、边,但严格来说不能重叠。
现在,我将使用约束德劳内三角剖分 (CDT) 技术对它们进行网格划分。我可以毫无问题地获得网格。
我的问题是,在网格之后,我想知道哪个网格元素属于哪个原始多边形。我目前的方法是计算每个网格元素的质心,并检查该质心属于哪个原始多边形。但我不喜欢这种方法,因为它的计算量很大。
有没有有效的方法来做到这一点(就 Big O 运行时而言)?我的项目涉及数以万计的多边形,我不希望速度减慢。
编辑:确保网格元素中的所有顶点共享一个公共面不起作用,因为在某些情况下所有顶点可以有多个公共面,如下所示(虚线形成一个网格元素,其顶点有 2 个公共面):