计算机图形学_第七章_科学计算可视化

上传人:ji****72 文档编号:51937643 上传时间:2018-08-17 格式:PPT 页数:52 大小:4.14MB
返回 下载 相关 举报
计算机图形学_第七章_科学计算可视化_第1页
第1页 / 共52页
计算机图形学_第七章_科学计算可视化_第2页
第2页 / 共52页
计算机图形学_第七章_科学计算可视化_第3页
第3页 / 共52页
计算机图形学_第七章_科学计算可视化_第4页
第4页 / 共52页
计算机图形学_第七章_科学计算可视化_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《计算机图形学_第七章_科学计算可视化》由会员分享,可在线阅读,更多相关《计算机图形学_第七章_科学计算可视化(52页珍藏版)》请在金锄头文库上搜索。

1、科学计算可视化授课教师:单位:2主要内容l概述l面绘制算法l直接体绘制方法l实用可视化系统VTK简介及实例程序3主要内容l概述l面绘制算法l直接体绘制方法l实用可视化系统VTK简介及实例程序4概述l科学计算可视化(Scientific Visualization):利用图形 的方式将科学数据中所蕴含的现象、规律表现出来,从 而促进人们对数据的洞察和理解http:/ /2007/09/nsf_scientific_visualiz ation_awards_announced.html5概述l应用领域l工程l医学l地理信息l气象l石油/天然气勘探l生物信息学l6概述l可视化的流程7概述l可视化的

2、流程8概述l三维数据场分类l标量(scalar)场l矢量(vector)场l张量(tensor)场S 单值(u,v,w)大小与三维方向33矩阵9概述l三维数据场l各采样点分布及空间邻接关系可用网格描述l依各网格结点之间的连接关系划分结构化网格(structured mesh)非结构化网格(unstructured mesh)l存贮在每一网格点的数据用于描述该采样点(或该 网格单元)处三维数据场的属性10概述l结构化网格与非结构化网格示例11概述l可视化的流程12概述l变换是指对数据进行预处理,以便利后续处理l对庞大的数据场只提取与可视目标相关的信息以减 少数据量l通过几何变换对点的坐标进行缩放

3、l通过拓扑变换调整网格点的连接关系l将数据转换成更为通用的标准格式l13概述l可视化的流程14概述l映射是整个可视化流程的核心l设计合理的可视化方案和算法l将经过变换处理的数据映射为可供绘制、显示的形 状或属性 15概述l可视化的流程16概述l绘制和显示:将上述可供绘制的元素转换成图 像,绘制在屏幕或其他介质上l可视化流程的最后一个步骤l可直接借鉴计算机图形学的现有方法17概述l可视化算法分类l标量场算法l矢量场算法l张量场算法18概述l标量场算法l颜色映射l轮廓抽取l体绘制19概述l矢量场算法l从几何形状、颜色或纹理等着手,试图将三维矢量 信息分别映射为这三类可绘制的元素或这些元素的 组合2

4、0概述l张量场算法l点图标方法l超流线方法21主要内容l概述l面绘制算法l直接体绘制方法l实用可视化系统VTK简介及实例程序22面绘制算法l将三维数据场中具有某种共同属性的采样点按 其空间位置连接起来,构成一张连续表面,然 后对抽取出的表面进行绘制l等值面算法l等值面:在一给定三维数据场中,采样值均为某一 给定值的所有空间点的集合l三维标量场可视化中最常用lMarching Cubes方法23Marching Cubes算法l数据集l适用于三维规则标量场l每一立方体单元称为一个体素(voxel),数据场的 数据值分布在体素的8个顶点上l典型代表:CT数据、MRI数据24Marching Cub

5、es算法l思想:基于“分治(divide-and-conquer)”思想 将整个数据场的等值面抽取分解到每一个体素 中去完成25Marching Cubes算法l算法概述l读入三维规则标量场l对于每一体素依据所需抽取的等值面的属性值,确定其8个顶点的状态对于体素的每一条边,依据顶点状态,判别它是否与等值 面有交点。若交点存在,则求出交点在求出了当前体素的所有边与等值面的交点后,依据一定 的准则将这些交点连接成三角形,作为等值面位于该体素 内部分的近似表示,并进行真实感绘制l当处理完所有体素后,即完成了整个数据场的等值 面抽取与绘制26Marching Cubes算法l确定体素顶点状态l设所需抽

6、取的等值面的属性值为C0l若某顶点V所存贮的数据值大于(或等于)C0,则认 为V在等值面外侧(或位于其上),并记其状态值为 1l反之,若V所存贮的数据值小于C0,则认为V在等值 面内侧,并记其状态值为027Marching Cubes算法l确定体素顶点状态lExample:5个顶点均位于外侧,记为10111100Case = v8|v7|v6|v5|v4|v3|v2|v1v1 v2v5 v6v4 v3v8 v728Marching Cubes算法l判别体素的边与等值面是否有交l对于某一条边E(其顶点为V1和V2),若V1和V2的状 态值相同,则边E位于等值面的外侧(或内侧) ,边 E不与等值面

7、相交 ;反之,若V1和V2的状态值不同 ,边E必定与等值面相交l若边E与等值面有交点,可通过线性插值计算出交点29Marching Cubes算法l将体素各边与等值面的交点连接成三角形l取决于体素每一顶点的状态值分布情况l存在着28种不同情况每一体素有8个顶点每一顶点有两种状态值l基于体素顶点状态翻转对称性和旋转对称性,将上 述256种组合情形减少到15种翻转对称性:如果体素各顶点的状态值0和1互换,所含等 值面的拓扑结构(即交点连接关系)不变旋转对称性:体素旋转后,所含等值面的拓扑结构不变30Marching Cubes算法l15种等值面连接模式0 1 2 3 45 6 7 8 910 11

8、 12 13 1431Marching Cubes算法l15种等值面连接模式:示例2 932Marching Cubes算法l法向计算l用等值面上某点的梯度方向代表该点法向l用中心差分和线性插值相结合计算等值面上点的法 向33Marching Cubes算法l存在问题及改进 (1)l15种连接情形中,有些存在二义性,可能导致所生 成的相邻体素的等值面之间不连续,从而使最终生 成的等值面存在“空洞”34Marching Cubes算法l存在问题及改进 (1)l改进方法之一:增加连接模式,使其能与相邻体素 的状态相匹配以消除“空洞”35Marching Cubes算法l存在问题及改进 (1)l改进

9、方法之二:将六面体体素分解为四面体单元, 并将等值面抽取限制在四面体单元中进行l改进方法之三:采用双曲线渐近线交点来决定具有 二义性的面上的交点的连接方式36Marching Cubes算法l存在问题及改进 (2)l所生成的等值面中往往包含大量的三角面片,影响 存储与绘制的效率l改进方法之一:对所生成的等值面三角形网格进行 简化l改进方法之二:采用适用于密集数据场等值面生成 的Dividing Cubes算法37主要内容l概述l面绘制算法l直接体绘制方法l实用可视化系统VTK简介及实例程序38直接体绘制算法lWhy?l面绘制算法的两个假设对于某一个给定的等值面的值C0,可以从数据场中抽取出一

10、系列多边形来逼近该等值面所抽取出来的多边形网格表面能反映物体的结构l上述两个假设都有可能不成立39直接体绘制算法lWhy?l面绘制算法无法显示出整个三维数据场的全貌会导致三维数据场中大量的信息丢失l对于规模较大的三维数据场,采用面绘制方法所生 成的等值面网格往往过于复杂甚至会超出现有图形硬件的处理能力40直接体绘制算法l直接体绘制:指不经过体数据到多边形的转换 ,而直接对三维体数据进行处理生成可视图像 的方法通常简称为体绘制光线投射体绘制算法41光线投射体绘制算法l图像空间算法l步骤l设计传输函数(transfer function),该函数将空间任一 点的标量值映射为点的光照属性值l朝画面每

11、一像素投射光线,沿该光线方向对标量场 进行重采样,选取适当光照模型计算各采样点处的 光亮度值l沿投射光线方向对各采样点的光亮度值合成,生成 像素的显示光亮度42光线投射体绘制算法l设计传输函数l对三维数据场各采样点上存贮的数据值进行分类, 依据一定的准则为数据场每一采样点赋一颜色值(R ,G,B)和不透明度值(opacity,用表示)43光线投射体绘制算法l沿投射光线方向重采样计算光亮度值l从当前视点位置出发,向屏幕上的每一像素点发出一条 光线,穿过数据场,同时沿着光线进行均匀点采样,得 到一系列重采样点44光线投射体绘制算法l沿投射光线方向重采样计算光亮度值(cont.)l对于每一数据场内的

12、重采样点PR,找出它所在的体素, 对该体素的8个顶点的不透明度和颜色作三线性插值得 到PR处的不透明度和颜色l类似地,通过三线性插值计算得到PR处的梯度(即法线 方向)l根据体光照明模型计算PR处光亮度值45光线投射体绘制算法l光亮度值合成l将分布在同一光线上的所有重采样点的光照强度按照一 定的次序进行累计得到相应屏幕像素最终显示的颜色l两种合成方法从后向前从前向后46光线投射体绘制算法l光亮度值合成l从后向前合成47光线投射体绘制算法l光亮度值合成l从前向后合成l在从前向后的累加过程中,不透明度将不断增加,逐 渐向1逼近。当接近于1时,可终止当前光线的跟踪过 程48其他体绘制算法l景物空间的

13、直接体绘制方法l从三维数据场的每一体素出发,根据视点位置和方向将 其投影到屏幕上l根据该体素各顶点的存贮的数据场值计算其不透明度和 颜色,由体光照明模型计算出各点处的光亮度值l根据所采用的重构核函数计算出该数据点所影响的屏幕 像素的范围及对所覆盖区域内各像素的光亮度的贡献l每个像素点的光亮度由多个数据点的贡献累加得到49主要内容l概述l面绘制算法l直接体绘制方法l实用可视化系统VTK简介及实例程序50VTK简介l全称:Visualization Toolkitl源码开放的免费可视化软件系统l采用面向对象的方法设计开发,以C语言编写l包含由700多个类组成的内容极为丰富的类库l支持几何造型及可视

14、化中复杂数据的表达、对标量 场、矢量场、张量场的可视化以及隐函数造型、多 边形网格简化、Delaunay三角分割等高级造型技术l除C语言外,还允许用户通过Tcl/Tk,Java和 Python等解释性语言编写应用程序以快速完成可视 化应用实例的开发51VTK简介l采用一个数据流模型以实现数据信息向图形信 息的转换l在这个模型中,相关模块连接成网络l数据在网络中流动,同时模块将算法应用于数据上l可视化网络的运作有两种控制方式:需求驱动方式 和事件驱动方式l包含了两类基本对象:过程对象和数据对象过程对象是可视化网络中的模块(算法部分),可进一步分 为三类:源、过滤器和映射器,分别执行可视化数据的输 入、变换、预处理及映射功能数据对象又称数据集,包含了结构和属性数据52VTK实例程序

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号