Main Content

ボリューム データの可視化の概要

ボリューム データの例

ボリューム データの可視化とは、3 次元グリッド上で定義されたデータセットのグラフィカルな表現の生成です。ボリューム データセットはスカラーおよびベクトルの多次元配列として表されます。これらのデータは 3 次元でサンプリングされた値で表される格子構造で定義されます。ボリューム データには次の 2 つの基本タイプがあります。

  • スカラー ボリューム データは各点に対して単一の値を含みます。

  • ベクトル ボリューム データは、ベクトルの要素を定義する各点の 2 つまたは 3 つの値を含みます。

スカラー ボリューム データの例は、flow により作成されたものです。flow データは無限大のタンク内での水中ジェットの速度プロファイルを表しています。以下のように入力すると、

[x,y,z,v] = flow;

4 つの 3 次元配列が生成されます。xyz 配列は、配列 v のスカラー値の座標を指定します。

wind データセットは、北米上空の大気の流れを表すベクトル ボリューム データです。次のコマンドを使用して、このデータを MATLAB® ワークスペースに読み込みます。

load wind

このデータセットは 6 つの 3 次元配列を含みます。xyz は、ボリューム データの各点に対するベクトル要素の配列 uvw に対する座標データです。

可視化手法の選択

どちらの方法でボリューム データを可視化すべきかは、データの種類および知りたい情報に応じて異なります。一般に、以下のようになります。

  • スカラー データは等値面、スライス平面、等高線スライスが最良の表示になります。

  • ベクトル データは、各点の大きさと方向の両方を表します。これは、流線 (粒子、リボン、チューブ) プロットやコーン プロット、矢印プロットに最適です。ほとんどの場合で、データ内容を一番よく表現できるよう複数の方法を組み合わせて可視化を行います。

この節では一般的なボリューム データに対するさまざまな手法の適用法を説明します。

データの内挿とグリッド化

MATLAB の提供する機能により、可視化の準備としてデータを内挿および再構成することができます。詳細は、以下の節を参照してください。

ボリューム データの可視化を行う手順

効果的な可視化を行うためには、最終的な表示を作成するまでに多くの手順を必要とします。これらの手順は、4 つの基本的なカテゴリに分けられます。

  1. データ特性を特定。ボリューム データのグラフ化は、通常、座標とデータ値の両方の範囲の情報が必要になります。

  2. 適切なプロット ルーチンを選択。この節の情報は、正しい方法を選択する手助けになります。

  3. 表示を定義。複雑な 3 次元グラフにより伝えられる情報は、表示を注意深く構成することにより大きく強調されます。視点の技法は、縦横比、投影法を指定する、拡大縮小を行う、カメラの位置を調整するなどを含みます。

  4. ライティングを加え、色を指定。ライティングは表面の形状の可視化状態を強調したり、ボリューム データ グラフに対して 3 次元の透視投影を適用します。色で定数値および可変値の両データ値を表現できます。

ボリューム データの可視化関数

MATLAB はさまざまなボリューム データの可視化手法を適用できる関数を用意しています。次の表は、これらの関数を機能するデータのタイプ (スカラーまたはベクトル) に基づいて 2 つのカテゴリにグループ分けしたものです。関数リファレンス ページには、使用方法の例が記述されています。

スカラー データ用の関数

関数目的

contourslice

ボリューム データ スライス平面内に等高線を描画する

isocaps

等値面エンド キャップ図形を計算する

isocolors

等値面の頂点の色を計算する

isonormals

等値面の頂点の法線を計算する

isosurface

ボリューム データから等値面データを抽出する

patch

パッチ (複数の多角形) グラフィックス オブジェクトを作成する

reducepatch

パッチ面の数を減らす

reducevolume

ボリューム データセット内の要素数を減らす

shrinkfaces

パッチ面のサイズを小さくする

slice

ボリューム データにスライス平面を描画する

smooth3

3 次元データを平滑化する

surf2patch

表面データをパッチデータに変換する

subvolume

ボリューム データセットのサブセットを抽出する

ベクトル データ用の関数

関数

目的

coneplot

3 次元ベクトル場に速度ベクトルをコーンとしてプロットする

curl

3 次元ベクトル場の curl および角速度を計算する

divergence

3 次元ベクトル場の発散を計算する

interpstreamspeed

ベクトル場の大きさから流線の頂点を内挿する

streamline

2 次元または 3 次元ベクトル データから流線を描画する

streamparticles

ベクトル ボリューム データからストリーム粒子を描画する

streamribbon

ベクトル ボリューム データからストリーム リボンを描画する

streamslice

ベクトル ボリューム データから間隔のある流線を描画する

streamtube

ベクトル ボリューム データからストリーム チューブを描画する

stream2

2 次元流線データを計算する

stream3

3 次元流線データを計算する

volumebounds

ボリューム データ (スカラーおよびベクトル) に対する座標と色の範囲を出力する