XML Unstructured Grid形式

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を参照のこと。

タグ: , , , , , , , , , , , , , , , , , ,

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*