您的位置:首页 > 其它

VTK教程之五 数据集的类型和数据集…

2014-12-12 09:41 302 查看
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

在VTK中数据集的类型主要按构成数据集的几何数据和单元来划分,主要的数据集类型包括:结构化网格数据集、非结构化网格数据集、多边形数据集、结构化点集、线性网格数据集、非结构化点集等几大类,各类的表现形式如下图所示:

1、结构化网格数据集

结构化网格具有规则的拓扑结构和不规则的几何结构,但是单元没有重叠或交叉,结构化网格的单元是由四边形或六面体组成,结构化网格通常用于有限差分析,数据集构成如图所示:

2、非结构化网格数据集

非结构化网格集是最常见的数据集类型,它的拓扑结构的几何结构都是非结构化的,在此数据集中所有单元类型都可以组成任意组合,所以单元的拓扑结构从零维延伸至三维,在VTK中任一类型的数据集都可用非结构化网格来表达,非结构化网格被用于有限元分析、计算几何和图形表示等领域,数据集构成如图所示:

3、多边形数据集

在VTK中多边形数据集是由顶点、多顶点、线、多线、多边形各三角带构成,多边形数据是非结构化的,并且多边形数据集的单元在拓扑维度上有多种变化,顶点、线和多边形构成了用来表达0、1和2维几何图形的基本要素的最小集合,同时用多顶点、多线和三角形带单元来提高效率和性能,特别是三角形带用一个三角形带表达N个三角形只需要用N+2个点,但是用传统的表达方法需要用3N个点,数据集构成如图所示:

4、线性网格数据集

是排列在矩形方格中的点和单元的集合,线性网格的拓扑结构是规则的,但其几何结构只有一部分是规则的,也就是说,它的点是沿着坐标轴排列的,但是两点间的间隔可能不同,线性网格是由象素和三维象素组成的,它的拓扑结构通过指定网格的维数来隐式地表达,几何结构通过x,y,z坐标来表达。,数据集的构成如图所示:

6、结构化点集数据集

按规则排列的点的集合,点的排列和坐标轴平行,形成方形的点阵,下图所示:

7、非结构化点集

是指不规则地分布在空间的点集,非结构化点集具有不规则的几何结构,但不具有拓扑结构,非结构化点集用离散点来表达,通常,这类数据没有固定的结构,是由一些可视化程序识别和创建的,非结构化点集适合表现非结构化数据,为了实现数据的可视化,可将这种数据形式转换成其它一些结构化的数据形式,如图所示:

属性数据主要用于描述数据集的属性特征,属性数据常常和数据集的几何数据或单元数据相关联,对数据集的可视化实质上是对属性数据的可视化,例如,根据压力监测数据构建一个压力场可视化数据集后,数据集中的每个数据点(几何数据)或单元都必须有对应的属性数据,VTK根据属性数据设置颜色表,用不同的颜色表示不同的压力,通过颜色的变化情况,可以直观的分析出压力的变化趋势。

属性数据依据数据的性质可分为标量数据、向量数据、张量数据几大类,一般标量数据和向量数据应用的比较多,大部分的例子都以这两种数据为主。

1、标量数据

标量数据只表示数据的大小,例如温度、压力、高度等。

2、向量数据

既有大小又有方向的量,如速度、应力、位移等。

3、张量数据

张量是矢量和矩阵通过复杂的数学算法得到的,一个k阶的张量可当作一个k维的表格。零阶的张量是标量,一阶的张量是矢量,二阶的张量是纹理坐标,三阶的张量是一个三维阵列。

属性数据只能和数据集中的点及单元关联,对于构成单元的基本组成要素,如边和面等不能与数据属性关联,我们称与点关联的数据属性为点属性,与单元关联的数据属性为单元属性。

在VTK中用vtkPointData类和vtkCellData类表达数据集属性,它们是类vtkFieldData的子类,构成数据集的每个点(或单元)和属性数据之间存在一对一的关系,如一个数据集由N个点(或单元)构成,那么必须有N个属性数据和这N个点(或单元)一一对应,通过点的ID号就可以对该点的属性数据进行访问,例如在数据集aDataSet中访问ID号为129的点的标量值时(假设标量数据已被定义且不为空)使用如下方法:

aDataSet->GetPointData()->GetScalars()->GetScalar(129)。

#Vtk
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: