MC算法也被称作“等值面提取(Isosurface Extraction)”,是三维离散数据场面绘制的经典算法,算法的核心思想是通过线性差值来逼近等值面,它的2D版本叫marching squares。该算法的主要作用是,提取空间中的等值面,并用三角面近似表示出来。 Marching Cubes算法主要应用于医学领域的可视化场景,例如CT扫描和MRI扫描的3D重建等。
这一步骤称为merge coincident points。 三、Marching cubes算法——3D情况 对于6面体,有8个顶点,因此有2^8 = 256中情况,又由于对称性,最后只保留15种情况,如下图: 四、算法需要注意的事项 在2D中,轮廓模糊(ambiguos cases,如Fig6.5中的Case 5和Case 10)很容易处理:对于每个模糊的情况,我们选择实现两种可能...
之所以这样,是由于Marching Cubes有个基本假设:沿六面体边的数据场呈连续性变化。也就是讲,如果一条边的两个顶点分别大于或小于等值面的值,则在该条边上有且仅有一点是这条边与等值面的交点。 为了说明一下算法,先从2D图像开始。图1(a)是一张像素灰度值为0~3的图像。给定阈值1.5,黑色的点表示像素值大于1.5...
1、j精选Marching Cubes算法Marching Cubes算法是三维规则数据场等值面生成的经典算法,于1987年由Lorensen和Cline两人在Siggraph Proceedings (pp. 163-169)提出。处理的对象一般是断层扫描 (CT),或是核磁共振成像(MRI )等产生的图像。、基本概念在Marching Cube算法中,体素是以逻辑上的六面体,由相邻层上的各四个像素...
为了解决这个问题,提出两种扩展的Marching Cubes算法。 第一种是把所有的歧义面都按Direct类型来连接。这样产生了23中模式(图7)。 图7 另一种刚好相反,所有歧义面都为Reverse类型,也有23中模式。 图8和图9分别显示了产用上面两种扩展算法后,对应于图5和图6的结果: 图8 图9 扩展的Marching Cubes算法虽然解决了...
首先基于MC的一系列算法需要明确一个“体元(Cell)”的概念。体元是在三维图像中由相邻的八个体素点组成的正方体方格,MarchingCubes算法的Cube的语义也可以指这个体元。注意区别体元和体素,体元是8个体素构成的方格,而每个体素(除了边界上的之外)都为8个体元所共享。
花了几天时间研究清楚Marching cubes后,发现这个方法是一个非常适用于地图编辑,网格编辑,procedural 生成的工具。最大的优点有着较好的边缘,表面处理。 然后我用U3D写了一个悬崖/地表的编辑器。其中使用到了Marching Cubes的2.5D,2D两种降维的方法。 talk is cheap,让我看效果! 0 0 下面讲解实现的算法,和过程。
Marching Cubes算法是面显示算法中的经典算法,它也被称为“等值面提取”(Iso-surface Extraction)。本质是将一系列两维的切片数据看作是一个三维的数据场,从中将具有某种域值的物质抽取出来,以某种拓扑形式连接成三角面片。算法的基本原理MC算法的基本思想是逐个处理体数据场中的各个体元,并根据体元各个顶点的值来决...
Marching Cubes 的值与等值面的位置关系,制定不同的拓扑连接关系。 就一个六面体而言,假设某一个顶点的值大于(或者等于)给定的等值面值C,我们就将该点标记位置1,表示该顶点位于等值面之内(或者之上)。而如果某一个顶点的值小于给定的等值面值C,我们就将该点标记位置0,表示该顶点位于等值面之外。如果六面体中某一...
Marching Cubes算法是三维离散数据场中提取等值面的经典算法,其主要应用于医学领域的可视化场景,例如CT扫描和MRI扫描的3D重建,这里是用于游戏中体素地形的生成以及破坏。 原理推演 在一个空间内,使用f(x,y,z) -> v 函数生成均匀排列的点。该函数生成的最大值是16,设置为白色,最小值为-34,设置为黑色。此时我们...