基于 Paraview 扩展与实现——(5)

Paraview几乎把VTk发挥到了极致,所以如果想能够对Paraview熟练的应用,必须熟悉VTK的一些基础的知识,现在整理一下VTK的一些理论知识!

1. VTK调研

1.1 VTK的程序构架

VTK在基础的图形函数库OpenGL的基础上采用面向对象的设计方法发展起来的,将一些常用的算法封装起来以供用户调用。

VTK采用流水线(p ipe line)机制,由可视化模型和图形模型组成,数据在流水线中转换成直观的图形图像显示在界面窗口中,VTK 可视化流程是首先读入原始数据,然后采用一定的过滤器进行数据处理,接着将处理得到的数据集映射成几何数据,最后将几何数据转换为图形图像数据在用户界面的渲染窗口中绘制出来。

可视化模型的实现类为vtkSourcevtkFiltervtkMappervtkSource是流水线机制的源头,读入和存储原始数据;vtkFilter,用来处理原始数据,根据不同的过滤器选择,形成不同的数据集;vtkMapper,将经过滤器处理的数据集转化为几何数据,是连接可视化模型和图形模型的纽带。可视化模型将数据源(Source) ,过滤器(F ilter)和映射器(Mapper)有机的结合起来。

图形模型的实现类为vtkMappervtkActorvtkRendervtkActor,用于表示渲染场景中的实体,包含了几何数据的各种属性;vtkRender,负责将上面的实体在界面窗口中渲染出来。

 基于 Paraview 扩展与实现——(5)_第1张图片

1.2 可视化模型

可视化流程的功能是将原始数据转换为几何数据,包括两个基本对象:数据对象和过程对象。

1.2.1 数据对象

数据对象是可视化数据的一般表示,可以表征各种类型的数据集包括:多边 形数 据(vtkPolyData) 、结 构网 格(vtkStructureGrid) 、非 结构 网格(vtkUnStructure Grid) 、 结 构 点 (vtkStructurePo int) 、 非 结 构 化 点(vtkUnStructurePo int) ,线性网格(vtk RectilinearGrid) 等。数据对象与属性数据相关联,后者用以描述数据对象的属性,属性数据包含标量、矢量、法线、张量等。VTK中的数据集类如图示。

基于 Paraview 扩展与实现——(5)_第2张图片

 1.2.2 过程对象

过程对象,即可视化网络过程对象,包括数据源,过滤器,映射等。其中,数据源是可视化的开始和源泉,过滤器用来输入、处理和输出数据,映射将可视化数据转化某种特定形式(比如渲染基本体)。过程对象和数据对象一起构成VTK的可视化处理流程,如图所示

基于 Paraview 扩展与实现——(5)_第3张图片

 


你可能感兴趣的:(Paraview,可视化,opengl,可视化,界面,vtk,c++)