科学计算可视化 授课教师: 单位:.

Slides:



Advertisements
Similar presentations
§3.4 空间直线的方程.
Advertisements

《解析几何》 -Chapter 3 §7 空间两直线的相关位置.
3.4 空间直线的方程.
上一节课内容回顾 第七讲 三维标量场等值面可视化 7.1 Cuberille表示和显示方法 7.2 Marching Cube算法
《解析几何》 乐山师范学院 0 引言 §1 二次曲线与直线的相关位置.
丰富的图形世界(2).
第三章 数据类型和数据操作 对海量数据进行有效的处理、存储和管理 3.1 数据类型 数据源 数据量 数据结构
UI(用户界面)集训班 Illustrator 高级班.
2、以对象空间为序的体绘制算法—单元投影法
§5 微分及其应用 一、微分的概念 实例:正方形金属薄片受热后面积的改变量..
2-7、函数的微分 教学要求 教学要点.
§5 微分及其应用 一、微分的概念 实例:正方形金属薄片受热后面积的改变量..
七 年 级 数 学 第二学期 (苏 科 版) 复习 三角形.
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
计算机基础知识 丁家营镇九年制学校 徐中先.
Overview of Python Visualization Tools
Computer Graphics 计算机图形学基础 张 赐 Mail: CSDN博客地址:
面向对象建模技术 软件工程系 林 琳.
强连通分量 无向图 1、任意两顶点连通称该图为连通图 2、否则将其中的极大连通子图称为连通分量 A D C B E 有向图
物体识别 3D建图 semantic mapping
存储系统.
管理信息结构SMI.
走进编程 程序的顺序结构(二).
绘制圆与多边形 椭圆形 绘制椭圆形的方法是 drawOval(x ,y , width , height), 绘制实心椭圆形的方法是
数 控 技 术 华中科技大学机械科学与工程学院.
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
数学模型实验课(三) 插值与三维图形.
数据挖掘工具性能比较.
PaPaPa项目架构 By:Listen 我在这.
CPU结构和功能.
双曲线的简单几何性质 杏坛中学 高二数学备课组.
使用矩阵表示 最小生成树算法.
工业机器人技术基础及应用 主讲人:顾老师
混合绘制 2019/4/5 Visual Analytics Group | CAD&CG国家重点实验室.
第4章 非线性规划 4.5 约束最优化方法 2019/4/6 山东大学 软件学院.
C语言程序设计 主讲教师:陆幼利.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
第二十二章 曲面积分 §1 第一型曲面积分 §2 第二型曲面积分 §3 高斯公式与斯托克斯公式.
2.6 直角三角形(二).
第四章 四边形性质探索 第五节 梯形(第二课时)
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
VisComposer 2019/4/17.
3.3 垂径定理 第2课时 垂径定理的逆定理.
第五节 对坐标的曲面积分 一、 对坐标的曲面积分的概念与性质 二、对坐标的曲面积分的计算法 三、两类曲面积分的联系.
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
第四章 第四节 函数图形的描绘 一、渐近线 二、图形描绘的步骤 三 、作图举例.
数据集的抽取式摘要 程龚, 徐丹云.
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
13.3 等腰三角形 (第3课时).
树和图 tree and graph 蔡亚星.
第4课时 绝对值.
直线和圆的位置关系 ·.
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
昆明理工大学先进计算软件技术与应用云南省创新团队昆明理工大学计算机应用重点实验室
静定结构位移计算 ——应用 主讲教师:戴萍.
分数再认识三 真假带分数的练习课.
平行四边形的性质 鄢陵县彭店一中 赵二歌.
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
实验目的:掌握数据的顺序存储结构及它们在计算机中的操作。 实验内容:
§2-2 点的投影 一、点在一个投影面上的投影 二、点在三投影面体系中的投影 三、空间二点的相对位置 四、重影点 五、例题 例1 例2 例3
图片与视频数字化. 图片与视频数字化 图片分类 根据图片的构成元素来分 位图: 由像素组成,计算机按顺序存储每个像素点 的颜色信息的保存方式获得的图片。 位图放大后会模糊失真,存储空间相对较大。 矢量图: 由图元组成,通过数学公式计算获得的图片。 放大后不会失真,占用空间小。
基于列存储的RDF数据管理 朱敏
第四节 向量的乘积 一、两向量的数量积 二、两向量的向量积.
第三节 数量积 向量积 混合积 一、向量的数量积 二、向量的向量积 三、向量的混合积 四、小结 思考题.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
位似.
生活中的几何体.
H a S = a h.
3.3.2 两点间的距离 山东省临沂第一中学.
Presentation transcript:

科学计算可视化 授课教师: 单位:

主要内容 概述 面绘制算法 直接体绘制方法 实用可视化系统VTK简介及实例程序

主要内容 概述 面绘制算法 直接体绘制方法 实用可视化系统VTK简介及实例程序

概述 科学计算可视化(Scientific Visualization):利用图形的方式将科学数据中所蕴含的现象、规律表现出来,从而促进人们对数据的洞察和理解 http://medgadget.com/archives/2007/09/nsf_scientific_visualization_awards_announced.html

概述 应用领域 工程 医学 地理信息 气象 石油/天然气勘探 生物信息学 …

概述 可视化的流程

概述 可视化的流程

概述 三维数据场分类 标量(scalar)场 S 单值 矢量(vector)场 张量(tensor)场 (u,v,w) 大小与三维方向 3×3矩阵

概述 三维数据场 各采样点分布及空间邻接关系可用网格描述 依各网格结点之间的连接关系划分 结构化网格(structured mesh) 非结构化网格(unstructured mesh) 存贮在每一网格点的数据用于描述该采样点(或该网格单元)处三维数据场的属性

概述 结构化网格与非结构化网格示例

概述 可视化的流程

概述 变换是指对数据进行预处理,以便利后续处理 对庞大的数据场只提取与可视目标相关的信息以减少数据量 通过几何变换对点的坐标进行缩放 通过拓扑变换调整网格点的连接关系 将数据转换成更为通用的标准格式 …

概述 可视化的流程

概述 映射是整个可视化流程的核心 设计合理的可视化方案和算法 将经过变换处理的数据映射为可供绘制、显示的形状或属性

概述 可视化的流程

概述 绘制和显示:将上述可供绘制的元素转换成图像,绘制在屏幕或其他介质上 可视化流程的最后一个步骤 可直接借鉴计算机图形学的现有方法

概述 可视化算法分类 标量场算法 矢量场算法 张量场算法

概述 标量场算法 颜色映射 轮廓抽取 体绘制

概述 矢量场算法 从几何形状、颜色或纹理等着手,试图将三维矢量信息分别映射为这三类可绘制的元素或这些元素的组合

概述 张量场算法 点图标方法 超流线方法

主要内容 概述 面绘制算法 直接体绘制方法 实用可视化系统VTK简介及实例程序

面绘制算法 将三维数据场中具有某种共同属性的采样点按其空间位置连接起来,构成一张连续表面,然后对抽取出的表面进行绘制 等值面算法 等值面:在一给定三维数据场中,采样值均为某一给定值的所有空间点的集合 三维标量场可视化中最常用 Marching Cubes方法

Marching Cubes算法 数据集 适用于三维规则标量场 每一立方体单元称为一个体素(voxel),数据场的数据值分布在体素的8个顶点上 典型代表:CT数据、MRI数据

Marching Cubes算法 思想:基于“分治(divide-and-conquer)”思想将整个数据场的等值面抽取分解到每一个体素中去完成

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

Marching Cubes算法 确定体素顶点状态 设所需抽取的等值面的属性值为C0 若某顶点V所存贮的数据值大于(或等于)C0,则认为V在等值面外侧(或位于其上),并记其状态值为1 反之,若V所存贮的数据值小于C0,则认为V在等值面内侧,并记其状态值为0

Marching Cubes算法 确定体素顶点状态 Example:5个顶点均位于外侧,记为10111100 v8 v7 v4 v3 Case = v8|v7|v6|v5|v4|v3|v2|v1

Marching Cubes算法 判别体素的边与等值面是否有交 对于某一条边E(其顶点为V1和V2),若V1和V2的状态值相同,则边E位于等值面的外侧(或内侧) ,边E不与等值面相交 ;反之,若V1和V2的状态值不同,边E必定与等值面相交 若边E与等值面有交点,可通过线性插值计算出交点

Marching Cubes算法 将体素各边与等值面的交点连接成三角形 取决于体素每一顶点的状态值分布情况 存在着28种不同情况 每一体素有8个顶点 每一顶点有两种状态值 基于体素顶点状态翻转对称性和旋转对称性,将上述256种组合情形减少到15种 翻转对称性:如果体素各顶点的状态值0和1互换,所含等值面的拓扑结构(即交点连接关系)不变 旋转对称性:体素旋转后,所含等值面的拓扑结构不变

Marching Cubes算法 15种等值面连接模式 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Marching Cubes算法 15种等值面连接模式:示例 2 9

Marching Cubes算法 法向计算 用等值面上某点的梯度方向代表该点法向 用中心差分和线性插值相结合计算等值面上点的法向

Marching Cubes算法 存在问题及改进 (1) 15种连接情形中,有些存在二义性,可能导致所生成的相邻体素的等值面之间不连续,从而使最终生成的等值面存在“空洞”

Marching Cubes算法 存在问题及改进 (1) 改进方法之一:增加连接模式,使其能与相邻体素的状态相匹配以消除“空洞”

Marching Cubes算法 存在问题及改进 (1) 改进方法之二:将六面体体素分解为四面体单元,并将等值面抽取限制在四面体单元中进行 改进方法之三:采用双曲线渐近线交点来决定具有二义性的面上的交点的连接方式

Marching Cubes算法 存在问题及改进 (2) 所生成的等值面中往往包含大量的三角面片,影响存储与绘制的效率 改进方法之一:对所生成的等值面三角形网格进行简化 改进方法之二:采用适用于密集数据场等值面生成的Dividing Cubes算法

主要内容 概述 面绘制算法 直接体绘制方法 实用可视化系统VTK简介及实例程序

直接体绘制算法 Why? 面绘制算法的两个假设 上述两个假设都有可能不成立 对于某一个给定的等值面的值C0,可以从数据场中抽取出一系列多边形来逼近该等值面 所抽取出来的多边形网格表面能反映物体的结构 上述两个假设都有可能不成立

直接体绘制算法 Why? 面绘制算法无法显示出整个三维数据场的全貌 对于规模较大的三维数据场,采用面绘制方法所生成的等值面网格往往过于复杂 会导致三维数据场中大量的信息丢失 对于规模较大的三维数据场,采用面绘制方法所生成的等值面网格往往过于复杂 甚至会超出现有图形硬件的处理能力

直接体绘制算法 直接体绘制:指不经过体数据到多边形的转换,而直接对三维体数据进行处理生成可视图像的方法 通常简称为体绘制 光线投射体绘制算法

光线投射体绘制算法 图像空间算法 步骤 设计传输函数(transfer function),该函数将空间任一点的标量值映射为点的光照属性值 朝画面每一像素投射光线,沿该光线方向对标量场进行重采样,选取适当光照模型计算各采样点处的光亮度值 沿投射光线方向对各采样点的光亮度值合成,生成像素的显示光亮度

光线投射体绘制算法 设计传输函数 对三维数据场各采样点上存贮的数据值进行分类,依据一定的准则为数据场每一采样点赋一颜色值(R,G,B)和不透明度值(opacity,用α表示)

光线投射体绘制算法 沿投射光线方向重采样计算光亮度值 从当前视点位置出发,向屏幕上的每一像素点发出一条光线,穿过数据场,同时沿着光线进行均匀点采样,得到一系列重采样点

光线投射体绘制算法 沿投射光线方向重采样计算光亮度值(cont.) 对于每一数据场内的重采样点PR,找出它所在的体素,对该体素的8个顶点的不透明度和颜色作三线性插值得到PR处的不透明度和颜色 类似地,通过三线性插值计算得到PR处的梯度(即法线方向) 根据体光照明模型计算PR处光亮度值

光线投射体绘制算法 光亮度值合成 将分布在同一光线上的所有重采样点的光照强度按照一定的次序进行累计得到相应屏幕像素最终显示的颜色 两种合成方法 从后向前 从前向后

光线投射体绘制算法 光亮度值合成 从后向前合成

光线投射体绘制算法 光亮度值合成 从前向后合成 在从前向后的累加过程中,不透明度α将不断增加,逐渐向1逼近。当α接近于1时,可终止当前光线的跟踪过程

其他体绘制算法 景物空间的直接体绘制方法 从三维数据场的每一体素出发,根据视点位置和方向将其投影到屏幕上 根据该体素各顶点的存贮的数据场值计算其不透明度和颜色,由体光照明模型计算出各点处的光亮度值 根据所采用的重构核函数计算出该数据点所影响的屏幕像素的范围及对所覆盖区域内各像素的光亮度的贡献 每个像素点的光亮度由多个数据点的贡献累加得到

主要内容 概述 面绘制算法 直接体绘制方法 实用可视化系统VTK简介及实例程序

VTK简介 全称:Visualization Toolkit 源码开放的免费可视化软件系统 采用面向对象的方法设计开发,以C++语言编写 包含由700多个类组成的内容极为丰富的类库 支持几何造型及可视化中复杂数据的表达、对标量场、矢量场、张量场的可视化以及隐函数造型、多边形网格简化、Delaunay三角分割等高级造型技术 除C++语言外,还允许用户通过Tcl/Tk,Java和Python等解释性语言编写应用程序以快速完成可视化应用实例的开发

VTK简介 采用一个数据流模型以实现数据信息向图形信息的转换 在这个模型中,相关模块连接成网络 数据在网络中流动,同时模块将算法应用于数据上 可视化网络的运作有两种控制方式:需求驱动方式和事件驱动方式 包含了两类基本对象:过程对象和数据对象 过程对象是可视化网络中的模块(算法部分),可进一步分为三类:源、过滤器和映射器,分别执行可视化数据的输入、变换、预处理及映射功能 数据对象又称数据集,包含了结构和属性数据

VTK实例程序 运行、讲解光盘中的实例程序