XML Unstructured Grid形式は、VTK Unstructured Grid形式に相当するフォーマットである。例として、2*4*5要素の単位立方体を生成するサンプルデータを示す。
<VTKFile type="UnstructuredGrid" version="0.1" byte_order="LittleEndian">
<UnstructuredGrid>
<Piece NumberOfPoints="90" NumberOfCells="40">
<PointData>
</PointData>
<CellData>
</CellData>
<Points>
<DataArray type="Float32" Name="Points" NumberOfComponents="3" format="ascii" RangeMin="0" RangeMax="1.7320508076">
0.0 0.0 0.0 0.5 0.0 0.0 1.0 0.0 0.0
0.0 0.25 0.0 0.5 0.25 0.0 1.0 0.25 0.0
0.0 0.5 0.0 0.5 0.5 0.0 1.0 0.5 0.0
0.0 0.75 0.0 0.5 0.75 0.0 1.0 0.75 0.0
0.0 1.0 0.0 0.5 1.0 0.0 1.0 1.0 0.0
0.0 0.0 0.2 0.5 0.0 0.2 1.0 0.0 0.2
0.0 0.25 0.2 0.5 0.25 0.2 1.0 0.25 0.2
0.0 0.5 0.2 0.5 0.5 0.2 1.0 0.5 0.2
0.0 0.75 0.2 0.5 0.75 0.2 1.0 0.75 0.2
0.0 1.0 0.2 0.5 1.0 0.2 1.0 1.0 0.2
0.0 0.0 0.4 0.5 0.0 0.4 1.0 0.0 0.4
0.0 0.25 0.4 0.5 0.25 0.4 1.0 0.25 0.4
0.0 0.5 0.4 0.5 0.5 0.4 1.0 0.5 0.4
0.0 0.75 0.4 0.5 0.75 0.4 1.0 0.75 0.4
0.0 1.0 0.4 0.5 1.0 0.4 1.0 1.0 0.4
0.0 0.0 0.6 0.5 0.0 0.6 1.0 0.0 0.6
0.0 0.25 0.6 0.5 0.25 0.6 1.0 0.25 0.6
0.0 0.5 0.6 0.5 0.5 0.6 1.0 0.5 0.6
0.0 0.75 0.6 0.5 0.75 0.6 1.0 0.75 0.6
0.0 1.0 0.6 0.5 1.0 0.6 1.0 1.0 0.6
0.0 0.0 0.8 0.5 0.0 0.8 1.0 0.0 0.8
0.0 0.25 0.8 0.5 0.25 0.8 1.0 0.25 0.8
0.0 0.5 0.8 0.5 0.5 0.8 1.0 0.5 0.8
0.0 0.75 0.8 0.5 0.75 0.8 1.0 0.75 0.8
0.0 1.0 0.8 0.5 1.0 0.8 1.0 1.0 0.8
0.0 0.0 1.0 0.5 0.0 1.0 1.0 0.0 1.0
0.0 0.25 1.0 0.5 0.25 1.0 1.0 0.25 1.0
0.0 0.5 1.0 0.5 0.5 1.0 1.0 0.5 1.0
0.0 0.75 1.0 0.5 0.75 1.0 1.0 0.75 1.0
0.0 1.0 1.0 0.5 1.0 1.0 1.0 1.0 1.0
</DataArray>
</Points>
<Cells>
<DataArray type="Int32" Name="connectivity" format="ascii" RangeMin="0" RangeMax="89">
0 1 4 3 15 16 19 18
1 2 5 4 16 17 20 19
3 4 7 6 18 19 22 21
4 5 8 7 19 20 23 22
6 7 10 9 21 22 25 24
7 8 11 10 22 23 26 25
9 10 13 12 24 25 28 27
10 11 14 13 25 26 29 28
15 16 19 18 30 31 34 33
16 17 20 19 31 32 35 34
18 19 22 21 33 34 37 36
19 20 23 22 34 35 38 37
21 22 25 24 36 37 40 39
22 23 26 25 37 38 41 40
24 25 28 27 39 40 43 42
25 26 29 28 40 41 44 43
30 31 34 33 45 46 49 48
31 32 35 34 46 47 50 49
33 34 37 36 48 49 52 51
34 35 38 37 49 50 53 52
36 37 40 39 51 52 55 54
37 38 41 40 52 53 56 55
39 40 43 42 54 55 58 57
40 41 44 43 55 56 59 58
45 46 49 48 60 61 64 63
46 47 50 49 61 62 65 64
48 49 52 51 63 64 67 66
49 50 53 52 64 65 68 67
51 52 55 54 66 67 70 69
52 53 56 55 67 68 71 70
54 55 58 57 69 70 73 72
55 56 59 58 70 71 74 73
60 61 64 63 75 76 79 78
61 62 65 64 76 77 80 79
63 64 67 66 78 79 82 81
64 65 68 67 79 80 83 82
66 67 70 69 81 82 85 84
67 68 71 70 82 83 86 85
69 70 73 72 84 85 88 87
70 71 74 73 85 86 89 88
</DataArray>
<DataArray type="Int32" Name="offsets" format="ascii" RangeMin="8" RangeMax="320">
8 16 24 32 40 48 56 64
72 80 88 96 104 112 120 128
136 144 152 160 168 176 184 192
200 208 216 224 232 240 248 256
264 272 280 288 296 304 312 320
</DataArray>
<DataArray type="UInt8" Name="types" format="ascii" RangeMin="12" RangeMax="12">
12 12 12 12 12 12 12 12
12 12 12 12 12 12 12 12
12 12 12 12 12 12 12 12
12 12 12 12 12 12 12 12
12 12 12 12 12 12 12 12
</DataArray>
</Cells>
</Piece>
</UnstructuredGrid>
</VTKFile>
VTKFileエレメントのtype属性に、データセット名を指定する。version属性およびbyte_order属性は固定値である。
UnstructuredGridエレメント内のPieceエレメントには、NumberOfPoints属性に節点数を、NumberOfCells属性に要素数をそれぞれ指定する。
Pointsエレメント内のDataArrayエレメントには、各節点の座標値をx、y、zの順番に指定する。
Cellsエレメント内には、3つのDataArrayエレメントを定義する。
1つ目のDataArrayエレメントには、Name=”connectivity”を指定し、接続する節点番号を要素ごとに列挙する。
2つ目のDataArrayエレメントには、Name=”offsets”を指定し、1つ目のDataArrayエレメント内で列挙した節点番号の読み終わり位置を列挙する。
3つ目のDataArrayエレメントには、Name=”types”を指定し、各要素の要素タイプを列挙する。
各要素タイプに対応するID、および節点の定義順序については、File Formats for VTK Version 4.2を参照のこと。
コメントを残す