ボリューム データの可視化の概要
ボリューム データの例
ボリューム データの可視化とは、3 次元グリッド上で定義されたデータ セットのグラフィカルな表現の生成です。ボリューム データ セットはスカラーおよびベクトルの多次元配列として表されます。これらのデータは 3 次元でサンプリングされた値で表される格子構造で定義されます。ボリューム データには次の 2 つの基本タイプがあります。
スカラー ボリューム データは各点に対して単一の値を含みます。
ベクトル ボリューム データは、ベクトルの要素を定義する各点の 2 つまたは 3 つの値を含みます。
スカラー ボリューム データの例は、flow
により作成されたものです。flow データは無限大のタンク内での水中ジェットの速度プロファイルを表しています。以下のように入力すると、
[x,y,z,v] = flow;
4 つの 3 次元配列が生成されます。x
、y
、z
配列は、配列 v
のスカラー値の座標を指定します。
wind
データ セットは、北米上空の大気の流れを表すベクトル ボリューム データです。次のコマンドを使用して、このデータを MATLAB® ワークスペースに読み込みます。
load wind
このデータ セットは 6 つの 3 次元配列を含みます。x
、y
、z
は、ボリューム データの各点に対するベクトル要素の配列 u
、v
、w
に対する座標データです。
可視化手法の選択
どちらの方法でボリューム データを可視化すべきかは、データの種類および知りたい情報に応じて異なります。一般に、以下のようになります。
スカラー データは等値面、スライス平面、等高線スライスが最良の表示になります。
ベクトル データは、各点の大きさと方向の両方を表します。これは、流線 (粒子、リボン、チューブ) プロットやコーン プロット、矢印プロットに最適です。ほとんどの場合で、データ内容を一番よく表現できるよう複数の方法を組み合わせて可視化を行います。
この節では一般的なボリューム データに対するさまざまな手法の適用法を説明します。
データの内挿とグリッド化
MATLAB の提供する機能により、可視化の準備としてデータを内挿および再構成することができます。詳細は、以下の節を参照してください。
ボリューム データの可視化を行う手順
効果的な可視化を行うためには、最終的な表示を作成するまでに多くの手順を必要とします。これらの手順は、4 つの基本的なカテゴリに分けられます。
データ特性を特定。ボリューム データのグラフ化は、通常、座標とデータ値の両方の範囲の情報が必要になります。
適切なプロット ルーチンを選択。この節の情報は、正しい方法を選択する手助けになります。
表示を定義。複雑な 3 次元グラフにより伝えられる情報は、表示を注意深く構成することにより大きく強調されます。視点の技法は、縦横比、投影法を指定する、拡大縮小を行う、カメラの位置を調整するなどを含みます。
ライティングを加え、色を指定。ライティングは表面の形状の可視化状態を強調したり、ボリューム データ グラフに対して 3 次元の透視投影を適用します。色で定数値および可変値の両データ値を表現できます。
ボリューム データの可視化関数
MATLAB はさまざまなボリューム データの可視化手法を適用できる関数を用意しています。次の表は、これらの関数を機能するデータのタイプ (スカラーまたはベクトル) に基づいて 2 つのカテゴリにグループ分けしたものです。関数リファレンス ページには、使用方法の例が記述されています。
スカラー データ用の関数
関数 | 目的 |
---|---|
ボリューム データ スライス平面内に等高線を描画する | |
isocaps | 等値面エンド キャップ図形を計算する |
isocolors | 等値面の頂点の色を計算する |
isonormals | 等値面の頂点の法線を計算する |
isosurface | ボリューム データから等値面データを抽出する |
パッチ (複数の多角形) グラフィックス オブジェクトを作成する | |
パッチ面の数を減らす | |
reducevolume | ボリューム データ セット内の要素数を減らす |
shrinkfaces | パッチ面のサイズを小さくする |
slice | ボリューム データにスライス平面を描画する |
smooth3 | 3 次元データを平滑化する |
surf2patch | 表面データをパッチデータに変換する |
subvolume | ボリューム データ セットのサブセットを抽出する |
ベクトル データ用の関数
関数 | 目的 |
---|---|
coneplot | 3 次元ベクトル場に速度ベクトルをコーンとしてプロットする |
3 次元ベクトル場の curl および角速度を計算する | |
divergence | 3 次元ベクトル場の発散を計算する |
interpstreamspeed | ベクトル場の大きさから流線の頂点を内挿する |
streamline | 2 次元または 3 次元ベクトル データから流線を描画する |
streamparticles | ベクトル ボリューム データからストリーム粒子を描画する |
streamribbon | ベクトル ボリューム データからストリーム リボンを描画する |
streamslice | ベクトル ボリューム データから間隔のある流線を描画する |
streamtube | ベクトル ボリューム データからストリーム チューブを描画する |
stream2 | 2 次元流線データを計算する |
stream3 | 3 次元流線データを計算する |
volumebounds | ボリューム データ (スカラーおよびベクトル) に対する座標と色の範囲を出力する |