学位論文要旨



No 120481
著者(漢字) 宮崎,玲
著者(英字)
著者(カナ) ミヤザキ,リョウ
標題(和) 計算流体力学による雲のモデリングと高速レンダリングの研究
標題(洋) A Study on Modeling Clouds Using CFD and Fast Rendering
報告番号 120481
報告番号 甲20481
学位授与日 2005.03.24
学位種別 課程博士
学位種類 博士(科学)
学位記番号 博創域第101号
研究科 新領域創成科学研究科
専攻 複雑理工学専攻
論文審査委員 主査: 東京大学 教授 西田,友是
 東京大学 助教授 高橋,成雄
 東京大学 助教授 村重,淳
 東京大学 助教授 江尻,晶
 東北大学 教授 藤代,一成
内容要旨 要旨を表示する

 雲,煙,炎,水などの自然現象のシミュレーションはCGにおいて重要な研究分野の一つであり,特に雲の表示は景観画像の作成に重要な役割を果たす.リアルな雲を表現するためには,大気流体のダイナミクスのシミュレーションによるモデリングと、太陽光の雲と大気の粒子による散乱光の計算によるレンダリングの両方で物理則に基づく手法が有効である.本論文ではモデリングにはCMLによる定性的シミュレーションによるものと,大気流体をモデル化した偏微分方程式の差分法による数値解法を用いる.またシミュレーション空間のグリッドをアダプティブに分割・統合していくアダプティブグリッド法を導入し,本シミュレーションの目的に合うグリッドの分割条件を検討し効率的なシミュレーションも行う.シミュレーションで得られた雲密度のボリュームデータを雲だけでなく大気粒子による光の散乱も考慮して,グラフィクスハードウェアを用いて高速にレンダリングを行う手法も提案する.

1.はじめに

 本論文では,CML(Coupled Map Lattice)を用いた定性的なシミュレーションによる様々な雲のモデリング[1],CFD(Computational Fluid Dynamics)による雲のダイナミクスシミュレーションによる積雲のモデリング[2],またアダプティブグリッド法を用いた効率的なシミュレーション[3],そして空間をいくつものサンプリング平面に分割し散乱光の計算をテクスチャの演算として取り扱い,グラフィクスハードウェアを使用してリアルタイムでレンダリングする手法[4]を提案する.

2.CML(Coupled Map Lattice)による雲のモデリング手法

 CMLはセルオートトンの拡張版である.空間を実数値の状態量を保持するセルに分割する.各セルは近傍のセルのみと相互作用を行い状態量を更新していく.本手法は従来の2次元のCMLモデルを3次元に拡張し、リアルな雲を作成するために拡張を行った.CMLによるモデリングは定性的シミュレーションであるため,Navier-Stokes方程式の数値解法に比べ計算コストがかからないのが利点である.図1にCMLによってモデリングした結果画像を示す.図1左の積雲と中の積乱雲は上昇気流によるシミュレーションでモデリングを行い,右のセル状の高積雲はベナール対流によるシミュレーションで作成した.レンダリングには土橋らの手法[5]を用いている.

3.計算流体力学(CFD)による雲のモデリング

3.1.偏微分方程式による大気流体のモデル化

 シミュレーション空間は3次元立方グリッドに分割される.各グリッドは速度v=(vx,vy,vz),水蒸気密度qvap,雲(水滴)密度qcl,温度Tを状態量として保持する.タイムステップ毎に各状態量が更新される.大気流体を以下の偏微分方程式でモデル化する.ここで,簡略化のため大気の密度は一定で非圧縮流体と仮定するブシネスク近似を用いる.速度場は非圧縮性Navier-Stokes方程式で表される.

式(1)は速度場更新のための式で,式(2)は質量の保存則を表す連続の式である.pは圧力,Bは浮力,fは浮力以外の外力,vは粘性係数である.浮力Bは温度Tと環境温度T0との差によって与えられる.ここで環境温度とは大気の静力学的平衡となるときの温度で,すなわち浮力は平衡温度からの偏差で与えられる.また雲(水滴)にかかる重力も考慮すると浮力Bは次式で表される.

ここで,kbuo は浮力の係数,kgraは重力の係数,zは鉛直方向の単位ベクトルである.環境温度Toは空間の高さの関数で線形に減少していく.

 雲と水蒸気の発展方程式は以下で与えられる

ここで,CclはCcl>0の時は水蒸気の凝結を,Ccl<0のときは雲の気化を表す.Svapは水蒸気源からの供給量である.シミュレーションでは水蒸気源は境界条件として与えられる.Cclは飽和水蒸気密度qsatを用いて表す.qsatは温度の関数である.αは相転移率である.相転移率は相転移による水蒸気密度と雲密度間の急激な遷移を防ぎ,数値計算を安定に行うために導入している.

 温度の発展方程式式は以下で与えられる.空気塊の鉛直方向の移動による断熱変化と,雲の生成による潜熱の開放に伴う温度上昇,日中地面が太陽に温められることに相当する熱源を考える.

ここで,Γdは乾燥断熱減率,Qは潜熱の係数,STは熱源の熱量である.熱源はシミュレーション空間の底面付近に配置する.

3.2.2種類の雲の生成シミュレーション

 積雲が発生するための上昇気流に,次の2種類のシミュレーションを行うことが可能である.

・ 空間底面に雲ができる源となる熱源を配置する.環境温度との温度差による浮力によって,上昇気流が生じる(図2左).

・ 水平方向の気流と山との衝突により,山の境界部分で上昇気流が生じる(図2右).

 水平方向の境界条件として,熱源を配置するシミュレーションの場合は周期的境界条件,山の地形を考慮するシミュレーションの場合は固定境界条件,上下境界には共に固定境界を設定する.初期水蒸気分布密度と熱源として配置する温度を変えて生じる上昇気流の強さをコントロールし積雲と積乱雲を作り分ける.上昇気流が強くなるほど雲がより鉛直方向に発達する.

3.3.アダプティブグリッド法

 効率的なシミュレーションのためにグリッド領域のアダプティブ分割を行う.ここでは8点のグリッド(格子点)で囲まれた立方領域をグリッド領域と呼ぶ.最も粗な分割レベルを0とし必要に応じてグリッド領域を8分割するようグリッドを追加する.分割ごとに分割レベルが1ずつ増加する.グリッド幅は分割レベルが増加する毎に1/2に細分される.シミュレーションに用いる全ての状態量を分割時に補間する.また,隣り合うグリッド領域の分割レベルの差が1以下となるよう分割する.

3.4.グリッド分割条件

 雲密度が存在するグリッドの周辺を分割して効率的に計算を行うことを目的とする.分割はタイムステップ毎に行う.シミュレーション中に以下のどちらかの条件を満たせばグリッド領域を分割する. 領域を囲んでいる8つのグリッドのうち,

・ ある隣接するグリッド間の水蒸気密度の差が閾値以上であり,かつ,その飽和水蒸気密度に対する水蒸気密度の割合が閾値以上である.

・ ある隣接するグリッド間の雲密度の差が閾値以上である.

 雲が存在しているグリッドは水蒸気が飽和しており,上記の水蒸気の条件のみで分割を行うことができるが,雲の移動によっては水蒸気が飽和に達していなくても雲が存在する場合があるので,水蒸気だけではなく雲密度の判定条件も必要である.上記の条件を用いることにより,妥当な計算コストで雲の細かい形状も表現した雲の生成シミュレーションを行うことができる.また分割されていて雲が存在せず水蒸気も飽和に満たない領域のグリッドは統合も行う.

 積雲のシミュレーションにおけるグリッドがアダプティブに分割される様子を図3に示す.シミュレーションのグリッド数は初期状態で72,000(60×30×40),最大分割レベルは2である.

3.5.分割レベルの違いによる比較

 グリッド数が100×100×160で最大分割レベル0,すなわち,均一な直交格子で,メモリ上のデータが連続している構造のアダプティブグリッドを用いないものと,25×25×40で最大分割レベル2のツリー構造で実装されているアダプティブグリッドシミュレーションの計算時価を示す.共に空間の解像度は同じとなり,180タイムステップ目のものである.表1にグリッド数と計算時間を示す.計算時間にはレンダリングの時間は含まれていない.計算にはPentium4(2.7GHz)のPCを用いた.アダプティブグリッドを用いることにより,同じ空間解像度の結果を得るのに大幅な計算コストの削減をすることができる.この例では,180タイムステップ目までの総計算時間は25%に短縮されている.

3.6.計算結果

 図4にアダプティブグリッド法を用いた大気流体モデルの数値解法によるシミュレーションの結果画像を示す.左は温度源から生じる上昇気流によって生成される積乱雲,右は横からのの気流と山との衝突により生成される雲を表示したものである.初期グリッド数はそれぞれ50×40×50,60×40×30 で最大分割レベルは2である.レンダリングには土橋らの手法を用いている.

4.雲の高速レンダリング

4.1.シャドウ・ビュースライス(SVS)

 雲密度のボリュームデータを可視化するためには,光源方向および視点方向光の減衰を考えなければならない.本論文ではシャドウ・ビュースライスという光源方向と視点方向の両方に面したスライスを取ることにより,二つの減衰の計算を同じサンプリング平面を用いて行う.そうすることにより,従来手法よりも効率的に散乱光を計算することが可能である.

4.2.SVSによる散乱光の計算

 視点に到達する太陽光の雲と大気粒子による散乱光Iv は以下の式で表される.

 ここでIbackは背景の輝度,gviewはPと視点間の光の減衰率,gsunは太陽とP間の光の減衰率,Tは視点と背景間の距離,Isunは太陽光の輝度,βclとβatmはそれぞれ雲と大気の散乱の位相関数である..雲による多重散乱は近似して定数として与える.αは視線方向に対する太陽光の入射角,tは視点とP間の距離.ρclとρatmはそれぞれPにおける雲と大気の密度.hは地面からのPの高度,sはPと考慮する大気圏の上面との距離である.

 空間はSVSによって太陽方向と視点方向を向いた平面に分割され,各SVS上で散乱光を計算する(図5).雲密度ρclはボリュームテクスチャのスライスから,太陽方向の雲による減衰率gsun_clは雲密度をシャドウサーフェスと呼ぶ各スライス間の減衰率を乗算して記憶する書き込み可能なテクスチャを使って得られる.また雲の密度は非一様であるために,3次元的に記憶しなければならないが,大気の密度ρatmと太陽からの光の減衰率gsun_atmは地表からの高さと太陽の位置のみに依存するので,1次元テクスチャとして記憶しておく.SVSをシャドウサーフェスに投影し,太陽方向の減衰率を計算したあとに,今度はスクリーンへ投影し視線方向の光の減衰を考慮して散乱光の輝度を計算する.

 またこのように空間を平面によってサンプリングを行う場合,サンプリング間隔と位相関数βのための視線方向に対する太陽光の入射角αが各視線上,すなわちスクリーンのピクセルごとに異なる.そこで本手法ではそれぞれのピクセルごとにスライスのサンプリング間隔と位相関数の値をそれぞれテクスチャとして保存しておき,スクリーン上で散乱光の輝度計算を行う際にそれらも使用する.

4.3.計算結果

 本レンダリング手法による結果画像を図6に示す.左が積乱雲,右が夕方の積雲ある.スライスの枚数はそれぞれ261枚と366枚である.グラフィクスハードウェアにRadeon9800 Proを用いて5〜10fpsと高速にレンダリングが可能である.計算時間はほぼスライスの枚数に比例する.

5.まとめ

 雲のビジュアルシミュレーションのためにCFDによる雲のモデリングと散乱光計算によるレンダリングの両方を行った.

・CMLによる定性的モデルと,大気流体の偏微分方程式の数値解析によるCMLの手法よりリアルな積雲のモデリング,またアダプティブグリッド法を導入し効率的な計算を行う手法を提案した.

・ ショウドウ・ビュースライスという空間をいくつもの平面でサンプリングをし,太陽光の散乱光の計算をテクスチャの演算として捉えグラフィクスハードウェアを活用することによって,ほぼリアルタイムの速度で雲のレンダリングを行う手法を提案した,

参考文献

[1] R. Miyazaki, S. Yoshida, Y. Dobashi, T. Nishita. "A Method for Modeling Clouds based on Atmospheric Fluid Dynamics," Proc. PACIFIC GRAPHICS, 2001, 363-372.[2] R. Miyazaki, Y. Dobashi, and T. Nishita, "Simulation of cumuliform clouds based on computational fluid dynamics", Proc. EUROGRAPHICS 2002 Short Presentations, 2002, 405-410.[3] 宮崎玲,土橋宜典,西田友是,「アダプティブグリッド法を用いた効率的な雲のビジュアルシミュレーション」,電子情報通信学会論文誌,Vol.J87-D-II,No.9,Sept.2004,1814-1822.[4] R. Miyazaki, Y. Dobashi, and T. Nishita, "A Fast Rendering Method of Clouds Using Shadow-View Slices," Proc. Computer Graphics and Imaging, 2004, 93-98.[5] Y. Dobashi, K. Kaneda, H. Yamashita, T. Okita, T. Nishita, "A Simple, Efficient Method for Realistic Animation of Clouds," Proc. SIGGRAPH2000, 19-28.

図1:CMLによる雲のモデリング(左:積雲 中:積乱雲 右:高積雲)

図2:シミュレーション空間(左: 熱源を配置 右: 気流と山との衝突)

図3:積雲のシミュレーションの断面図.空間はグリッド分割・統合される様子を示す.カッコ内はグリッド数を表す.水平方向はx軸,鉛直方向はz軸を表す.(tsはタイムステップを表す)

表1 アダプティブグリッド法によるグリッド数,および計算時間の減少.

図4:結果画像(左:積乱雲 右:気流と山との衝突で生成される雲)

図5:SVSによる散乱光計算

図6:結果画像(左:積乱雲右:夕方の積雲)

審査要旨 要旨を表示する

 雲,煙,炎,水などの自然現象のシミュレーションはCGにおいて重要な研究分野の一つであり,特に雲の表示は景観画像の作成に重要な役割を果たす.リアルな雲を表現するためには,大気流体のダイナミクスのシミュレーションによるモデリングと,太陽光の雲と大気の粒子による散乱光の計算によるレンダリングの両方で物理則に基づく手法が有効である.本論文ではモデリングにはCMLによる定性的シミュレーションによるものと,大気流体をモデル化した偏微分方程式の差分法による数値解法を用いる.またシミュレーション空間のグリッドをアダプティブに分割・統合していくアダプティブグリッド法を導入し,本シミュレーションの目的に合うグリッドの分割条件を検討し効率的なシミュレーションも行う.シミュレーションで得られた雲密度のボリュームデータを雲だけでなく大気粒子による光の散乱も考慮して,グラフィクスハードウェアを用いて高速にレンダリングを行う手法も提案している.

 第3章ではCML(Coupled Map Lattice)を用いて様々な雲を生成する新しい手法を提案している.CMLは隣り合うセル同士を相互作用させることによって複雑現象をシュミレートするセルダイナミクスの手法の一種で,偏微分方程式の数値解法に比べ,計算時間が短く定性的シミュレーションに向いているのが特徴である.CMLを用いて,上昇気流を基にした積雲・積乱雲と,ベナール対流を基にした高積雲・巻積雲(ひつじ雲・いわし雲)などのセル・ロール状の雲のモデリングを行っている.

 第4章では大気流体のモデルの差分法による数値解法を用い,積雲のリアルなアニメーションを作成することを目的とする.また障害物として山を考慮することにより,従来法では取り扱われていなかった気流と山との衝突により生成される雲のシミュレーションも行つている.差分法は通常,空間をグリッドに分割して行うが,リアルな雲を作成するためには空間を細かいグリッドに分割することが必要になり,それに伴い計算コストは増大してしまう.そこで本章ではグリッドをアダプティブに分割・統合していくアダプティブグリッド法を導入しており,用いる総グリッド数を大幅に抑えることができ,効率的なシミュレーションを行うことが可能となった.そしてシミュレーションで得られた雲の密度分布をレンダリングしてリアルなアニメーションを作成している.

 第5章は高速で写実的な雲のレンダリング手法を提案している.流体シミュレーションなどで得られる雲密度のボリュームデータを可視化するためには,光源方向および視点方向光の減衰を考えなければならない.ここではシャドウ・ビュースライスという光源方向と視点方向間のスライスを取ることにより,二つの減衰の計算を同じスライスを用いて行い,従来法よりも計算コストを削減した手法を提案している.また計算の大部分にグラフィクスハードウェアを用いることにより高速にレンダリングを実現している.

 なお,本論文第2章,第3章,第4章は北海道大学の土橋宜典助教授および東京大学の西田友是教授との共同研究であるが,論文提出者が主体となって開発,分析,検証を行ったもので,論文提出者の寄与が十分であると判断する.

したがって,博士(科学)の学位を授与できると認める.

UTokyo Repositoryリンク