9章 レイトレーシングを学ぶ

11章 ボリュームレンダリングを学ぶ
本来は目に見えない内部情報をレンダリングし
可視化する技術
生物学,地球科学,気象学など,対象データが
本質的にボリューム形式をとる分野に不可欠な
手法
11.1 ボリュームビジュアライゼーション



ボリュームレンダリングによる3次元ボリュームデータの可視化技術
の体系
目的:通常は見ることができない対象の内部,解析が困難であった
複雑な組織・構造をCG技術を用いて可視化する技術
ボリュームビジュアライゼーションの重要な特徴
旧来のCG
画像生成が
主体
ボリュームビジュアライゼーション
計測やシミュレーションで
得られる実世界の3次元
分布データ
11.2 ボリュームデータ
(Volume data)


標本化された有限な3次元空間を計測したとき,位置(x,
y,z)におけるデータ(属性値)vで表されるサンプルデー
タの集合:S={(x,y,z),v}
一般に,v(x,y,z)は,濃度・密度,熱,圧力,速度など
構成の基本要素:2次元の世界では画素(またはピクセ
ル),3次元の世界ではボクセル(voxel:volume cell)
11.2 ボリュームデータ
(Volume data)
三重線形補間により、ボクセルの内部の点の属性値は次のように求められる。
(
)(
)( ) ( )( )
(
(1- y ) z + v (1- x ) y z + v x y (1- z ) + v x y z
)(
)
(
) (
v p = v0 1- x p 1- y p 1- z p + v4 1- x p 1- y p z p + v1 x p 1- y p 1- z p + v2 1- x p y p 1- z p
+v5 x p
p
p
6
p
p p
3 p p
p
7 p p p
ボクセルを三次元空間の任意の場所に置く場合、その対角にある頂点を、
P0 = ( x0 , y0 , z0 )
P7 = ( x7, y7, z7 ) とすると、
x p, y p, z p
は、それぞれ
(x
p
- x0
), (y
p
- y0
), (z
p
- z0
)
( x7 - x0 ) ( y7 - y0 ) ( z7 - z0 )
で置き変えできる。
)
ボリュームビジュアライゼーション
のしくみ
モ
デ
リ
ン
グ
↓
シミュレーションモデルデータ
2次元計測データ
再編成
計算
強調・各種変換
幾何モデルデータ
ボクセル化
ボクセル集合
計算
幾何データ
分類
幾何オブジェクト化
分類されたボクセル集合
変換
↑
レ
ン
ダ
リ
ン
グ
↓
コ
ン
ピ
ュ
ー
タ
グ
ラ
フ
ィ
ッ
ク
ス
↑
コ
ン
ピ
ュ
ー
タ
ビ
ジ
ョ
ン
ボリュームレンダリング
2次元(ピクセル)画像
サーフェスレンダリング
入力ボリュームデータ

シミュレーションデータ


計測・標本データ


3次元では数値計算により直接、ボクセルへ
マルチスライス画像を補間して、ボクセルへ
幾何モデルデータ

ボリューム合成のときの境界データなど
サーフェスレンダリングアプローチ

幾何オブジェクト化


等値面の集合を表す幾何データに変換
サーフェス指向のエンジンが使える


効率的・高速
ボクセル化

幾何データをボクセル集合に変換
ボリュームレンダリングアプローチ

ボリュームデータそのままでいい場合

半透明効果を作り出して透視する




空間にある微粒子状の物理モデルを考える
モデルに基づき、不透明度やRGBを計算
レイキャスティング
ボリューム光線追跡法
等値面化

2次元の等高線を、3次元空間に拡張

属性値がαであるところを結んだ面
{
S (a ) = ( x, y, z) ÎR3 | v ( x, y, z) = a

マーチングキューブ法

教科書95ページ図11.4
}
ボリュームレンダリング

微粒子の密度の増大→不透明度の増大
ì
vi
ï aa
va
ï
ïï
v -v
v -v
a i = grad vi * í a a i a + a b b i
vb - va
vb - va
ï
ï a
ï b
ïî

( vi < va )
( va £ vi < vb )
( vb £ vi )
勾配値の大きな変化→表面がある

法線ベクトルを計算し、シェーディングする
シェーディング

ciと法線ベクトル(=勾配)でシェーディング
Phongモデルでは次の式
(
ci = ca ka + cl kdi cosq + ks cosn f
)
ìï æ L · N i ö
ï
nü
= ca ka + cl íkdi ç
+
k
L
·V
¢
)ý
s(
÷
ïî è N ø
ïþ
ボリュームレイキャスティング
c ( t ) リサンプル後のカラーシェーディング値
a ( t ) 不透明度
C
カラー輝度値
C ¬ a ( m ) c ( m );
for t ¬ m -1 to 1 do
C ¬ C (1- a ( t )) + c ( t ) a ( t )