第四讲三维标量场数据可视化优质PPT.ppt
- 文档编号:16090030
- 上传时间:2022-11-19
- 格式:PPT
- 页数:72
- 大小:2.82MB
第四讲三维标量场数据可视化优质PPT.ppt
《第四讲三维标量场数据可视化优质PPT.ppt》由会员分享,可在线阅读,更多相关《第四讲三维标量场数据可视化优质PPT.ppt(72页珍藏版)》请在冰豆网上搜索。
光线投射:
光线投射、投影方法、投影方法、其它体绘制方法、其它体绘制方法抽取表面信息的可视化方法(面绘制)z断层间的构造等值面(断层间表面重构)z如CT采样数据场这样的三维数据,可以看成是由一些二维数据场按一定顺序排列组成的,各断层数据之间有很大的相关性。
断层数据广泛存在于医学、生物、地质、无损探伤等应用领域,其各断层间相互平行,每一断层与实体的交线就是实体在该断层的轮廓线。
如果先在各层之间找出物体的边界线,再利用断层之间的连贯性,就可以从一系列断面上的轮廓线中推导出相应物体的空间几何结构。
断层间的构造等值面断层间的构造等值面(断层间表面重构断层间表面重构)z主要应用领域是医疗成像z不同的扫描技术包括:
yCT(计算机断层扫描)yMRIMRI(核磁共振成像)多个二维切片的三维图像扫描仪给平均扫描仪给平均一个地区价值一个地区价值-而而不是在一个点的值不是在一个点的值切片间的空隙切片间的空隙切片切片切片切片断层间的构造等值面(断层间表面重构)CTMRISPECT单光子发射计算机断层成像术断层间的构造等值面(断层间表面重构)z断层数据的表面重构是从一系列断面上的轮廓线推导出实体的空间几何结构z相邻层的轮廓线位于相互平行的两个平面断层间的构造等值面(断层间表面重构)z如果在相邻两层,各自只有一条轮廓线,其三维重构问题称为单轮廓线重构问题z如果在相邻两层,有多条轮廓线,其三维重构问题称为多轮廓线重构问题断层间的构造等值面(断层间表面重构)z在一个断层中找出物体的轮廓线可以利用上面介绍的等值线方法。
找到所有轮廓线后,第二步是在各个相邻的轮廓线之间构造出物体的表面,然后进行绘制。
物体的表面可以用三角面片拼接出来,拼接的方法如图所示,就是在相邻的两层上找出三个点,其中两个点在同一层,另一个点在另一层。
在拼接过程中,一次加入一条边,就可以组成一个三角面片,但加入一条边有两种选择,例如图中P1Q2和P2Q1,如果选择不恰当,则拼接出的表面比较乱,也不光滑。
最简单的选择方法可以采用贪心方法,就是每次选择一条较短的边加入,这样可以保证构造出的表面比较光滑。
三角面片拼接物体表面10面绘制算法z将三维数据场中具有某种共同属性的采样点按其空间位置连接起来,构成一张连续表面,然后对抽取出的表面进行绘制z等值面算法y等值面:
在一给定三维数据场中,采样值均为某一给定值的所有空间点的集合y三维标量场可视化中最常用yMarchingCubes方法等值面生成(面绘制)等值面生成(面绘制)z构造物体的表面也可以采用等值面的方法。
等值面可以看成是等值线的三维扩展。
等值面的构造也就是等值线构造方法的三维扩展,最典型的就是MarchingCube方法。
二维数据场的基本单元是矩形,在三维空间的基本单元是一个小立方体。
如果我们找出每个小立方体中的等值面,这些等值面也就构成了整个物体的表面。
表面绘制方法绘制的动物骨骼表面13MarchingCubes算法z数据集y适用于三维规则标量场y每一立方体单元称为一个体素(voxel),数据场的数据值分布在体素的8个顶点上y典型代表:
CT数据、MRI数据MarchingCubeMarchingCubeMarchingCube方法方法方法f000f001f100f101f111体数据体素顶点每个体素转换单位立方体f011f110f010数据增强数据增强-最近邻插值最近邻插值f000f001f100f101f111f011f110f010体素内的任意点都用最近邻插值计算速度快不连续数据增强数据增强-三线性插值三线性插值f000f001f100f101f111f011f110f010三线性插值:
f(x,y,z)=f000(1-x)(1-y)(1-z)+f100x(1-y)(1-z)+f010(1-x)y(1-z)+f001(1-x)(1-y)z+f110xy(1-z)+f101x(1-y)z+f011(1-x)yz+f111xyz数据增强数据增强-三线性插值三线性插值表示的数值由如下表示表示的数值由如下表示(i)4个个1维维x方向的插值方向的插值(ii)2个个1维维y方向插值方向插值(iii)1个个1维维z方向插值方向插值f101f000f001f100f111f011f110f010FromUniversityofBonn建立等值面建立等值面z简单起见,以数值为零的水平等值面为例,并记正顶点为正顶点为立方体有八立方体有八,均为正或均为负。
均为正或均为负。
共计共计28=256不同情况不同情况以下两种最简单以下两种最简单此时,立方体内部无等值面部分此时,立方体内部无等值面部分等值面建立等值面建立一个顶点为正的情况一个顶点为正的情况逆线性插值的交点逆线性插值的交点逆线性插值z根据线性插值公式t处的函数值:
f(x*)=f1+t(f2-f1)z根据f*反求t=(f*-f1)/(f2f1)f1f2x1x2tf1f2x1x2tf*f*等值面建立等值面建立一个顶点为正的情况一个顶点为正的情况连接交叉点,形成了一个三角形连接交叉点,形成了一个三角形等值面的一部分等值面的一部分等值面建立正顶点在对应角处等值面建立等值面建立z通过分析这种方式所有256种情况,尽管它很相差很大,很多情况下是相似的。
z例如:
y顶点都为正或为负的2种情况,都没有等值面y16种情况,其中一个顶点从所有其他符号相反z实际上,仅有15拓扑不同的情况。
256种可能的情况种可能的情况可以归纳为这可以归纳为这15个个基于典型个案基于典型个案互补的基础上互补的基础上(顶点为正和负的互换)(顶点为正和负的互换)和旋转对称和旋转对称这样做的好处是这样做的好处是为便于实施为便于实施-我们我们只需要代码只需要代码15种情况代替种情况代替256种种27MarchingCubes算法z思想:
基于“分治(divide-and-conquer)”思想将整个数据场的等值面抽取分解到每一个体素中去完成28MarchingCubes算法z算法概述y读入三维规则标量场y对于每一体素依据所需抽取的等值面的属性值,确定其8个顶点的状态对于体素的每一条边,依据顶点状态,判别它是否与等值面有交点。
若交点存在,则求出交点在求出了当前体素的所有边与等值面的交点后,依据一定的准则将这些交点连接成三角形,作为等值面位于该体素内部分的近似表示,并进行真实感绘制y当处理完所有体素后,即完成了整个数据场的等值面抽取与绘制29MarchingCubes算法z确定体素顶点状态y设所需抽取的等值面的属性值为C0y若某顶点V所存贮的数据值大于(或等于)C0,则认为V在等值面外侧(或位于其上),并记其状态值为1y反之,若V所存贮的数据值小于C0,则认为V在等值面内侧,并记其状态值为030MarchingCubes算法z确定体素顶点状态yExample:
5个顶点均位于外侧,记为10111100Case=v8|v7|v6|v5|v4|v3|v2|v1v1v2v5v6v4v3v8v731MarchingCubes算法z判别体素的边与等值面是否有交y对于某一条边E(其顶点为V1和V2),若V1和V2的状态值相同,则边E位于等值面的外侧(或内侧),边E不与等值面相交;
反之,若V1和V2的状态值不同,边E必定与等值面相交y若边E与等值面有交点,可通过线性插值计算出交点32MarchingCubes算法z将体素各边与等值面的交点连接成三角形y取决于体素每一顶点的状态值分布情况y存在着28种不同情况每一体素有8个顶点每一顶点有两种状态值y基于体素顶点状态翻转对称性和旋转对称性,将上述256种组合情形减少到15种翻转对称性:
如果体素各顶点的状态值0和1互换,所含等值面的拓扑结构(即交点连接关系)不变旋转对称性:
体素旋转后,所含等值面的拓扑结构不变33MarchingCubes算法z15种等值面连接模式01234567891011121314MarchingCubesMarchingCubesMarchingCubes算法算法算法z第1步:
8个顶点相对的等值面的值分类V1V2V3V4V5V6V7V811000001V1V2V3V4V5V6V7V88-字节索引字节索引;
1+ve;
0-ve代码标识边的相交:
代码标识边的相交:
V1V4;
V1V5;
V2V3;
V2V6;
V5V8;
V7V8;
V4V8MarchingCubesMarchingCubesMarchingCubes算法算法算法z第2步:
查找表标识出等值面交点个数例如:
00000000Configuration010000000Configuration101000000Configuration111000001Configuration6.11111111Configuration0MarchingCubesMarchingCubesMarchingCubes算法算法算法z第3步:
沿边缘的逆线性插值将找到的交汇点z第4步:
规范的配置将决定如何创建等值面片(0,1,2,3或4个三角形)z第5步:
通三角形的显示渲染MarchingCubesMarchingCubes算法找等值面算法找等值面z优点z等值面提取边效果较好z定义为三角形在3D表面-著名的渲染技术提供照明,阴影和观看.硬件支持z缺点z只显示数据切片z有二义性算法算法算法zMarchingcubes算法缺点第第3步:
三角形是选择步:
三角形是选择不唯一?
不唯一?
39MarchingCubes算法z存在问题y15种连接情形中,有些存在二义性,可能导致所生成的相邻体素的等值面之间不连续,从而使最终生成的等值面存在“空洞”算法二义性z二义性问题,可以判断交叉口一双值寻找鞍点连接算法歧义算法歧义z歧义原因,因为:
z三线性插值是线性沿边缘z就成了一个双线性函数.正确的拓扑结构,我们必须加入一个正确的交点产生歧义的不同三角面产生歧义的不同三角面42MarchingCubes算法z存在问题及改进y改进方法之一:
增加连接模式,使其能与相邻体素的状态相匹配以消除“空洞”43MarchingCubes算法z存在问题及改进y改进方法之二:
将六面体体素分解为四面体单元,并将等值面抽取限制在四面体单元中进行等值面空洞z由于二义性三角面的存在,会造成空洞出现。
孔洞孔洞三线性插值z三线性插值函数:
f(x,y,z)=f000(1-x)(1-y)(1-z)+f100x(1-y)(1-z)+f010(1-x)y(1-z)+f001(1-x)(1-y)z+f110xy(1-z)+f101x(1-y)z+f011(1-x)yz+f111xyz相对复杂。
z例如,等值面f(x,y,z)=0为三次平面三线性插值精确等值面一个真正的等值面一个真正的等值面三线性插值三线性插值是曲面是曲面轮廓线是双曲线轮廓线是双曲线47MarchingCubes算法z存在问题及改进y所生成的等值面中往往包含大量的三角面片,影响存储与绘制的效率y改进方法之一:
对所生成的等值面三角形网格进行简化y
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 三维 标量 数据 可视化
![提示](https://static.bdocx.com/images/bang_tan.gif)