Research

流体シミュレーション

水や空気などの流体による現象を物理シミュレーションを用いてCGで再現するためのするための手法について研究しています.

浸透流を考慮した土砂構造物崩壊シミュレーション

本研究では,土砂構造物と水の連成シミュレーション手法を提案する.我々は土砂を表すDEM粒子と水を表すSPH粒子間の運動量保存を考慮した相互作用を計算することで,浸透流を表現可能なSPH-DEMフレームワークを開発した.このフレームワークでは,水はDarcyの法則に基づく多孔質媒体中を浸透する流れと見なし,浸透速度と土砂への浸透性を抗力係数と土砂空隙率に従って制御する.さらに,砂や粘土など様々な土の挙動を捉えるために,水の飽和度に基づく毛細管モデルを用いている.この毛細管モデルは土粒子間の表面張力によって液体がブリッジを形成することに基づいており,このときの力を動的に計算することができる.そして,土砂と水の間に発生する様々な視覚効果を実現するために,土砂と水の付着力もモデル化した.提案手法によるシステムを用いることで,これまでシミュレーションが困難であった越流浸食や内部浸透による複雑なダム決壊シナリオを再現することができる.


糊化現象に基づく粘度変化を伴う流体シミュレーション手法の開発

本論文では,小麦粉懸濁液の糊化現象を伴う非線形な粘度変化を流体シミュレーションを用いて計算する手法を提案する.提案手法では,懸濁液の混ざり合いおよび熱を加えることで発生する糊化現象による粘度変化を考慮したシミュレーションを行う.糊化現象による粘性変化は,潜熱と同様の状態変化であると仮定し,熱エネルギーの変化から糊化度を計算する.最終的に混ざりあいと糊化現象による粘性変化を統合し,クレープ作りを想定したシミュレーション実験を行い,手法の有用性を確認した.


航空力学に基づくパラシュートを用いた昼花火のシミュレーション

本研究では, 昼花火を物理シミュレーションを用いてCGアニメーションにより再現する方法を提案する. 昼花火は打ち上げ花火の一種であり, 中でも本研究は「煙竜」と呼ばれる昼花火を対象とする. 煙竜は, 発煙筒をつけたパラシュートを打ち上げて, パラシュートの落下とともに煙が描く螺旋状の軌跡を鑑賞する花火である. 提案手法では, パラシュートのシミュレーションと流体シミュレーションによる煙を組み合わせることで, 煙竜をCGで再現する. パラシュートのシミュレーションでは, 屋根部分を航空力学に基づく力を考慮したパラシュートモデル, 荷物部分を自由落下する質点としてモデル化し, 間を繋いでいる紐をバネ・ダンパを用いて表現する. 煙は格子法を用いた流体シミュレーションによって再現し, パラシュートの荷物部分から煙を噴出することで煙竜のシミュレーションを行う.


多相流体シミュレーションを可能とする非圧縮性SPH法の開発

SPH法はパーティクルによるシミュレーション手法の一種であり,流体をはじめ,様々な自然現象をCGで再現するために用いられている.この研究で対象としている現象は多相流体流れであり,現実世界では,水と油の分離,液体内を上昇する気体の泡などがその例である.多相流体流れをシミュレートする場合,流体間における正確な相互作用計算が重要となり,正確な相互作用計算の要素として,流体境界における正確な密度計算および非圧縮性がある.しかし,この2つの両方を考慮したSPH法はこれまで提案されていなかった.この研究では,近傍の粒子分布から得られる粒子密度をベースに密度計算および圧力計算を行うことで両者を満たし,流体の違いに依存せず,大きなタイムステップ幅でも安定した多相流体シミュレーションを可能とした.また,従来手法における表面張力計算の補正法を提案法に適用することで,従来法では実現できなかった薄い液膜を含む気泡の形状維持や破裂の表現を可能とした.


燃焼過程を考慮した炎のシミュレーション

炎はコンピュータグラフィックス(CG)の分野において多用される自然現象の1つである. しかし, その複雑性から化学的な現象をほとんど考慮しない単純なモデルが用いられることが多い. 中でもこの現象を扱うために重要な“酸素との反応”はこれまでの研究では全く考慮されていない. そのため, 酸素供給で燃焼が激しくなる挙動や, 不完全燃焼による温度のゆらぎなど炎が持つ独特な挙動を扱うことができない. そこで本研究では“酸素との反応”の概念とその過程に生じる化学的な現象をモデル化し, それらを用いた新しい炎のシミュレーション手法を提案する. 提案手法では, 炎を粒子法, 酸素を格子法で独立にシミュレーションし, 2つのシミュレーション間で物理量をやりとりすることで, 化学反応を考慮した燃焼を扱う. また, 高速に並列計算ができるGPUを用いることでリアルタイムでのシミュレーションを実現した.


SPH法における固体境界インタラクションの改良

CGにおいて水や煙,炎といった流体表現は欠かせない要素の一つとなっている. これらの流体は自身の内部影響だけでなく,周囲の固体境界との相互作用によってもその挙動が変化する. 例えば,コップに水を注ぐ, 海上を船が波を立てながら進むといったシーンでは固体-液体間の相互作用が重要となる. SPH法などのパーティクル法でこの相互作用を実現するために従来は固体境界内に 固定されたパーティクルを配置していた. この研究では固定パーティクルを使う代わりに, 固体境界を多項式で表し,そこから補正量を直接計算する方法を提案する. これによりCG分野で一般的なポリゴンで表現された固体形状との相互作用を直接計算することが可能となる.


SPH法とShallow Water法を用いた高速な波のシミュレーション

ゲームなどのインタラクティブなアプリケーションでは,高精細かつリアルタイムな計算速度が 求められているが,流体シミュレーションは計算コストが高く,特に川や湖や海などの大規模な流体シミュレーションをリアルタイムで計算することは難しい. この研究では2次元のパーティクル法を用いたShallowWaterモデルの波のシミュレーションに対して, 3次元的な動きをパーティクル法の一種であるSPH法により追加することで,より高精細で高速な流体シミュレーションを実現する方法を提案する. 提案手法ではShallowWater モデルにより,大規模なシーンでも高速に計算可能であり,かつ, 従来手法では実現できなかった3次元的な挙動をSPH法によって表現する.


粒子間ポテンシャル力を用いた粒子法による水滴のシミュレーション

この研究では, 粒子間相互作用力と位置ベース流体計算法を用いた水滴のシミュレーション手法を提案する. 粒子法の一種であるSPH法を用いて液体全体の振る舞いを高速に計算し, そして,粒子間に力を働かせることで表面張力の影響を安定して計算する. また,固体表面に位置が固定の固体粒子を設置し, 流体粒子の物理量を計算する際に固体粒子からの影響も考慮することで固体とのインタラクションを可能にする. さらに,表面張力と接触角の関係を用いて水滴の形状を接触角によって制御できるようにすることで, ユーザが直感的に操作できる方法を提案する.


毛髪シミュレーション

毛髪はキャラクターアニメーションにおいて欠かせない要素の一つです.この毛髪の運動を物理シミュレーションにより再現する研究をしています.

流体との相互作用を考慮した毛髪の塑性変形シミュレーション

本研究では,外部流体との相互作用によって発生した毛髪の塑性変形を流体シミュレーションを用いて計算する手法を提案する.提案手法では流体シミュレーションに粒子法の一種であるPosition Based Fluidsを用い,日常生活で最も変化しやすい側鎖結合である水素結合と,身近な流体であり,かつ毛髪との相互作用を考える上で重要となる空気に焦点を当ててシミュレーションを行う.側鎖結合の変化は,本物の毛髪を用いた実験結果を参考に流体シミュレーションによって得られた熱の分布から計算する.また,空気と毛髪の相互作用を行うことで空気の流れも変化し,渦を伴う乱流が発生するが,この乱流を制御することでより現実的な毛髪の挙動を表現する.提案手法を実装する上では並列演算によって高速な処理を可能とするGPGPUを使用した.実験の結果,ドライヤーからの温風を模した空気の流れによってなびく髪の動きを再現すると同時に,その際に熱によって側鎖結合の状態が変わることで毛髪の形状が変化する様子を再現できることが確認できた.


側鎖結合を考慮した毛髪の塑性変形シミュレーション

本研究では,パーマや寝癖の表現を可能とする毛髪の塑性変形シミュレーション手法を提案する. 毛髪のシミュレーションはコンピュータグラフィクスの分野において人間等のキャラクタを表現するのに必要不可欠なものであるが, ほとんどの場合シミュレーションが容易な弾性体としてその挙動が計算され,寝癖や整髪料の影響のような塑性変形は考慮されていない. 提案手法では,毛髪の主成分であるケラチンと呼ばれるタンパク質内で結びついている側鎖結合を考慮し, 実際の毛髪と同じように各結合で切断及び再結合を繰り返すことによって塑性変形を再現する. これらを,位置ベース法(Position Based Dynamics)に組み込むことで高速かつ安定したシミュレーションを実現した.


地形生成

ゲームやコンピュータシミュレーションなどにおいて自然地形が必要となる場面は多いです.そのような地形を物理シミュレーションによって自動的に生成するための方法を研究しています.

ノッチ形成と堆積物を考慮した海岸地形生成手法の開発

本研究では,波によって侵食され形成される岩石海岸と砂などの堆積物の輸送によって形成される砂浜海岸の形成のためのシミュレーション手法を提案する.岩石海岸については,波による侵食や後退を数値的に計算するモデルである SCAPEを3次元地形に拡張し,波によって海岸がえぐれる形になる波食窪 (ノッチ) についても考慮する.また,砂浜海岸については砂の堆積の影響を考慮するために浮遊砂層と掃流砂層に分けて考えるモデルを適用する.これらのシミュレーションを合成して,波による侵食や堆積物の輸送・堆積を再現するシミュレーション実験を行い,提案手法の有効性を確認した.


粒子法と数理地形学に基づく海岸地形生成

地形生成はコンピュータグラフィックス分野で盛んに研究されているトピックのひとつであり, 本研究ではその中で海岸地形の生成に注目する. 海岸地形生成に大きな影響を与えるのが海からの波,つまり水の流れである. 従来の地形生成手法では水の流れを簡易的に計算したものが多く, 水の流れが複雑な海岸地形に当てはめることは難しかった. また,水の流れを正確に計算したものであっても, 大量の水が存在する海に関して計算するためには膨大な計算コストが必要であった. それに対して本研究では,高速化された粒子法を用いて水の流れをシミュレーションし, 数理地形学に基づいた浸食式を3次元空間での地形生成に拡張することで浸食の計算を行う手法を提案している.


固体変形/破壊シミュレーション

ゴムのような弾性体や粘土のような弾塑性体の変形,剛体の破壊などの現象を物理シミュレーションで再現するための研究を行っています.

リアルタイム破壊シミュレーションにおける表現の改良

物体が壊れるという破壊表現のシーンは映画やゲームなどのCGコンテンツで多用されている. 特にゲームなどのリアルタイムアプリケーションでは,予め破片形状を生成しておいて, それらをまとめてひとつのオブジェクトであるかのようにみせかける事前分割手法や, 分割の仕方を定義した幾何学的な図形を重ね合わせてオブジェクトを切断する動的分割手法など,非物理的なシミュレーション手法が主流である. しかし,従来の事前分割手法・動的分割手法では,物体に力が加わってから完全に破壊が完了するまでの亀裂の進展の表現が一切考慮されていなかった. この研究では,従来の動的分割手法にグラフ構造の発想を取り入れ,力が加えられた位置から徐々に物体が割れていくという段階的な破壊表現手法を複数パターン提案する. これにより,インタラクティブアプリケーションにおける,リアルタイム破壊シミュレーションのスローモーション表現が可能となる.


Slaveパーティクルを用いた弾塑性体シミュレーション

CGにおいて水や煙,炎といった流体表現は欠かせない要素の一つとなっている. これらの流体は自身の内部影響だけでなく,周囲の固体境界との相互作用によってもその挙動が変化する. 例えば,コップに水を注ぐ, 海上を船が波を立てながら進むといったシーンでは固体-液体間の相互作用が重要となる. SPH法などのパーティクル法でこの相互作用を実現するために従来は固体境界内に 固定されたパーティクルを配置していた. この研究では固定パーティクルを使う代わりに, 固体境界を多項式で表し,そこから補正量を直接計算する方法を提案する. これによりCG分野で一般的なポリゴンで表現された固体形状との相互作用を直接計算することが可能となる.


相変化シミュレーション

氷が溶けて水になる氷塊現象や水が沸騰して蒸気となる沸騰現象など相変化を伴う現象の物理シミュレーションについて研究しています.

位置ベース法を用いたリアルタイム融解・凝固シミュレーション

CGにおいて氷のような物体の相変化現象を再現することは,ひとつの大きな課題である.この研究では,物体を粒子の集合として近似シミュレーションする粒子法を用いて, 固体-液体間の相変化をリアルタイムで再現する方法を提案する. 固体-液体間の相変化シミュレーションでは,固体形状の変化に応じて運動も変化するために, 分離や結合などの固体の構造変化が問題となる. 我々は,従来研究のトップダウンな剛体シミュレーションとは異なり, 接続情報を基にしたボトムアップな運動計算法を採用することでこの問題を解決する. また,この際に硬い物体の表現が困難となるという新しい問題が発生するが, これを計算粒子のサンプリング,粒子間の姿勢の補間,変形に基づく重み付きJacobi法により 計算速度の低下なしに解決した.


その他のシミュレーション

オーロラや集光模様などの多様な物理現象のシミュレーションについて研究しています.

所望の集光模様を生成する液体の制御法

任意の画像の輝度分布に従う集光模様を生成する透明な液体の表面形状を制御する手法を提案する.本手法は,集光模様を設計する過程と液体表面を制御する過程で構成される.集光模様の設計では,任意のグレースケール画像を入力画像として扱い,集光模様を生成する透明な液体の表面形状を,その入力画像の輝度分布に基づいて計算する.連続な液体表面を求めるため,ポアソン方程式を用いる.液体表面の制御では,現在のハイトフィールドと目標となるハイトフィールドに基づくDriving Forceを外力として導入する.この力は,現在の液体表面を以前の過程で求められた目的となる形状に近づける力である.液体表面とそれによって生成される集光模様を流体シミュレーションによって確認する.


アーティスト制御可能なオーロラシミュレーション

物理シミュレーションを用いたCG 生成では,アーティストが望んだ色や形状を得るためには,パラメータを細かく調整する必要があり多くの試行錯誤を行わなければならない. このような細かな調整を自動化するために,シミュレーションをインタラクティブに制御可能にする手法の研究が盛んに行われている. 研究では,オーロラを磁場方向から見た2 次元平面上で形状制御するシミュレーション法を提案する. アーティストによって指定された形状を基に,その形状に近づくようなローレンツ力を発生させる電場分布を生成する. 電場分布に基づいた荷電粒子の運動計算 行うことで,カーテンが揺らめくようなオーロラ特有の動きを保持しつつ,オーロラアニメションの形状制御を実現する. また,アーティストが指定したオーロラ形状を,制御点とそれを結ぶ線分で近似し,電場分布を生成する際に制御点の接続情報を考慮することで分断・結合現象も表現可能とする.