0

假设有一个非凸的 3D 多面体P,表示为网格。确定所有凹面的集合的最佳算法是什么?

我认为的第一个(可能是微不足道的)答案可能是计算多面体P的凸包C,然后将不合理的差异C - P划分为连通分量。我能走在正确的方向吗?如果是,您如何计算网格之间的“差异”?是否有一些 CGAL 函数可用于“减去”网格并获取连接的组件。

4

1 回答 1

0

是的,你可以,你应该看看 Nef_polyhedron_3 :https://doc.cgal.org/latest/Nef_3/classCGAL_1_1Nef__polyhedron__3.html

基本上你将你的网格和它的凸壳网格转换为 nef。从那里您可以访问布尔运算,包括差异。所以你可以得到你想要的,然后把它转换回多面体。 <code>输入非凸网格</code> <code>输入网格及其凸包</code> <code>差异结果</code>

于 2018-10-19T09:12:49.853 回答