加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

vtk文件格式

(2018-09-28 13:05:41)

vtk文件格式

https://blog.csdn.net/X_And_Y/article/details/80161374

最近学了一下vtk文件的格式, 做一个小结。文中用方括号标示出来的文字是根据实际需要自己定义的部分,其他的如DATASET, POINTS,CELLS等是vtk本身的格式要求一部分。

 

 

1. 第一部分,数据版本声明(不重要)

这是强制的一句话,说明文件版本 
# vtk DataFile Version 3.0

2. 第二部分,标题 (不重要)

不重要,相当于自己其一个标题,以回车结束,最多256个字符

3. 第三部分,文件格式声明

文件格式,ASCII或者 BINARY

于是前面三部分可以写为


# vtk DataFile Version 3.0
[VTKtitle]
ASCII
  • 1
  • 2
  • 3

4.第四部分,几何拓扑结构(重要)


DATASET [format]
  • 1

format表示数据的格式,可以是

  • STRUCTURED_POINTS
  • STRUCTURED_GRID
  • UNSTRUCTURED_GRID
  • POLYDATA
  • STRUCTURED_POINTS
  • RECTILINEAR_GRID
  • FIELD

例如,如果是非结构网格的化,就写DATASET UNSTRUCTURED_GRID。这里的非结构网格不一定是四面体或三角形网格,只要是没有规则的都能用UNSTRUCTURED GRID表示,比如一个三角形和一个六面体的混合。

如果是UNSTRUCTURED_GRID, 那么接下来就需要指定节点和单元


POINTS  [n] [dataType]   (#n_point#域填入实际的点数, dataType为double float等类型)
[x_0] [y_0] [z_0]
[x_1] [y_1] [z_1]
[x_0] [y_0] [z_0]
  • 1
  • 2
  • 3
  • 4

然后是单元声明


CELLS   [n_cells]  [n_list] #n_cells填入单元个数,n_list填入列表的数字的总数)
[单元0顶点数量]       [单元0顶点0的编号]     [单元0顶点1的编号]     [单元0顶点2的编号]     ...
[单元1顶点数量]       [单元1顶点0的编号]     [单元1顶点1的编号]     [单元1顶点2的编号]     ...
.
.
.

CELL_TYPES  [n_cells]   #n_cells与前面CELLS那一块的n_cells必须一样
[单元0类型]          #表示几何类型的整数,参考vtk的文档,比如四面体是10,六面体是11
[单元1类型]
.
.
.

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

5. 第五部分,物理量(重要)

有两种:节点上的值和单元上的值,分别用POINT_DATA 和 CELL_DATA表示。可以表示多个物理量,物理量可以是标量(scalar),向量(vector),或者是张量(tensor)。


POINT_DATA [n]
[数据]

CELL_DATA [n]
[数据]
  • 1
  • 2
  • 3
  • 4
  • 5

上述格式中,数据可以是SCALAR,VECTOR或TENSOR,不同类型的数据需要不同的格式


SCALARS [dataName] [dataType] [numComp]  #dataName数据名字,dataType是double之类的,numComp一般是1
LOOKUP_TABLE [tableName]    #tableName表名
s_0
s_1
...
s_n-1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

6. 牛刀小试

(1)一个最简单的示例 
下面的vtk文件定义了一个六面体,顶点为(0,0,0), (50,0,0), (0,50,0), (50,50,0), (0,0,50), (50,0,50), (0,50,50), (50,50,50).

注意:构成一个单元的节点的排列顺序一定要按照vtk文档所定义的,不同几何体节点编号也不一样


# vtk DataFile Version 3.0
Right rectangular prisms grid
ASCII
DATASET UNSTRUCTURED_GRID

POINTS  8   double
0   0   0
50  0   0
0   50  0
50  50  0
0   0   50
50  0   50
0   50  50
50  50  50

CELLS 1 9
8   0   1   2   3   4   5   6   7   

CELL_TYPES 1
11

CELL_DATA 1
SCALARS density double 1
LOOKUP_TABLE table1
1

SCALARS resistivity double 1
LOOKUP_TABLE table2
2

SCALARS temperature double 1
LOOKUP_TABLE table3
3

SCALARS susceptibility double 1
LOOKUP_TABLE table4
4

SCALARS permittivity double 1
LOOKUP_TABLE table4
4
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41

(2) 一个六面体网格示例 
一个六面体网格的模型, 用paraview显示 
https://img-blog.csdn.net/20180502093054466?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1hfQW5kX1k=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70

学习资源

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有