第二套作业的说明-ppt课件_第1页
第二套作业的说明-ppt课件_第2页
第二套作业的说明-ppt课件_第3页
第二套作业的说明-ppt课件_第4页
第二套作业的说明-ppt课件_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、环境信息可视化 第七讲三维标量场等值面可视化 第二套作业的阐明1 设置颜色vtkLookupTable的用法:(1) 设置标量的范围,vmin,vmax(2) 设置查找表项的数目,n(3) 设置每一项的颜色。绘制时,任一标量值v,按如下方式从查找表中获得颜色:(1) 计算等值线的间距 vd=(vmax-vmin)/(n-1)(2) 计算标量值v对应的颜色在查找表中的索引值 i=(v-vmin)/vd假设ivmax, i=n-1(3) 根据索引值从查找表中获得颜色值例如:标量值范围是100500,显示100,300,400,500共4种等值线,显然把等值线的间距设置为100是合理的,故查找表项的

2、数目应为5, 100,300,400,500对应的索引号为0,2,3,4环境信息可视化 第七讲三维标量场等值面可视化 Iut1=vtkLookupTable()Iut1.SetTableRange(100,500)Iut1.SetNumberOfTableValues(5)Iut1.SetTableValue(0,0.0,0.0,1.0,1.0)Iut1.SetTableValue(2,1.0,1.0,0.0,1.0)Iut1.SetTableValue(3,0.0,1.0,0.0,1.0)Iut1.SetTableValue(4,1.0,0.0,0.0,1.0)contMapper = vt

3、kPolyDataMapper()contMapper.SetInput(contours.GetOutput()contMapper.SetScalarRange(100,500)contMapper.SetLookupTable(Iut1)contMapper. UseLookupTableScalarRangeOn()/Off ()contActor = vtkActor()contActor.SetMapper(contMapper) 环境信息可视化 第七讲三维标量场等值面可视化 2 相机的设置中为什么须添加 ren.ResetCamera()?绘制器的 ResetCamera方法根据

4、当前相机的位置和焦点平移并缩放相机,使得整个场景都能显示出来。假设设置完相机后看不到场景,可以调用ResetCamera。或在窗口上按r键。环境信息可视化 第七讲三维标量场等值面可视化 3 文件途径问题在用vtk作可视化时要留意文件途径的设置。由于vtk是多平台的可视化系统开发库,为保证在一切系统上正确运转,文件的途径设置按照unix的规范进展。在微软平台下,途径设置方式为:当出途径下: ./filename.vtk 或 filename.vtk某途径下: d:/data/envi/water/discharge.vtk环境信息可视化 第七讲三维标量场等值面可视化 4 vtkLODActor多

5、层次细节每个多层次细节多层细节演员对象可以包含多个映射器对象,如demActor.AddLODMapper(demMapperlod)当在鼠标交互过程中,vtk系统根据系统的速度确定运用哪一个层次的显示。环境信息可视化 第七讲三维标量场等值面可视化 上一节课内容回想6.1 拓扑重构拓扑重构6.2 三角片外表几何重构三角片外表几何重构6.3 延续外表重构延续外表重构6.4 体的重构体的重构环境信息可视化 第七讲三维标量场等值面可视化 三维断层扫描数据场是最简单的三维标量场,等高线等可看成三维断层数据进展处置。三维断层重构过程分为拓扑重构和几何重构两部分。 拓扑重构采用嵌套树表示断层上轮廓线的相对

6、位置,用分类图表示层间轮廓线的拓扑关系枚举算法列出了一切有效的分类图,采用轮廓线的类似性和相对位置等约束来排除大量无意义的分类图,以推导出正确的分类图。 几何重构有面向曲面的重构和面向体的重构。 面向曲面的重构中最常用的是三角片外表重构,对应拓扑重构的四种根本分叉,有四种根本外表段的外表重构:极值点、圆柱、独立分叉和连通分叉。由于两相邻断层轮廓线间的外表重构等同于有向图G中寻觅一条从(0,0)到(m-1,n-1)的路经。 利用放样技术生成具有C2延续的外表重构算法。 面向体的重构有Delaunay四面体重构和正六面体空间。环境信息可视化 第七讲三维标量场等值面可视化 断层扫描数据广泛地存在于医

7、学、生物、地学、环境等运用领域,是一种最简单的三维标量场。假设各断层问是相互平行的,每一断层与实体的交线就是实体在该断层上的轮廓线,也就是二维平面上一条封锁的无自交的等值线,如图61所示如原始数据是光栅图像方式,在每一断层上轮廓线表现为由延续的两相临点间线段组成的一组简单封锁的直线线段,也就是一个封锁多边形链。图6.1 实体与断层环境信息可视化 第七讲三维标量场等值面可视化 断层数据的外表重构是从一系列断面上的轮廓线中推导出相断层数据的外表重构是从一系列断面上的轮廓线中推导出相应实体的空间几何构造应实体的空间几何构造 为了保证推导的正确性和独一性,要求:为了保证推导的正确性和独一性,要求: 实

8、体的边境是由二维点组成;实体的边境是由二维点组成; 要务虚体与平面的交是二维的。要务虚体与平面的交是二维的。 图图6.4(a)中的点中的点P不是二维点,图不是二维点,图6.4 (b)中实体中实体a和和c不符合与平不符合与平面的交是二维的条件,只需图面的交是二维的条件,只需图6.4 (b)中实体中实体b是可接受的。是可接受的。图6.4不正确的重构环境信息可视化 第七讲三维标量场等值面可视化 外表重构过程分成两步: 拓扑重构 推导实体的拓扑表示 几何重构 建立实体的几何表示环境信息可视化 第七讲三维标量场等值面可视化 6.1拓扑重构拓扑重构 拓扑重构的目的是对三维断层数据集中的每一断层上的轮廓线拓

9、扑重构的目的是对三维断层数据集中的每一断层上的轮廓线进展分类,确定各轮廓线所属的实体,保证几何重构的正确性,进展分类,确定各轮廓线所属的实体,保证几何重构的正确性,因此拓扑重构是断层数据重构的根底,当断层上有多个轮廓线时,因此拓扑重构是断层数据重构的根底,当断层上有多个轮廓线时,意味着会出现实体交叉,问题就更复杂了,更有必要首先进展拓意味着会出现实体交叉,问题就更复杂了,更有必要首先进展拓扑重构。扑重构。6.1.1 分类图嵌套树分类图嵌套树 轮廓线的分类由分类图描画。分类图的每一顶点对应于一条轮廓线的分类由分类图描画。分类图的每一顶点对应于一条轮廓线,其边衔接的是属于相邻层的两条轮廓线假设存在

10、一个轮廓线,其边衔接的是属于相邻层的两条轮廓线假设存在一个由该分类图描画的实体,那么由该分类图描画的实体,那么以为该分类图是有效的。以为该分类图是有效的。 也就是讲,一有效的分类图对应于一满也就是讲,一有效的分类图对应于一满足条件的实体。足条件的实体。 对于假设干层上的一组轮廓线,通常存在多个分类图,图对于假设干层上的一组轮廓线,通常存在多个分类图,图6.5表示了一组轮廓线和不同的分类图,当然并不是一切分类图都是表示了一组轮廓线和不同的分类图,当然并不是一切分类图都是有效的,在图有效的,在图6.5中中(b)是无效的,由于在层之间其对象的边境发生是无效的,由于在层之间其对象的边境发生相交,这意味

11、着在对象边境点上存在非二维点相交,这意味着在对象边境点上存在非二维点环境信息可视化 第七讲三维标量场等值面可视化 6.1.2 6.1.2 分类图的枚举分类图的枚举 如前所述,对于不同层上的一组轮廓线,存在多个分类图,因此拓扑重构问如前所述,对于不同层上的一组轮廓线,存在多个分类图,因此拓扑重构问题的解并非独一,每一有效的分类图都是一个解,都对应于一个实体本节引见题的解并非独一,每一有效的分类图都是一个解,都对应于一个实体本节引见一个有效拓扑分类图的枚举算法,该算法基于相邻断层嵌套树的比较结果,分析一个有效拓扑分类图的枚举算法,该算法基于相邻断层嵌套树的比较结果,分析一延续扫描实体各断层上轮廓线

12、数目的变化情况,根据断层实体的根本分叉,枚一延续扫描实体各断层上轮廓线数目的变化情况,根据断层实体的根本分叉,枚举出一切能够的有效分类图根据约束性,从中选择出正确的分类图举出一切能够的有效分类图根据约束性,从中选择出正确的分类图 枚举算法仅思索具有根本衔接的分类图在分类图中,所谓衔接是指两相邻枚举算法仅思索具有根本衔接的分类图在分类图中,所谓衔接是指两相邻断层间分类图中的一个子图的连通成分,假设该连通成分是单点、单边或度数为断层间分类图中的一个子图的连通成分,假设该连通成分是单点、单边或度数为2 2的衔接,就被称为根本衔接度数为的衔接,就被称为根本衔接度数为2 2是指一个结点以两条边与相邻断层

13、上两个是指一个结点以两条边与相邻断层上两个结点相连引入根本衔接是为了简化讨论,对应四种根本衔接,有四类根本的对结点相连引入根本衔接是为了简化讨论,对应四种根本衔接,有四类根本的对象实体:极值点、圆柱、独立分叉相连通分叉,如图象实体:极值点、圆柱、独立分叉相连通分叉,如图5 55 5所示这种分类方法被所示这种分类方法被广泛地运用在外表重建中广泛地运用在外表重建中环境信息可视化 第七讲三维标量场等值面可视化 图6.7 四种根本分叉情况a)极值点;(b)圆柱;(c)独立分叉;(d)连通分叉环境信息可视化 第七讲三维标量场等值面可视化 图6.12四种根本衔接外表插值方式6.2 三角片外表几何重构三角片

14、外表几何重构几何重构的义务是在拓扑重构分类图的根底上建立对象的几何外几何重构的义务是在拓扑重构分类图的根底上建立对象的几何外表,要求该对象与给定的分类图对应,其断层与各给定断层轮廓表,要求该对象与给定的分类图对应,其断层与各给定断层轮廓线一致对象的实体外表可以看成是由相邻断层间插值外表段组线一致对象的实体外表可以看成是由相邻断层间插值外表段组合而成,根据前节推导的根本衔接分类图,相应地有四种根本衔合而成,根据前节推导的根本衔接分类图,相应地有四种根本衔接的外表插值方式,见图接的外表插值方式,见图6.12。详细外表段还要满足一些其它的边。详细外表段还要满足一些其它的边境条件境条件,如不自交,各断

15、面间不相交等等。,如不自交,各断面间不相交等等。环境信息可视化 第七讲三维标量场等值面可视化 图6.14 根本三角片构造对象外表图6.15 有向图G6.2.1 圆柱体三角片外表圆柱体三角片外表环境信息可视化 第七讲三维标量场等值面可视化 6.3 延续外表重构延续外表重构图6.25 轮廓面表示环境信息可视化 第七讲三维标量场等值面可视化 图6.27 多边形链的内部和外部 6.4 面向体的重构面向体的重构环境信息可视化 第七讲三维标量场等值面可视化 本节课内容第七讲第七讲 三维标量场等值面可视化三维标量场等值面可视化7.1 Cuberille7.1 Cuberille表示和显示方法表示和显示方法7

16、.2 Marching Cube7.2 Marching Cube算法算法7.3 7.3 有限元等值面有限元等值面7.4 VTK7.4 VTK中三维标量场的等值面可中三维标量场的等值面可视化视化环境信息可视化 第七讲三维标量场等值面可视化 等值面是指空间中的一张曲面,在该曲面上函数F(x,y,z)的值等于某一给定值准确地讲,是在一网格空间中,其中每一结点保管着延续三变量函数F(x,y,z)在网格单元(xi,yj,zk)上的采样值F(xi,yj,zk),对于某一给定值Ft,等值面是由一切点SFt(x,y,z):F(x,y,z) Ft 组成的一张曲面。环境信息可视化 第七讲三维标量场等值面可视化

17、等值面技术在可视化中运用很广,许多标量场中的可视化问题都归纳为等值面的抽取和绘制,如:医学图像中的三维重建;有限元计算中的标量场分析,包括等势面、等位面、等压面等等;分子化学中的分子外表显示;地质中矿藏分布的构造等等值面的抽取和显示是可视化的一个重要方面。 环境信息可视化 第七讲三维标量场等值面可视化 第六讲引见的断层间外表重构也可以看成是一种等值面的构造技术,它是基于各断层上提取的二维轮廓线(等值线)构造断层间的实体外表段,由一切这些各断层间的实体外表段组成对象的轮廓面(等值面)这种方法较适宜于断层扫描数据且断层间等值面变化较小或大致类似,同时精度要求较低的场所,对于变化较大的标量场或标量场

18、是由逐个非正规化单元组成的情况,特别是有限元单元,这种等值面的构造方法显然是不顺应的。因此,出现了以Marching Cube算法为代表的单元内的等值面直接提取方法,本讲着重引见这方面的内容。环境信息可视化 第七讲三维标量场等值面可视化 等值面生成的最早研讨还是从医学图像的运用中开场的,由于医学图像数据是三维正交的等距网格,其网格单元可看成是正六面体单元(至少在参数空间),整个数据场就是由这种正六面体组成的,这种组成三维图像的根本正六面体单元称为体素(voxel)最早的体素被以为是由一个网格点及其附近区域组成的一个等值空间,也就是Cuberille表示,其中的等值面就由该体素的六个外外表中的一

19、个或几个组成这样生成的等值面虽计算简单,但效果不佳 Marching Cube算法的提出提供了一种准确地定义体素及其体素内等值面的生成方法,体素被定义为由相邻层之间八个网格点组成的数据单元它提供了一种更普通化的体素定义,即将等值面生成技术推行到了有限元数据的分析上环境信息可视化 第七讲三维标量场等值面可视化 7.1 Cuberille表示和显示方法Cuberille表示是一种适宜于正交密集数据场的表示方法,主要适用在医学图像、无损探伤等三维图像的等值面抽取该表示将三维图像中的每一象素看成是空间中的一个小立方体,在该小立方体内,数据场具有一样的值,整个空间及其对象就由这类小立方体组成这类小立方体

20、被称作Cuberille表示中的体素。Cuberille表示和显示方法就是基于这种简单的体素表示。环境信息可视化 第七讲三维标量场等值面可视化 图7.1 Cuberille中的体素环境信息可视化 第七讲三维标量场等值面可视化 7.2 Marching Cube算法 Marching Cube算法是三维数据场等值面生成的经典算法,是体素单元内等值面抽取技术的代表。这一类算法所处置的数据普通是三维正交的数据场。Marching CubeMarching Cube算法中的立方体体素算法中的立方体体素与与CuberilleCuberille表示中的立方体体素不表示中的立方体体素不同,后者仅以一个等值立

21、方体表示同,后者仅以一个等值立方体表示一个体素值,等值面由体素的六个一个体素值,等值面由体素的六个外表面元组成而在外表面元组成而在Marching CubeMarching Cube算法中,体素是一逻辑上的立方体,算法中,体素是一逻辑上的立方体,由相邻层上的各四个象素组成立方由相邻层上的各四个象素组成立方体上的八个顶点,如图体上的八个顶点,如图7.27.2所示算所示算法以扫描线方式逐个处置数据场中法以扫描线方式逐个处置数据场中每一立方体体素,求出每一体素内每一立方体体素,求出每一体素内包含的等值面,由此生成整个数据包含的等值面,由此生成整个数据场的等值面场的等值面图7.2 Marching C

22、ube中的体素环境信息可视化 第七讲三维标量场等值面可视化 7.2.1 根本算法 Marching Cube算法的根本思想是逐个处置数据场中的立方体,分类出与等值面相交的立方体,采用插值计算出等值值面与立方体边的交点 根据立方体每一顶点与等值面的相对位置,将等值面与立方体边的交点按一定方式衔接生成等值面,作为等值面在该立方体内的一个逼近表示 因此,Marching Cube算法中每一单元内等值面抽取的主要计算是: 体素中由三角片逼近的等值面计算; 环境信息可视化 第七讲三维标量场等值面可视化 体素中等值面的计算体素中等值面的计算 Marching CubeMarching Cube算法的根本假

23、设是沿着立方体的边算法的根本假设是沿着立方体的边数据场呈延续线性变化,也就是讲,如一条边的两个数据场呈延续线性变化,也就是讲,如一条边的两个顶点分别大于小于等值面的值,那么在该条边上必有顶点分别大于小于等值面的值,那么在该条边上必有也仅有一点是这条边与等值面的交点确定立方体体也仅有一点是这条边与等值面的交点确定立方体体素中等值面的分布是该算法的根底素中等值面的分布是该算法的根底 首先对立方体的八个顶点进展分类,以断定其顶首先对立方体的八个顶点进展分类,以断定其顶点是位于等值面之外,还是位于等值面之内再根据点是位于等值面之外,还是位于等值面之内再根据八个顶点的形状,确定等值面的方式八个顶点的形状

24、,确定等值面的方式 顶点分类规那么为顶点分类规那么为 1)1)如立方体顶点的数据值等值面的值,那么定如立方体顶点的数据值等值面的值,那么定义该顶点位于等值面之外,记为义该顶点位于等值面之外,记为“+ +; 2)2)如立方体顶点的数据值等值面的值,那么定如立方体顶点的数据值等值面的值,那么定义该顶点位于等值面之内,记为义该顶点位于等值面之内,记为“- -;环境信息可视化 第七讲三维标量场等值面可视化 由于每一体素共有8个顶点,每个顶点共有2个形状,因此共有256种组合形状分析立方体体素的两种对称性: 1)如顶点形状返转,等值三角面片的拓扑构造不变也就是讲,大于等值面点与小于等值面的点是可以相互交

25、换的; 2)旋转对称性,经过适当旋转,有许多形状是一致的,如图7.3所示环境信息可视化 第七讲三维标量场等值面可视化 图7.3 旋转对称性环境信息可视化 第七讲三维标量场等值面可视化 这样,共总结出15种方式 (见图7.4a,b):图7.4a 体素中的等值面方式01234567环境信息可视化 第七讲三维标量场等值面可视化 图7.4b 体素中的等值面方式891014131211环境信息可视化 第七讲三维标量场等值面可视化 在实现时,可按照立方体顶点形状构造等值面衔接方式的索引表:可直接由立方体各顶点的形状检索出其中等值面的分布方式确定该立方体体素内的等值面三角片衔接方式。环境信息可视化 第七讲三

26、维标量场等值面可视化 三角片顶点计算三角片顶点计算 在确定立方体内三角片等值面分布方式后,就在确定立方体内三角片等值面分布方式后,就要计算出三角片顶点位置,根据算法的根本假设,要计算出三角片顶点位置,根据算法的根本假设,可以直接用线性插值计算等值面与立方体边的交点可以直接用线性插值计算等值面与立方体边的交点X X:该算法在执行时,每次扫描其中两片断层图像,构该算法在执行时,每次扫描其中两片断层图像,构造这两层之间的立方体体素首先对立方体顶点进造这两层之间的立方体体素首先对立方体顶点进展分类由分类顶点建立该立方体在检索分类表中展分类由分类顶点建立该立方体在检索分类表中的索引下标,检索分类表中对应

27、的等值面分布方的索引下标,检索分类表中对应的等值面分布方式由线性插值计算出三角片顶点位置,将立方体式由线性插值计算出三角片顶点位置,将立方体边上的交点按等值面片衔接方式衔接成三角片或多边上的交点按等值面片衔接方式衔接成三角片或多边形。边形。环境信息可视化 第七讲三维标量场等值面可视化 7.2.2二义性处理方法 Marching Cube算法提供了一种较准确的等值面生成方法,但在它所提出的15种体素内等值面衔接方式中存在着许多二义性的衔接,如图7.5所示图7.5二义性立方体环境信息可视化 第七讲三维标量场等值面可视化 在立方体的一个面上,假设位于等值面内和在等值面外的顶点分别分布在对角线的两端,

28、那么就有两种能够的衔接方式,因此存在二义性,这样的面称之为二义性面包含一个以上二义性面的立方体,即为二义性立方体 在上述方式中,3,6,7,l0,12,13共六种方式是二义性立方体要能正确地构造等值面,必需处理二义性立方体内的等值面衔接方式,否那么在等值面衔接上会出现空洞等问题如在3,6两种衔接上,有两种能够的衔接方式(见图7.6)。 处理的方法主要有两类:采用双曲线渐近线交点来断定二义性面和采用四面体剖分。环境信息可视化 第七讲三维标量场等值面可视化 图7.6 二义性等值面环境信息可视化 第七讲三维标量场等值面可视化 图7.7 三维线性插值环境信息可视化 第七讲三维标量场等值面可视化 图7.

29、8 等值面与立方体交线的四种情况环境信息可视化 第七讲三维标量场等值面可视化 图7.9 二义性等值面的断定环境信息可视化 第七讲三维标量场等值面可视化 在Marching Cube根本算法的15种方式中,0,1,2,4,5,8,9,11,14不存在二义性外表,因此只需一种衔接方式。3,6各存在一个二义性面,各有两种能够的衔接方式10,12各存在两个二义性面,也就是各有四种能够的衔接方式,7存在三个二义性面,有8种能够的衔接方式,l3存在6个二义性面,有64种衔接方式,组合相加共有93种能够的衔接方式,除去对称的和一样的方式,共有34种不同的衔接,图7.10列出了其中的主要情况。环境信息可视化

30、第七讲三维标量场等值面可视化 无二义面方式,只需一种衔接方式01245891411环境信息可视化 第七讲三维标量场等值面可视化 各一个二义性面,有两种能够的衔接方式36环境信息可视化 第七讲三维标量场等值面可视化 1012各存在两个二义性面,也就是各有四种能够的衔接方式环境信息可视化 第七讲三维标量场等值面可视化 7存在三个二义性面,有8种能够的衔接方式环境信息可视化 第七讲三维标量场等值面可视化 13存在6个二义性面,有64种衔接方式环境信息可视化 第七讲三维标量场等值面可视化 7.10 二义性立方体的详细衔接方式环境信息可视化 第七讲三维标量场等值面可视化 另一种消除二义性的方法是将立方体

31、剖分成四面体处置,在四面体中生成等值面就不存在二义性问题。 可假设在四面体边上数据场呈线性变化,对于每个四面体,等值面方式只需三种情况,如图7.11所示假设顶点数据值全大于或小于等值面值,等值面与单元无交,如一点大于另三点小于等值面值,那么四面体中等值面是一三角片,如二点大于二点小于等值面值,那么等值面是一四边形,可由两个三角片构造图7.11 四面体中的等值面环境信息可视化 第七讲三维标量场等值面可视化 7.3 有限元中的等值面 在有限元分析的后置处置中,等值面抽取和显示是一个主要手段,与前述的立方体体素相比较,虽然根本思绪一样,但由于有限元数据的特点,有限元中的等值面生成又有其不同之处与正规

32、化体素相比,有限元数据有以下特点: 1)单元类型不一样,常见的有限元单元类型有4结点、6结点、8结点等,且每一单元比体素要大得多,单元边也往往非直线(见图7.12); 2)输入数据不一样,其几何连通性不是隐含的,而是显式阐明的,数据中包含了每一单元每一顶点的几何数据图7.12常见的有限元单元类型 环境信息可视化 第七讲三维标量场等值面可视化 小结 等值面是三维标量场最根本的表示方法。 Cuberille表示将整个场空间划分成等值立方体体素,其中等值面由体素的外外表组成。 为了提高等值面生成的精度,体素被以为是由相邻层对应八个采样点组成。针对这种体素表示,出现了以Marching Cube算法为

33、代表的单元内的等值面抽取方法。 两种二义性处理方法:基于线性插值假设下的渐近线交点断定方法和四面体剖分后插值及等值面构造。 环境信息可视化 第七讲三维标量场等值面可视化 7.4 VTK中三维标量场的等值面可视化中三维标量场的等值面可视化以规那么三维网格数据为例,以规那么三维网格数据为例,VTK中的实现方法如下:中的实现方法如下:1获取三维标量场数据获取三维标量场数据reader = vtkRectilinearGridReader()reader.SetFileName(VTK_DATA + /RectGrid.vtk)2生成等值面过滤器对象生成等值面过滤器对象iso = vtkContour

34、Filter()3设置等值面值设置等值面值iso.SetInput(reader.GetOutput()iso.SetValue(0,0.2)iso.SetValue(1,1.9)iso.SetValue(2,1.0)iso.SetValue(3,0.5)4重新计算法向量重新计算法向量normals = vtkPolyDataNormals()normals.SetInput(iso.GetOutput()normals.SetFeatureAngle(45)5设置Mapper和ActorisoMapper = vtkPolyDataMapper()isoMapper.SetInput(nor

35、mals.GetOutput()isoActor = vtkActor()isoActor.SetMapper(isoMapper)环境信息可视化 第七讲三维标量场等值面可视化 from vtk import *reader = vtkRectilinearGridReader()reader.SetFileName(“./RectGrid.vtk)reader.Update() 读入数据iso = vtkContourFilter()iso.SetInput(reader.GetOutput()iso.SetValue(0,0.2)iso.SetValue(1,1.9)iso.SetValu

36、e(2,1.0)iso.SetValue(3,0.5) 构造等值面normals = vtkPolyDataNormals()normals.SetInput(iso.GetOutput()normals.SetFeatureAngle(45) 重新计算法向isoMapper = vtkPolyDataMapper()isoMapper.SetInput(normals.GetOutput()isoActor = vtkActor()isoActor.SetMapper(isoMapper)ren = vtkRenderer()renWin = vtkRenderWindow()renWin.

37、AddRenderer(ren)iren = vtkRenderWindowInteractor()iren.SetRenderWindow(renWin)ren.AddActor(isoActor)ren.SetBackground(1,1,1)renWin.SetSize(400,400)iren.Initialize()iren.Start()运转环境信息可视化 第七讲三维标量场等值面可视化 VTK提供的其它等值面类:vtkKitwareContourFilter vtkSynchronizedTemplates3DvtkMarchingContourFiltervtkMarchingC

38、ubes环境信息可视化 第七讲三维标量场等值面可视化 为等值面设置颜色:iso = vtkMarchingContourFilter()iso.SetInput(dataGrid)iso.SetValue(0,0.5)iso.SetValue(1,1.0)iso.SetValue(2,1.5)iso.SetValue(3,2.0)normals = vtkPolyDataNormals()normals.SetInput(iso.GetOutput()normals.SetFeatureAngle(45)Iut1=vtkLookupTable() 调色板Iut1.SetTableRange(0

39、.5,2.0)Iut1.SetNumberOfTableValues(4)Iut1.SetTableValue(0,0.0,0.0,1.0,1.0)Iut1.SetTableValue(1,0.0,1.0,1.0,1.0)Iut1.SetTableValue(2,1.0,1.0,0.0,1.0)Iut1.SetTableValue(3,0.0,1.0,0.0,1.0)isoMapper = vtkPolyDataMapper()isoMapper.SetInput(normals.GetOutput()isoMapper.SetScalarRange(0.5,2.0)isoMapper.SetLookupTable(Iut1)isoActor = vtkActor()isoActor.SetMapp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论