我正在尝试使我的增量凸包算法的玩具实现更加稳健,并且在某些退化情况下,有许多几乎共面的点,可见区域包含“洞”。
有没有办法检查标记为可见的面是否形成一个简单连接的区域?
考虑到某个起点,我正在考虑某种BFS,但我无法理解它。
答案 0 :(得分:1)
我假设您有简单的方法来遍历网格。如果没有,那么另一种算法可能更合适。
保留一组边界边缘索引。
当您继续遍历所有面的边缘以查找边界边缘时,请检查每个边缘边缘与第一个循环中获得的边界边缘集。如果新边框边缘不在边框边缘集中,则它会形成第二个循环,这意味着您的选择不紧凑。