[4]。尽管用户干预能够避免一部分模糊性,由于这样增加了一定的操作难度,该方法无法被
广泛采用。而另一种基于体素的方法就是我们要介绍的 MC(Marching Cube)算法。
MC 算法的基本思想是依次将数据场中的体元进行处理,然后根据体元中每个顶点的值来 确定这个体元内部等值面的存在形式。在这个算法实现过程中,体元内等值面需要计算三角片 网格逼近等值面以及三角片的每个顶点的法向量。
2.1.1 体素模型的介绍 体素一般包含两种:一种直接把体数据里面的采样点作为体素,与像素定义相似;另一
种则是将由八个采样点确定的空间定义为体素。
当在三维空间内采样后的区域中,采样点在 x,y,z 三个方向上均匀地分布着,且采样间距 分别为Δx,Δy,Δz,我们就可以用三维数字矩阵来表示体数据。定义出一个立方体区域的八个体 素的采样点称为这个体素的角点。他们的坐标分别为:(i, j, k), (i+1,j,k), (i,j+1,k), (i+1,j+1,k), (i,j,k+1), (i,j,k+1), (i+1.j+k+1), (i,j+1,k+1) 和(i+1,j+1,k+1),对于体素内任一点 P6(x, y,z),其 物理坐标可以转换为图像坐标 i6 , j6 ,k6, 其中 i6=x/Δx, j6=y/Δy, k6=z/Δz.当把方向无关的三个 线性插值作为体素模型时,其值可以表示为
式(2-1)经整理得
F (x, y, z) a0 a1x a2 y a3 z a4 xy a5 yz a6 zx a7 xyz (2-5)
其中系数 a(i=0,1,…,7)由八个角点的函数值得出。
2.1.2 等值面(Iso-Surface)介绍 重建等值面是面重建算法中最经典的算法之一。在进行表面重建后,可以在分割提取出
的空间中建立出对应物件的立体几何模型。我们可以用构造等值面在体数据中重建物件的立 体几何模型。如果我们把体数据看成是某个空间区域内关于某种物理属性的采样集合,非采 样点上的值用邻近采样点插值来估计,则该空间区域内所有具有某一个相同值的点的集合将 定义一个或多个曲面,称之为等值面[5]。由于每种物质都有着不同的物理属性,所以我们可 以把等值面看成不同物质的分界。文献综述
等值面是空间中所有具有某个相同值的点的集合,它可以表示成
{(x, y, z), f (x, y, z) c}
其中 C 为常数。
然而也存在没有等值面的体素,如果角点同时大于或者同时小于 C,这样的体素不存在 等值面,只有角点即大于又小于 C 的体素才具有等值面,这种体素我们称为边界体素。边界 体素内的等值面称为该体素的等值面片。等值面与边界体素面的交线是一条由此等值面上四 个角点确定的双曲线。除了体数据边界处的等值面,其他等值面片可以构成连续无孔无悬浮 面的曲面,我们称之为等值拓扑一致性[6]。我们可以认为等值面是由许多个等值面片组成的 连续曲面,因为对于任何一个在两个边界共面的体素,等值面和公共面存在交线,这两个等 值面片是互相吻合的。
第 10 页 本科毕业设计说明书
由于构造等值面的计算、显示很复杂,而多边形的显示十分方便,所以,等值面的三角 面片拟合是一种常用手段。本章介绍的 MC 算法就是在边界体素中生成三角面片,然后用三 角面片拟合出等值面。
2.2 MC 算法的原理
2.2.1 移动正方形 移动正方形法是移动立方体法的基础,是一种二维算法。移动立方体法(Marching Cube)
正是由移动正方形法在三维中引申出来的。
移动正方形法也可以用来寻找等值线。第一步找出编号为 1,2,3,4 的相邻的像素,如图 2