========================================================= VTKに関する一般的知識 ========================================================= VTKとは ====================================== まず, :red:`VTK (Visual Tool Kit)` は **3Dグラフィックス・画像処理・可視化向けのデータ規格** ,及び, :blue:`オープンソースのC++ライブラリ群` を指す.Paraviewや他の3Dレンダリングソフトウェアの標準的な入出力ファイル形式となっており,種々の形状に対応している. ファイルフォーマット ====================================== ファイルフォーマットは, * テキスト( **ASCII** )データであるか,バイナリ( **Binary** )データであるか * テキストスタイルの **独自文法** であるか, **XMLスタイル** であるか, により異なる.加えて,記述対象によりデータ構成が異なるので, * 画像データ (.vti) / 多様データ (.vtp) * 直交構造格子 (.vtr) / 構造格子 (.vts) / 非構造格子 (.vtu) 等の拡張子が存在し,一概にVTKファイルと言えど,様々な書式が存在する. 推奨されるVTK記述方式 ====================================== 私見ではあるが, * ( レガシーフォーマット ) <<<< ( XMLフォーマット ) * ( ASCII データ ) < ( Binaryデータ ) レガシーフォーマットは,先行開発された記述様式であり,可読性が低い.今後学ぶのであれば, :red:`XML一択` .ASCIIデータは可読性が高いが,バイナリに比べてデータあたりに要する情報量(バイト容量)が大きく,データが巨大であるほど記憶容量が大きくなり,また読み出し速度も低下する.一方,バイナリデータは,高速かつ低記憶容量である.しかし,内部に記述されている内容をテキストエディタ等で直接読むことができない.このように :red:`ASCIIデータとBinaryデータは可読性とデータ容量のトレードオフ関係にある` が,ライブラリパッケージ化・VTKの取扱いに熟練しておけば,生データを直接検分する重要性が減少するため, :blue:`上級者はBinaryデータによる取扱いが推奨される` .