DATASETには,2種類あります.
- POINT_DATA
これは格子点で定義されている物理量(スカラー,ベクトル,テンソル...)です. - CELL_DATA
これは格子点が構成するセルで定義されている物理量です.
DATASETの指定では,まずどちらであるかを宣言し,それから物理量の数値を記述します.
POINT_DATA
POINT_DATAの場合,先に定義したGEOMETRYの格子点の総数 n を用いて,次のように記述します:
POINT_DATA n
(スカラーやベクトルの数値)
(スカラーやベクトルの数値)
....
リンク先の説明にあるように,数値には名称をつけます.1ファイルに複数の量を入れることができます.
CELL_DATA
CELL_DATAの場合,先に定義した点列で構成されるセル族の物体に,数値を指定していきます.次のように記述します:
CELL_DATA m ← mはセルの総数ですね.
(スカラーやベクトルの数値)
(スカラーやベクトルの数値)
....
STRUCTURED_GIRDでは,セルを定義していないのですが,デフォルトでX-Y-Zの順にセルが作成されています.
# vtk DataFile Version 2.0 Structured example1 ASCII DATASET STRUCTURED_POINTS DIMENSIONS 3 3 3 ORIGIN 0 0 0 SPACING 1 1 1 CELL_DATA 8 SCALARS fucking_rho float 1 LOOKUP_TABLE default 0 1 2 ... 7
では, 下図のように青(rho=0)から赤(rho=7)に変化していく様子がわかります.

では,SPACING が負の値をとると,どうなるのかな?
ORIGIN 0 0 0 SPACING 1 -1 1
にしたデータを追加してみた.
どうやら形状の方は,単に
開始点:ORIGIN + 整数値i * SPACING ( i = 0, 1, ...., DIMENSIONS-1)
終了点:ORIGIN + (整数値i+1) * SPACING ( i = 0, 1, ...., DIMENSIONS-1)
で計算しているようですね.で,POINTやCELLの番号は,座標の下からということではなく,純粋に,整数値に対応して物理量を割り当てているようです.この例では, Y_SPACING = -1 なので,ちょうどXZ平面に鏡像の画像が出てきました.