860 likes | 1.07k Views
上一节课内容回顾. 第十一讲 科学计算可视化系统和工具 可视化系统分类 专用可视化工具 通用可视化系统. 11.1 可视化系统分类 可视化系统是指一个集成环境,在其支持下,人们可通过直观的手段对复杂数据进行有效的研究.可视化工具则一般只支持某一方面的可视化技术. 可视化软件发展至今,经历了由简单到复杂的演进过程,可以按照这一过程将可视化软件分为三大类: 可视化子程序 、 专用可视化工具 和 通用可视化系统 . 这一划分并不是严格的.前两类可视化软件历史较长,因而技术比较成熟,现有大多数可视化应用都是基于这两类来开发的.通用可视化系统则是发展的方向..
E N D
上一节课内容回顾 • 第十一讲 科学计算可视化系统和工具 • 可视化系统分类 • 专用可视化工具 • 通用可视化系统
11.1 可视化系统分类 可视化系统是指一个集成环境,在其支持下,人们可通过直观的手段对复杂数据进行有效的研究.可视化工具则一般只支持某一方面的可视化技术. 可视化软件发展至今,经历了由简单到复杂的演进过程,可以按照这一过程将可视化软件分为三大类:可视化子程序、专用可视化工具和通用可视化系统. 这一划分并不是严格的.前两类可视化软件历史较长,因而技术比较成熟,现有大多数可视化应用都是基于这两类来开发的.通用可视化系统则是发展的方向.
11.2 专用可视化工具 NASA Ames FAST IVM VOXEL View/Voxel Lab Data Visulizer SunVision PV-WAVE (1)PLOT3D PLOT3D是为计算流体动力学(CFD)的网格和流体可视化而设计的一个计算机图形程序.PLOT3D提供了85个函数,并提供多个版本适用于各种系统.PLOT3D能处理带有许多网格点的多重网格,而且能生成多种模型,如线框模型和面模型,PLOT3D的输出还可用于动画程序.
11.2.1 PV-WAVE 支持用户对数据用VDA方式进行分析。VDA是工程师、科学家和研究人员在理解和使用数据时普遍采用的技术,最常见的是当处理大型数据集和要求快速生成图形时,人们往往借助于数学、统计学、信号处理和图像处理等技术来对数据进行直观分析.VDA技术对于科学发现和工程分析具有不可估量的价值,给人们带来了十分明显的好处,从而促进了生产率的提高,为合作者之间提供了直观交流信息的手段。
11.3 通用可视化系统 是一种用于可视化应用构造与运行的支撑环境,故又称应用构造器,它们大多基于数据流机制,拥有一个模块库和一个高层可视编程界面,用户通过该界面从模块库中选取一些适当的算法模块,直观交互地将各模块用数据通道连接起来,构成一个可视化应用的数据流图,然后用户就可以对此流图加以运行和控制,实现其可视化需求. 系统的模块库是可以扩充的,用户可将自己开发的模块转换成系统可接受的形式,并可替换或扩充原有模块库,这样,用户可以采用这些新模块来构造可视化应用程序,故系统可以扩充到各个应用领域,所以我们称之为通用可视化系统,并称之为开放式的.
11.3.1 数据流和可视编程界面 数据流:将一个可视化应用划分成许多相互独立的模块。每个模块带有若干数据输入口和若干数据输出口。模块的功能是将输入口的数据加以处理,并从输出口输出。各模块之间依靠数据的传送保持联系,整个可视化应用就可以用模块之间的数据依赖关系图(数据流图)来表示。
EVS--在AVS基础上开发成的面向环境的可视化系统EVS--在AVS基础上开发成的面向环境的可视化系统
11.4 可视化系统开发 一个可视化系统,一般包括: (1)数据组织管理与常用处理功能; (2)丰富的可视化方法; (3)可视化交互技术; (4)易于使用的图形软件界面; (5)二次开发。
输入结点(Input): 与GIS连接结点 数据读入结点 … 变换结点(Model): 环境模型结点 Filter结点 Mapper结点 输出结点(Output): 可视化输出结点 文件输出结点 数据流图构造与运行控制模块 脚本语言模块
MAYAVI的剖析 • DATA • Filters • Module • Render
class BaseObject: class VizObject (BaseObject): class Source (VizObject): class DataSource (Source): class VtkDataReader (DataSource) class PLOT3DReader (DataSource) … class Filter (Source): class PolyDataNormals (Filter) class WarpVector (PolyDataNormals) … class Module (VizObject): class CutPlaneModule (Module): class SurfaceMap (Module) class Streamlines (Module) … class ModuleManager: class DataVizManager: class MayaVi class MayaViTkGUI
本节课内容: • 第十二讲 环境信息可视化系统 • 环境信息可视化系统 EVS • 环境计算 • 流场可视化示例 • 考查作业
12.1 EVS可视化步骤 在EVS下环境数据的可视化包括下述六个步骤: 1). 读取、预处理环境数据,剪裁出感兴趣的数据; 2). 用Krige法插值数据生成两维或三维的数据场; 3). 用过滤器处理数据获得研究区域的数据子集, 然后把过滤后的 数据转换成颜色数据; 4). 使用映射和颜色技术把数据显示成:切片、边线、面、等值线、 表面 、台体、 镶嵌体、流线、流带 等; 5). 在三维空间中使用动态旋转、平移、缩放等察看可视化结果; 6). 把视口的图像保存为图像文件.
数据预处理 快速的数据预处理功能.
Kriging 数据插值
Data Filtering 数据过滤形成新的子集
Three-Dimensional Viewing 旋转、缩放、平移等
Output & Image Production 输出成多种图像格式
12.2 EVS 模块库 EVS 按照8个库组织所有的模块: 数据文件相关库: 创建或输入数据 数据集提取库:提取轮廓线等 数据处理算法库:处理数据生成新的数据子集 图像库 动画库 工具库 显示库:流线、Legend、视口等 Cell库:处理由结点构成的拓扑单元数据
12.3 直接数据可视化 不通过内插或外推直接绘制--利用镶嵌(装配)技术 2D镶嵌 3D镶嵌
12.4 格网 (1)拓扑单元
12.5 插值方法 Inverse Distance Weighted (IDW) Splining Geostatistical Methods (Kriging)
12.6 绘制方法 (1)点/线绘制 (2)面绘制 (3)体绘制 (4)切割和切片 (5)流线
环境计算可视化 环境科学与工程+计算+可视化 科学计算+可视化
从环境计算可视化的角度,除了可视化的基本技术外,要获得较好的可视化效果,主要依赖于环境模型。需要研究以水、气、沙等为运动载体的各种物质的模型及其可视化方法。如MIKE11是典型的以水为载体的物质运动的模型软件,在可视化上取得了非常好的效果。从环境计算可视化的角度,除了可视化的基本技术外,要获得较好的可视化效果,主要依赖于环境模型。需要研究以水、气、沙等为运动载体的各种物质的模型及其可视化方法。如MIKE11是典型的以水为载体的物质运动的模型软件,在可视化上取得了非常好的效果。 水流作用下水面悬浮物的运动
风场 水流作用下沙的运动
总结 第1讲 可视化技术概况 第2讲 PYTHON语言 第3讲 VTK可视化系统 第4讲 数据类型和数据操作 第5讲 二维标量场可视化 第6讲 三维断层标量场数据可视化 第7讲 三维标量场等值面可视化 第8讲 三维标量场体可视化 第9讲 矢量场可视化 第10讲 三维交互技术 第11讲 科学计算可视化系统和工具 第12讲 环境信息可视化系统
VTK中的数据对象 VTK一般把数据表示成场数据,数据集是带有拓扑和几何结构的数据对象。除了结构,数据集还附带有属性数据。属性数据包括:标量,矢量,张量,法向,纹理坐标,以及场数据。
VTK中的数组类 vtkDataArray vtkBitArray vtkCharArray vtkDoubleArray vtkFloatArray vtkIdTypeArray vtkIntArray vtkLongArray vtkShortArray vtkUnsignedCharArray vtkUnsignedIntArray vtkUnsignedLongArray vtkUnsignedShortArray vtkVoidArray
VTK中的列表类 vtkCollection vtkAssemblyPath vtkAssemblyPaths vtkCullerCollection vtkDataArrayCollection vtkDataObjectCollection vtkDataSetCollection vtkIdListCollection vtkImageReader2Collection vtkImplicitFunctionCollection vtkLightCollection vtkMapperCollection vtkObjectFactoryCollection vtkOverrideInformationCollection vtkPlaneCollection vtkPolyDataCollection • vtkPropCollection • vtkActor2DCollection • vtkActorCollection • vtkProp3DCollection • vtkVolumeCollection • vtkRendererCollection • vtkRenderWindowCollection • vtkStructuredPointsCollection • vtkTransformCollection
VTK中的拓扑单元类 • vtkCell • vtkCell3D • vtkConvexPointSet • vtkHexahedron • vtkPyramid • vtkTetra • vtkVoxel • vtkWedge • vtkEmptyCell • vtkGenericCell • vtkLine • vtkPixel • vtkPolygon • vtkPolyLine • vtkPolyVertex • vtkQuad • vtkTriangle • vtkTriangleStrip • vtkVertex • vtkNonLinearCell • vtkExplicitCell • vtkQuadraticEdge • vtkQuadraticHexahedron • vtkQuadraticQuad • vtkQuadraticTetra • vtkQuadraticTriangle
VTK中的数据对象类 vtkDataObject vtkPiecewiseFunction vtkDataSet vtkImageData vtkStructuredPoints vtkImageCanvasSource2D vtkPointSet vtkPolyData vtkStructuredGrid vtkUnstructuredGrid vtkRectilinearGrid vtkUniformGrid vtkCompositeDataSet vtkHierarchicalDataSet vtkHierarchicalBoxDataSet vtkMultiBlockDataSet vtkFieldData vtkDataSetAttributes vtkPointData vtkCellData