《三维数据场可视化上课讲义》由会员分享,可在线阅读,更多相关《三维数据场可视化上课讲义(42页珍藏版)》请在金锄头文库上搜索。
1、1,周华民, HmZ 张 云, M,三维数据场可视化,2,主要内容,科学计算可视化与三维数据场可视化 表面标量场的可视化 体渲染 等值线与等值面 矢量场的可视化,3,科学计算可视化,科学计算可视化(Visualization in Scientific Computing,简称ViSC)从20世纪80年代后期诞生以来,一直是计算机科学的一个研究热点。科学计算可视化是由计算机图形学、图像处理、计算机辅助几何设计、计算机视觉、信号处理和用户界面等共同支持的交叉学科,主要研究空间数据场的可视化,其研究内容丰富,应用领域广泛。 科学计算可视化是用交互式计算机图形学和图像处理技术,将科学计算数据、工程实
2、验数据和影像扫描数据等数据场中蕴涵的信息转换成图形图像显示在屏幕上、并对其进行交互处理的理论、方法和技术。,4,主要应用领域与意义,医学 地质勘探 气象 分子模型构造 流体动力学 有限元分析,科学计算可视化为科学家之间及科学家与数据之间提供了以图形、图像和动画等视觉信息交流的手段,提高了人们处理海量数据的能力,使许多抽象的、难以理解的原理和规律变得容易理解;使枯燥的数据变得生动有趣;使科学家不仅能分析计算的结果,同时能交互地控制计算的过程;为人们提供了观察数据场中不可见信息的方法,增强了人们的洞察力。,5,数据场的类型以及数据拓扑结构,数据类型 标量 密度、温度、质量等 矢量 位移、速度、加速
3、度等 数据拓扑结构 结构化数据:在逻辑上组成成三维数组的空间离散数据 均匀网格数据 规则网格结构化数据 矩形网格结构化数据 不规则网格结构化数据 非结构化网格数据:由一系列单元,如四面体,六面体等构成的数据。,非结构化数据,结构化数据,6,三维数据场可视化流程,sensors,simulation,database,raw data,visual data,Renderable primitives,images,mapping,Geometry: Line Surface Voxel Attributes: Color Opacity Texture,7,表面标量场的可视化流程,转化为三角网
4、格,计算节点上的数据值,8,颜色映射,映射过程,线性或非线性,可以通过在颜色模型中的曲线表示,颜色模型,不同的颜色模型的映射,9,绘制,根据光源以及几何信息改变映射后的颜色 完成投影变换,按照深度方向进行消隐,生成2D图像。,观测点不同,外部光源不同,同一位置最终显示的颜色可能不同用来达到立体的效果,10,等值线,定义 意义,11,等值线的求取方法,.根据等值线的数量得到每条等值线的标量值 .在网格上求取等值点 .建立起每条等值线的拓扑关系,连接每条等值线。,12,采样数据的预处理,生成致密的三角形表面网格来描述几何实体的表面 通过插值得到三角形表面网格每个节点上的数据,断层扫描数据广泛地存在
5、于医学、生物、地学、环境等应用领域,是一种最简单的三维标量场。如果各断层问是相互平行的,每一断层与实体的交线就是实体在该断层上的轮廓线,也就是二维平面上一条封闭的无自交的等值线,如图所示如原始数据是光栅图像形式,在每一断层上轮廓线表现为由连续的两相临点间线段组成的一组简单封闭的直线线段,也就是一个封闭多边形链。,图 实体与断层,由二维轮廓线重构三维形体(1),三维断层扫描等是常见三维标量场的几何特征描述来源,在显示前一般需要进行三维形体的重构。重构过程分为拓扑重构和几何重构两部分。 拓扑重构采用嵌套树表示断层上轮廓线的相对位置,用分类图表示层间轮廓线的拓扑关系枚举算法列出了所有有效的分类图,采
6、用轮廓线的相似性和相对位置等约束来排除大量无意义的分类图,以推导出正确的分类图。 几何重构有面向曲面的重构和面向体的重构。 面向曲面的重构中最常用的是三角片表面重构,对应拓扑重构的四种基本分叉,有四种基本表面段的表面重构:极值点、圆柱、独立分叉和连通分叉。由于两相邻断层轮廓线间的表面重构等同于有向图G中寻找一条从(0,0)到(m-1,n-1)的路经。 利用放样技术生成具有C2连续的表面重构算法。 面向体的重构有Delaunay四面体重构和正六面体空间。,由二维轮廓线重构三维形体(2),断层数据的表面重构是从一系列断面上的轮廓线中推导出相应实体的空间几何结构 连接上下两条轮廓的各点所形成的众多的
7、基本三角形必须构成相互连接的三维表面,且不能在三角形内部相交,要保证推导的正确性和唯一性。,由二维轮廓线重构三维形体(3),三角片构造对象表面,有向图G,轮廓线的描述由有向图描述。有向图图的每一顶点对应于轮廓线上的定点,图上的边表示三角形的边,求取方法有: (1)最短对角线法 (2)最大体积法 (3)相邻轮廓线同步前进法,由二维轮廓线重构三维形体(4),问题:非凸多变形的重构以及多轮廓的重构,非凸多边形,多轮廓线,17,什么是体渲染?,体是由三维空间的多个体元(voxel)的三维数组组成 组成形式同二维的图像相似,图像由像素组成 由CT得到的数据或者其他方式的标量数据场很容易用体表示 体元是体
8、的基本组成元素 体元的数量太多,如比较小的体含有1283个体元 体渲染只如何把体元转化为2D的图像 体渲染是一种具有透明属性的体元的三维投影技术,18,优点: 表达直观,形象 能很好体现透明效果 (火,烟雾). 高质量,缺点: 大数据量 计算两大 处理非规则的网格数据困难,为什么要用体渲染?,主要方法: 光线投影算法 体元投射法 三维纹理映射,19,光学模型(1),体内的任意一点都能发射和吸收光线 发射光线每一点根据值不一样发射不同的颜色(颜色映射) 吸收光线每一点都有一定的不透明性,能阻挡其后面的光线进入到观测点,C,20,光学模型(2),离散后计算方法,明暗计算(得到三维效果) 对于每个点
9、计算: C = 环境光 + 散射光 + 镜面光 = 常量 + Ip Kd (N.L) + Ip Ks (N.H) Ip: 采样点的发射光 N: 采样点法向矢量,21,采样点的法矢,计算光线的强度采样点的法矢 1.用各采样点数据的梯度表示法矢量 2.根据中心差分法得到,N(x,y,z) = (f(x+1)-f(x-1)/2, (f(y+1)-f(y-1)/2, (f(z+1)-f(z-1)/2 ,X+1,x-1,y-1,Y+1,z+1,z-1,22,光线投影算法,两种合成算法: 从后往前合成 从前往后合成,沿着视线方向重新采样标量场数据,特点: 每个像素点都有需要一条光线计算 依次着光线的方向计
10、算颜色和透明度,复杂度为:图片大小深度 视角变换的时候需要重新计算 并行计算程度高,23,光线投影法的改进,性能改进方法 使用层次八叉树的结构存储体元 完全透明的多个体元由一个体元代替 取少量的点进行光线投影,其余点插值获得 质量改进方法 采样更多的点,如一个像素点采取4点进行光线投影 采用透视投影替换平行投影,24,体元投射法,体元只一个长方形区域 投影后的多变形区域最多分成个区域,每个区域都是两个体元面的投影区域 计算每个区域顶点的颜色值以及透明度 采用插值法计算区域内每一点的颜色及透明度 对于每个象素点从后往前合并图像,25,基于纹理映射的体绘制方法(1),由硬件实现 步骤 生成纹理 定
11、义映射 纹理重采样,26,基于纹理映射的体绘制方法(2),坐标轴方向的切片,沿视点方向的切片,27,等值面,等值面 VS 体渲染 等值面是指空间中的一张曲面,在该曲面上函数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 组成的一张曲面。 许多标量场中的可视化问题都归纳为等值面的抽取和绘制,如: 医学图像中的三维重建; 有限元计算中的标量场分析,包括等势面、 等位面、等压面等等; 分子化学
12、中的分子表面显示; 地质中矿藏分布的构造等 方法: Marching Cube Marching tetrahedra,28,Marching cubes(1),Marching Cube算法是三维数据场等值面生成的经典算法,是体素单元内等值面抽取技术的代表。这一类算法所处理的数据一般是三维正交的数据场。,基本思想:Marching Cube算法的基本思想是逐个处理数据场中的立方体,分类出与等值面相交的立方体,采用插值计算出等值值面与立方体边的交点。根据立方体每一顶点与等值面的相对位置,将等值面与立方体边的交点按一定方式连接生成等值面,作为等值面在该立方体内的一个逼近表示。,前提假设: Mar
13、ching Cube算法的基本假设是沿着立方体的边数据场呈连续线性变化,也就是讲,如一条边的两个顶点分别大于小于等值面的值,则在该条边上必有也仅有一点是这条边与等值面的交点。确定立方体体素中等值面的分布是该算法的基础。,29,Marching cubes(2),算法: 首先对立方体的八个顶点进行分类,以判定其顶点是位于等值面之外,还是位于等值面之内再根据八个顶点的状态,确定等值面的模式 顶点分类规则为 1)如立方体顶点的数据值等值面的值,则定义该顶点位于等值面之外,记为“+”; 2)如立方体顶点的数据值等值面的值,则定义该顶点位于等值面之内,记为“-”; 由于每一体素共有8个顶点,每个顶点共有
14、2个状态,因此共有256种组合状态分析立方体体素的两种对称性: 1)如顶点状态返转,等值三角面片的拓扑结构不变也就是讲,大于等值面点与小于等值面的点是可以相互替换的; 2)旋转对称性,经过适当旋转,有许多状态是一致的,如图所示,30,Marching cubes(3),三角片顶点计算 在确定立方体内三角片等值面分布模式后,就要计算出三角片顶点位置,根据算法的基本假设,可以直接用线性插值计算等值面与立方体边的交点X。,31,Marching cubes(4),等值面的二义性 在立方体的一个面上,如果位于等值面内和在等值面外的顶点分别分布在对角线的两端,那么就有两种可能的连接方式,因而存在二义性,
15、这样的面称之为二义性面包含一个以上二义性面的立方体,即为二义性立方体。Marching Cube算法提供了一种较精确的等值面生成方法,但在它所提出的15种体素内等值面连接模式中存在着许多二义性的连接,在上述模式中,3,6,7,l0,12,13共六种模式是二义性立方体。要能正确地构造等值面,必须解决二义性立方体内的等值面连接模式,否则在等值面连接上会出现空洞等问题。,32,Marching cubes(5),二义性的解决方案 采用双曲线渐近线交点来判定二义性面和采用四面体剖分。,等值面与立方体交线的四种情况,二义性判断时候的连线准则,33,Marching cubes(6),二义性的解决方案 另
16、一种消除二义性的方法是将立方体剖分成四面体处理,在四面体中生成等值面就不存在二义性问题。 可假设在四面体边上数据场呈线性变化,对于每个四面体,等值面模式只有三种情况,如图所示。如果顶点数据值全大于或小于等值面值,等值面与单元无交,如一点大于另三点小于等值面值,则四面体中等值面是一三角片,如二点大于二点小于等值面值,则等值面是一四边形,可由两个三角片构造。,四面体中的等值面,在有限元分析的后置处理中,等值面抽取和显示是一个主要手段,与前述的立方体体素相比较,尽管基本思路相同,但由于有限元数据的特点,有限元中的等值面生成又有其不同之处与正规化体素相比,有限元数据有以下特点: 1)单元类型不一样,常见的有限元单元类型有4结点、6结点、8结点等,且每一单元比体素要大得多,单元边也往往非直线; 2)输入数据不一样,其几何连通性不是隐含的,而是显式说明的,数据中包含了每一单元每一顶点的几何数据,有限元中的等值面,常见的有限元单元类型,35,基于四面体的数据组织,为什么选择四面体?