网格曲面的提取
网格曲面的提取
Marching Cubes(MC)
核心思想:在规则的三维体素网格上,对每个小立方体判断其八个顶点是否在等值面内,通过256种拓扑配置之一,查表生成三角面片。
优点:简单高效,适合GPU实现
缺点:可能产生拓扑不一致,难以处理尖锐边缘
Marching Tetrahedra(MT)
核心思想:将一个立方体划分为多个四面体,在每个四面体中进行线性插值并构造三角面片
优点:避免MC的拓扑不一致问题
缺点:结果比MC更细碎,可能有更多三角形
Dual Contouring(DC)
核心思想:不直接生成三角片,而是计算每个体素的等值面交点,生成“dual vertex”(一般在体素内部,通过 QEF 求解最佳点),再连接这些点生成面片。
优点:保留锐利特征(如边角),输出结构更紧凑
缺点:实现复杂,依赖高质量的梯度信息
Dual Marching Cubes(DMC)
- 核心思想:结合 MC 和 DC 的优势,构建 dual 网格但沿用 marching cubes 的遍历框架
- 优点:支持细节表达,适合处理复杂结构,拓扑更好
- 缺点:实现较复杂,算法细节多,较难调试
FlexiCubes
核心思想:一种拓扑可控的等值面提取方法,自动在规则网格中选择适当的网格单元分辨率(adaptive cells),使得重建的网格可以更好地保留特征和拓扑结构。
优点:支持高质量拓扑结构(如避免小孔或错误连接),可扩展性强
缺点:实现更复杂,需要预处理
Reach for the Spheres(RFTS)
- 核心思想:使用球体(spheres)而非体素作为构建块来提取等值面,避免了传统方法中的笛卡尔栅格偏置。使用一组球进行空间覆盖,再利用球的交叠关系推导网格。
- 优点:表面更平滑,避免体素栅格导致的锯齿状误差,更好地处理稀疏或低分辨率数据
- 缺点:依赖较复杂的数据结构(球体之间的邻接),运行较慢
Reach for the Arcs(RFTA)
核心思想:扩展 RFTS 方法,用弧(而不是直线)来连接球体之间的连接点,从而进一步提升拟合精度,特别是在曲面上。
优点:重建结果更加平滑,精度更高,能更自然地表达曲面变化
缺点:计算更复杂,需要处理圆弧几何
Power Diagram Method
核心思想:一种基于加权点集的空间划分方法,Power Diagram 是 Voronoi 图的推广。每个点有一个“权重”,影响它的作用区域。
在网格重建中的应用:可用于构建 implicit surface,特别是 Poisson reconstruction 的空间划分。在 Dual Contouring 的拓展中也有应用,用于构建更稳定的 dual 网格结构。
优点:可以更好地控制细分区域和权重分布,几何表达能力强
缺点:构建成本较高,数值精度要求高