我目前想知道是否有一个通用的算法来检查一组平面多边形,而不是必须的三角形,是否构成了一个不漏水的多面体。每个多边形都有一个oriantation(法向量)。一个简单的解决方案就是说是或否。更高级的版本是指出多边形“开放”的边缘。我对如何接近多面体并不是很感兴趣。
我想指出,我的“洞”并不是很小,例如,一个立方体的一面可能会丢失。因此,“欠采样校正”算法似乎不是正确的方法。此外,我说的是大约100-1000,而不是1000000多边形,所以计算时间不应该是一个问题。
任何提示或提示?
亲切的问候, 馆长答案 0 :(得分:3)
我相信你可以使用一个简单的拓扑测试 - 计算每条边出现在完整多边形列表中的次数。
如果多边形集定义了闭合体积的表面,则每条边应该具有count>=2
,表示每个边缘由(至少)两个相邻多边形共享。如果表面完全是count==2
,那么
带count==1
的边指示表面的开放区域。
答案 1 :(得分:1)