我有兴趣找到计算3D多面体的确切中轴(或您选择的术语!)的软件。我想输出的是三角形面,可能是边和顶点的列表,表示内侧面的交汇点,薄片和接缝。理想情况下,我想要能够处理所有多面体的东西,包括凹面形状(此时三角形面不够),但我很乐意找到可以处理凸多面体的东西。
首先让我讲一下我所知道的软件:
有各种各样的“近似”方法,假设我正在变形的形状是一个复杂的表面,并通过在表面上散布密集点。
其中一种方法是http://www.cs.ucdavis.edu/~amenta/powercrust.html提供的powercrust软件
(虽然应该如何为这个软件定义点文件,以便正确处理凹形情况,但我不确定)
另一种近似方法被整合到Tight Cocone(http://www.cse.ohio-state.edu/~tamaldey/cocone.html)中。这再次密集地分布在表面上的点并使用voronoi图收敛到中轴。有一个“改进的CAD模型中轴”版本,它利用了表面已知的事实。但是,此改进模型未包含在分布式代码中。
有一个Matlab代码,例如,Gianni Schena(http://www.mathworks.com/matlabcentral/fileexchange/4917-skeleton-in-3d)中使用的几个简单方法的“3D骨架”基于距离变换。还是近似的。
显然,近似方法会受到某些类型的数值不稳定性的影响,从而使表面“尖峰”。此外,它们还会生成非常大的面和顶点数据结构。我想要的是多面体(如立方体)的中轴/表面的精确表示,它应该具有非常简单和小的数据结构。
在[2004,Culver,Keyser和Manocha,中间轴的精确计算中 多面体是一种计算多面体精确中轴的方法。但是,我找不到任何有人实际实现此方法的软件。
任何人都知道任何事情,或者有什么东西可以添加到我的3D内侧表面软件中?
答案 0 :(得分:2)
在SIGGRAPH 2010中检查Miklos的3D比例轴变换。 西格玛控制着比例,1是精确的中轴,但是 去除内侧毛发,你可以稍微增加...