4

我需要从支持圆角和锐利几何的八叉树或数组中的体素块生成等值面。我搜索了似乎能够完成这项任务的算法并找到了几个,包括双轮廓、扩展行进立方体和双行进立方体。然而,前两个需要 Hermite 数据,这似乎是一个巨大的内存消耗。此外,我找不到任何这些的实际算法,只有来自期刊的方程式和模糊的描述。任何帮助找到可以解决我的问题的算法将不胜感激。

4

1 回答 1

6

你提到的那些是最突出的。但是请记住,它们也有一些限制:

Extended Marching Cubes (EMC) - 通过考虑样本法线(以及法线的梯度)来保留清晰的特征,但是这种方法仍然不是拓扑一致的(同胚),​​它不允许自适应细化(网格的简化) ) 并且具有单元间依赖性(由于边缘翻转过程;这不会允许最终的 GPU 加速)。

双轮廓 (DC) - 保留清晰的特征并且可以自适应地细化,但具有单元间依赖性,并且还产生非流形网格。

Dual Marching Cubes (DMC) - 保留清晰的特征,并产生多种网格(处理歧义),还允许自适应细化,但仍然存在单元间依赖性(由于它的双重性质)并且也不会那么准确,因为到它的条子消除过程,该过程将顶点四舍五入(错误可能可以忽略不计)

我相信这些还有其他可能的组合,以及完全不同的技术。不过,我建议您看看Cubical Marching Squares (CMS)。我目前正试图解决它,因为我希望实现它。网上没有太多的实现。但是,它仍然适用于 Hermite Data(据我所知,这与您有关)。

于 2014-06-21T23:45:59.960 回答