1周华民,HmZhou@163.com张云,Marblezy@163.com三维数据场可视化华塑软件研究中心主要内容•科学计算可视化与三维数据场可视化•表面标量场的可视化•体渲染•等值线与等值面•矢量场的可视化华塑软件研究中心科学计算可视化•科学计算可视化(VisualizationinScientificComputing,简称ViSC)从20世纪80年代后期诞生以来,一直是计算机科学的一个研究热点。科学计算可视化是由计算机图形学、图像处理、计算机辅助几何设计、计算机视觉、信号处理和用户界面等共同支持的交叉学科,主要研究空间数据场的可视化,其研究内容丰富,应用领域广泛。•科学计算可视化是用交互式计算机图形学和图像处理技术,将科学计算数据、工程实验数据和影像扫描数据等数据场中蕴涵的信息转换成图形图像显示在屏幕上、并对其进行交互处理的理论、方法和技术。华塑软件研究中心主要应用领域与意义•医学•地质勘探•气象•分子模型构造•流体动力学•有限元分析科学计算可视化为科学家之间及科学家与数据之间提供了以图形、图像和动画等视觉信息交流的手段,提高了人们处理海量数据的能力,使许多抽象的、难以理解的原理和规律变得容易理解;使枯燥的数据变得生动有趣;使科学家不仅能分析计算的结果,同时能交互地控制计算的过程;为人们提供了观察数据场中不可见信息的方法,增强了人们的洞察力。华塑软件研究中心数据场的类型以及数据拓扑结构•数据类型•标量•密度、温度、质量等•矢量•位移、速度、加速度等•数据拓扑结构•结构化数据:在逻辑上组成成三维数组的空间离散数据•均匀网格数据•规则网格结构化数据•矩形网格结构化数据•不规则网格结构化数据•非结构化网格数据:由一系列单元,如四面体,六面体等构成的数据。非结构化数据•结构化数据华塑软件研究中心•Line•Surface•VoxelAttributes:•Color•Opacity•Texture华塑软件研究中心表面标量场的可视化流程数据生成数据预处理可视化映射绘制转化为三角网格,计算节点上的数据值华塑软件研究中心绘制•根据光源以及几何信息改变映射后的颜色•完成投影变换,按照深度方向进行消隐,生成2D图像。观测点不同,外部光源不同,同一位置最终显示的颜色可能不同——用来达到立体的效果华塑软件研究中心等值线•定义•意义华塑软件研究中心等值线的求取方法1.根据等值线的数量得到每条等值线的标量值2.在网格上求取等值点3.建立起每条等值线的拓扑关系,连接每条等值线。华塑软件研究中心采样数据的预处理•生成致密的三角形表面网格来描述几何实体的表面•通过插值得到三角形表面网格每个节点上的数据华塑软件研究中心断层扫描数据广泛地存在于医学、生物、地学、环境等应用领域,是一种最简单的三维标量场。如果各断层问是相互平行的,每一断层与实体的交线就是实体在该断层上的轮廓线,也就是二维平面上一条封闭的无自交的等值线,如图所示.如原始数据是光栅图像形式,在每一断层上轮廓线表现为由连续的两相临点间线段组成的一组简单封闭的直线线段,也就是一个封闭多边形链。图实体与断层由二维轮廓线重构三维形体(1)华塑软件研究中心三维断层扫描等是常见三维标量场的几何特征描述来源,在显示前一般需要进行三维形体的重构。重构过程分为拓扑重构和几何重构两部分。拓扑重构采用嵌套树表示断层上轮廓线的相对位置,用分类图表示层间轮廓线的拓扑关系.枚举算法列出了所有有效的分类图,采用轮廓线的相似性和相对位置等约束来排除大量无意义的分类图,以推导出正确的分类图。几何重构有面向曲面的重构和面向体的重构。面向曲面的重构中最常用的是三角片表面重构,对应拓扑重构的四种基本分叉,有四种基本表面段的表面重构:极值点、圆柱、独立分叉和连通分叉。由于两相邻断层轮廓线间的表面重构等同于有向图G中寻找一条从(0,0)到(m-1,n-1)的路经。利用放样技术生成具有C2连续的表面重构算法。面向体的重构有Delaunay四面体重构和正六面体空间。由二维轮廓线重构三维形体(2)华塑软件研究中心断层数据的表面重构是从一系列断面上的轮廓线中推导出相应实体的空间几何结构.连接上下两条轮廓的各点所形成的众多的基本三角形必须构成相互连接的三维表面,且不能在三角形内部相交,要保证推导的正确性和唯一性。由二维轮廓线重构三维形体(3)三角片构造对象表面有向图G轮廓线的描述由有向图描述。有向图图的每一顶点对应于轮廓线上的定点,图上的边表示三角形的边,求取方法有:(1)最短对角线法(2)最大体积法(3)相邻轮廓线同步前进法华塑软件研究中心由二维轮廓线重构三维形体(4)问题:非凸多变形的重构以及多轮廓的重构非凸多边形多轮廓线华塑软件研究中心什么是体渲染?•体是由三维空间的多个体元(voxel)的三维数组组成•组成形式同二维的图像相似,图像由像素组成•由CT得到的数据或者其他方式的标量数据场很容易用体表示•体元是体的基本组成元素•体元的数量太多,如比较小的体含有1283个体元•体渲染只如何把体元转化为2D的图像•体渲染是一种具有透明属性的体元的三维投影技术华塑软件研究中心优点:•表达直观,形象•能很好体现透明效果(火,烟雾…).•高质量缺点:•大数据量•计算两大•处理非规则的网格数据困难为什么要用体渲染?主要方法:•光线投影算法•体元投射法•三维纹理映射华塑软件研究中心光学模型(1)•体内的任意一点都能发射和吸收光线•发射光线——每一点根据值不一样发射不同的颜色(颜色映射)•吸收光线——每一点都有一定的不透明性,能阻挡其后面的光线进入到观测点x(t):ray,parameterizedbyts(x(t)):scalarvaluec(s(x(t)):color;emittedlighta(s(x(t)):absorptioncoefficientCC=c(s(x(t))edt-a(s(x(t’)))dt’0D0t华塑软件研究中心光学模型(2)C0DC=SC(1-A)ii0n0i-1C’=C+(1-A)C’iii+1离散后计算方法•明暗计算(得到三维效果)•对于每个点计算:•C=环境光+散射光+镜面光=常量+IpKd(N.L)+IpKs(N.H)•Ip:采样点的发射光•N:采样点法向矢量华塑软件研究中心采样点的法矢计算光线的强度——采样点的法矢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+1x-1,y-1,Y+1z+1z-1华塑软件研究中心光线投影算法两种合成算法:从后往前合成从前往后合成沿着视线方向重新采样标量场数据Ray特点:•每个像素点都有需要一条光线计算•依次着光线的方向计算颜色和透明度,复杂度为:图片大小×深度•视角变换的时候需要重新计算•并行计算程度高华塑软件研究中心光线投影法的改进•性能改进方法•使用层次八叉树的结构存储体元•完全透明的多个体元由一个体元代替•取少量的点进行光线投影,其余点插值获得•质量改进方法•采样更多的点,如一个像素点采取4点进行光线投影•采用透视投影替换平行投影23华塑软件研究中心体元投射法•体元只一个长方形区域•投影后的多变形区域最多分成7个区域,每个区域都是两个体元面的投影区域•计算每个区域顶点的颜色值以及透明度•采用插值法计算区域内每一点的颜色及透明度•对于每个象素点从后往前合并图像华塑软件研究中心基于纹理映射的体绘制方法(1)•由硬件实现•步骤•生成纹理•定义映射•纹理重采样华塑软件研究中心基于纹理映射的体绘制方法(2)坐标轴方向的切片沿视点方向的切片华塑软件研究中心等值面•等值面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}组成的一张曲面。•许多标量场中的可视化问题都归纳为等值面的抽取和绘制,如:•医学图像中的三维重建;•有限元计算中的标量场分析,包括等势面、•等位面、等压面等等;•分子化学中的分子表面显示;•地质中矿藏分布的构造等.•方法:•MarchingCube•Marchingtetrahedra华塑软件研究中心(1)MarchingCube算法是三维数据场等值面生成的经典算法,是体素单元内等值面抽取技术的代表。这一类算法所处理的数据一般是三维正交的数据场。基本思想:MarchingCube算法的基本思想是逐个处理数据场中的立方体,分类出与等值面相交的立方体,采用插值计算出等值值面与立方体边的交点。根据立方体每一顶点与等值面的相对位置,将等值面与立方体边的交点按一定方式连接生成等值面,作为等值面在该立方体内的一个逼近表示。前提假设:MarchingCube算法的基本假设是沿着立方体的边数据场呈连续线性变化,也就是讲,如一条边的两个顶点分别大于小于等值面的值,则在该条边上必有也仅有一点是这条边与等值面的交点。确定立方体体素中等值面的分布是该算法的基础。华塑软件研究中心(2)算法:首先对立方体的八个顶点进行分类,以判定其顶点是位于等值面之外,还是位于等值面之内.再根据八个顶点的状态,确定等值面的模式.顶点分类规则为1)如立方体顶点的数据值>等值面的值,则定义该顶点位于等值面之外,记为“+”;2)如立方体顶点的数据值<等值面的值,则定义该顶点位于等值面之内,记为“-”;由于每一体素共有8个顶点,每个顶点共有2个状态,因此共有256种组合状态.分析立方体体素的两种对称性:1)如顶点状态返转,等值三角面片的拓扑结构不变.也就是讲,大于等值面点与小于等值面的点是可以相互替换的;2)旋转对称性,经过适当旋转,有许多状态是一致的,如图所示.华塑软件研究中心(3)三角片顶点计算在确定立方体内三角片等值面分布模式后,就要计算出三角片顶点位置,根据算法的基本假设,可以直接用线性插值计算等值面与立方体边的交点X。华塑软件研究中心(4)等值面的二义性在立方体的一个面上,如果位于等值面内和在等值面外的顶点分别分布在对角线的两端,那么就有两种可能的连接方式,因而存在二义性,这样的面称之为二义性面.包含一个以上二义性面的立方体,即为二义性立方体。MarchingCube算法提供了一种较精确的等值面生成方法,但在它所提出的15种体素内等值面连接模式中存在着许多二义性的连接,在上