确定非凸多面体的凹度

时间:2018-10-18 07:27:56

标签: mesh cgal polyhedra non-convex

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

我认为第一个(可能很简单)的答案是计算多面体 P 的凸包 C ,然后将隐式差异 C - P 分为相关组件。我可以朝正确的方向前进吗?如果是,如何计算网格之间的“差异”?是否有一些CGAL函数可用于“减去”网格并获取连接的组件。

1 个答案:

答案 0 :(得分:0)

是的,您应该查看Nef_polyhedron_3:https://doc.cgal.org/latest/Nef_3/classCGAL_1_1Nef__polyhedron__3.html

基本上,您可以将网格及其凸面网格转换为nef。从那里您可以访问布尔运算,包括差分。因此,您可以获得所需的内容,然后将其转换回多面体。     <code>input non convex mesh</code>     <code>input mesh and its convex hull</code>     <code>result of the difference</code>