06-VTK基本数据结构(4)

6.5 不同类型的数据集

至此,我们知道,数据集由组织结构和与之关联的属性数据构组成,组织结构包括拓扑结构和几何结构。数据集的类型是由它的组织结构决定,同时数据集的类型决定了点和单元之间的相互关系,图6.11列出了常见的数据集类型,图6.12是对应的类的继承图。

依据数据集的结构特征,可分为规则结构和不规则结构的数据。如果组成数据集的点是规则的,则称该数据集的几何是规则的,如果组成数据集的单元之间的拓扑是规则的,则称该数据集的拓扑是规则的(这句话可能有点绕,不过意思在前面的章节已经讲得很清楚了,简单地说就是点决定几何结构,单元决定拓扑结构)。规则数据集的点和单元都是规则排列的,每个点的位置都可以依据相互之间的关系得到;不规则结构数据集没有固定的模式,不能用简单的方式描述,在存储和计算时需要更多的内存和资源,但它在数据表达方面相对而言则更加自由,能更加细致、灵活的表达。

6.5.1 vtkImageData

通过第5章“VTK在图像处理中的应用”的学习,相信我们对vtkImageData数据集的类型并不陌生。vtkImageData类型的数据是按规则排列在矩形方格中的点和单元的集合,如图6.11(a)所示,如果数据集的点和单元排列在平面(二维)上,称此数据集为像素映射(Pixmap)、位图或图像,由vtkPixel单元组成;如果排列在层叠面(三维)上,则称为体(Volume),由vtkVoxel单元组成。vtkImageData是由一维的线、二维的像素或三维的体素组成,vtkImageData在几何结构及拓扑结构都是规则的,因此每个点的位置可隐式地表达,只需要知道vtkImageData数据的维数、起始点的位置和相邻点之间的间隔,就可以计算出每个点的空间位置。数据维数用一个三元组(nx, ny, nz)来表示,分别表示在X、Y和Z方向上点的个数。vtkImageData数据集的点的个数一共是nx×ny×nz,单元的个数一共是(nx-1)×(ny-1)×(nz-1)。

vtkImageData类型的数据集在图像处理和计算机图形学领域应用都非常广泛,而医学图像则会频繁产生体素数据,如CT(ComputedTomography)和MRI(Magnetic ResonanceImaging)。关于vtkImageData更详细的内容请参考第5章。

6.5.2 vtkPolyData

多边形数据集vtkPolyData由顶点(Vertex)、多顶点(Polyvertex)、线(Line)、折线(Polyline)和三角条带(Triangle Strip)等单元构成,多边形数据是不规则结构的,并且多边形数据集的单元在拓扑维度上有多种类型,如图6.11-e所示。多边形数据是数据、算法和高速计算机图像学的桥梁。

顶点、线和多边形构成了用来表达0、1和2维几何图形的基本要素的最小集合,同时用多顶点、折线和三角形条带单元来提高效率和性能,特别是三角形条带,用一个三角形条带表达N个三角形只需要用N+2个点,但是用传统的表达方法需要用3N个点,而且大多数图形库渲染三角形条带的速度比直接渲染三角形要快很多。

6.5.3 vtkRectilinearGrid

vtkRectilinearGrid类型(线性网格)的数据是排列在矩形方格中的点和单元的集合,如图6.11-b所示,线性网格的拓扑结构是规则的,但其几何结构只是部分规则,也就是说,它的点是沿着坐标轴排列的,但是两点间的间隔可能不同,与vtkImageData类型的数据相似,线性网格是由像素或体素等单元组成的,它的拓扑结构通过指定网格的维数来隐式表达,几何结构则通过一系列的x, y, z坐标来表达。

6.5.4 vtkStructuredGrid

vtkStructuredGrid是结构化网格数据,具有规则的拓扑结构和不规则的几何结构,但是单元之间没有重叠或交叉,如图6.11-c所示。结构化网格的单元是由四边形或六面体组成,结构化网格通常用于有限差分分析。典型的应用包括流体流动、热量传输和燃烧学等。

 

图6.11VTK常见的数据集类型

 

图6.12VTK常见数据集的类继承图

6.5.5 vtkUnstructuredGrid

vtkUnstructuredGrid,非结构化网格是最常见的数据集类型,它的拓扑结构和几何结构都是不规则的,在此数据集中所有单元类型都可以组成任意组合,所以单元的拓扑结构从零维延伸至三维,如图6.11-f所示。

VTK中任一类型的数据集都可用非结构化网格来表达,vtkUnstructuredGrid类型数据的存储需要大量的空间以及计算时需要消耗大量的资源,除非迫不得已,一般较少使用此种类型的数据集。非结构化网格主要用于有限元分析、计算几何和几何建模等领域。

6.6.6 vtkUnstructuredPoints

vtkUnstructuredPoints,非结构化点集,是指不规则地分布在空间的点集。非结构化点集具有不规则的几何结构,不具有拓扑结构,非结构化点集用离散点来表达,如图6.11-d所示。

通常,这类数据没有固定的结构,由一些可视化程序识别和创建的,非结构化点集适合表现非结构化数据,为了实现数据的可视化,可将这种数据形式转换成其它一些结构化的数据形式。

==========欢迎转载,转载时请保留该声明信息==========

版权归@东灵工作室所有,更多信息请访问东灵工作室


教程系列导航:http://blog.csdn.net/www_doling_net/article/details/8763686

================================================

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容