所示。用代码来标示像素值的性质,当像素值大于阈值时,用 1 来表示像素值;当像素值小
于阈值时,就用 0 来表示。四个相邻点就有 16 种可能,图 3 列出了所有的可能性。每种形式 都代表着等值线和正方形边之间的拓扑关系[11]。等值线的路径在图中用虚线加以表示。如果 等值线不与正方形相交,那么他们之间就不存在虚线。以 0001 图为例,该图中三个象素小 于阈值,而左下角的象素值大于阈值,那么可以得出等值线的一侧是圆圈代表的象素,另一 侧是其他三个象素,那么图中的等值线只能以虚线形式与正方形相交。正方形边与等值线的 交点坐标用线性插值求得。当同一个图像里的所有正方形都形成了各自的等值线,就可以将 这些等值线连接成一个闭合的等值线。来!自~优尔论-文|网www.youerw.com
移动正方形算法如下[12]:
① 得到同一幅图像中所有由四个相邻像素点构成的正方形。
② 根据每个像素值和阈值的关系,得到代码。
③ 根据生成的代码求出等值线和正方形的拓扑关系。
④ 再根据拓扑关系得到正方形边和等值面的交点。
⑤ 连接各等值线得到封闭的等值线。
移动正方形等值面的几种情况
本科毕业设计说明书 第 11 页
2.2.2 移动立方体(Marching Cubes)算法
MC 算法的基础是先假设沿着立方体的边的数据场是呈连续线形变化的,也就是说如果 等值面的值介于某条边的两个顶点之间,在该边上有且仅有一个这条边与等值面的交点[13]。 所以说该算法的基础就是先得到立方体体素中等值面的分布。
我们来通过理论和实例相结合来对 MC 算法进行更深入的了解。 首先我们可以将经过处理后的数据可以看做是代表了密度值的一些网格点组成的。