JP2005078121A - 流体の飛沫シミュレーション装置、方法、およびプログラム - Google Patents
流体の飛沫シミュレーション装置、方法、およびプログラム Download PDFInfo
- Publication number
- JP2005078121A JP2005078121A JP2003209768A JP2003209768A JP2005078121A JP 2005078121 A JP2005078121 A JP 2005078121A JP 2003209768 A JP2003209768 A JP 2003209768A JP 2003209768 A JP2003209768 A JP 2003209768A JP 2005078121 A JP2005078121 A JP 2005078121A
- Authority
- JP
- Japan
- Prior art keywords
- splash
- time
- fluid
- smoke
- simulation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
【課題】リアリスティックな流体飛沫を表現するシミュレーション装置を提供する。
【解決手段】時刻tにおける流体の速度、圧力、VOF値、および剛体の位置、姿勢、速度、角速度、形状データから時刻t+Δtにおける流体の速度、圧力、VOF値、および剛体の位置、姿勢、速度、角速度を計算する流体、剛体の連携シミュレーション部110、時刻tにおける飛沫粒子の位置、速度から時刻t+Δtにおける飛沫粒子の位置、速度を計算する飛沫粒子シミュレーション部、時刻t+Δtにおける流体のVOF値に応じて新たな飛沫粒子を発生する飛沫粒子発生部、時刻tにおける飛沫煙の密度分布から時刻t+Δtにおける飛沫煙の密度分布を計算する飛沫煙シミュレーション部、及び時刻t+Δtにおける飛沫粒子の位置、ライフタイムならびに流体のVOF値に応じて新たな飛沫煙を発生する飛沫煙発生部とを有し、流体がダイナミックな変形を生じながら飛沫を発生するシーンをシミュレーションする。
【選択図】 図2
【解決手段】時刻tにおける流体の速度、圧力、VOF値、および剛体の位置、姿勢、速度、角速度、形状データから時刻t+Δtにおける流体の速度、圧力、VOF値、および剛体の位置、姿勢、速度、角速度を計算する流体、剛体の連携シミュレーション部110、時刻tにおける飛沫粒子の位置、速度から時刻t+Δtにおける飛沫粒子の位置、速度を計算する飛沫粒子シミュレーション部、時刻t+Δtにおける流体のVOF値に応じて新たな飛沫粒子を発生する飛沫粒子発生部、時刻tにおける飛沫煙の密度分布から時刻t+Δtにおける飛沫煙の密度分布を計算する飛沫煙シミュレーション部、及び時刻t+Δtにおける飛沫粒子の位置、ライフタイムならびに流体のVOF値に応じて新たな飛沫煙を発生する飛沫煙発生部とを有し、流体がダイナミックな変形を生じながら飛沫を発生するシーンをシミュレーションする。
【選択図】 図2
Description
【0001】
【発明の属する技術分野】
発明は、流体がダイナミックな変形を生じながら飛沫を発生するシーンのコンピュータグラフィックス(CG)を生成する飛沫シミュレーション装置、方法、およびプログラムに関する。
【0002】
【従来の技術】
コンピュータグラフィックス分野において、流体に物体が投げ込まれたときになどに発生する流体飛沫を表現する手法が幾つか提案されている。
【0003】
Obrienによる手法は、流体を流体底面からの高さ方向の関数(Height Field)として表現し、投げ込まれる物体の影響を考慮して、高さ方向の挙動に関し運動方程式を用いて計算し、流体の表面の挙動を求める。また、所定の発生条件に従って流体飛沫を発生させた後、流体飛沫の運動方程式から得られる挙動を計算し、描画するというものである(下記非特許文献1参照)。この手法においては、流体が高さ方向での変形を主に考慮したモデルを用いるものであり、波などによって生じる複雑な流体の変形を伴う過程での飛沫発生の表現は困難である。
【0004】
また、3次元空間において、ParticleとLevel Setのハイブリッド手法を用い、複雑な流体界面の挙動を追跡して、飛沫発生などの状況も扱えるFedkiwによる手法などが近頃提案された(下記非特許文献2、3参照)。しかし、この手法は3次元空間内で流体における気相領域全体を解いているわけではなく、気相の影響も考慮に入れた飛沫のシミュレーションを行うのは非常に困難である。
【0005】
【非特許文献1】
J. F. O’Brien and J. K. Hodgins, Dynamic Simulation of Splashing Fluids, pages 198−205. Computer Animation
【0006】
【非特許文献2】
N. Foster and R. Fedkiw. Practical Animation of Liquids, pages 23−30. ACM SIGGRAPH 2001, 2001.
【0007】
【非特許文献3】
D. Enright, D. Marschner, R. Fedkiw, Animation and Rendering of Complex Water Surfaces, ACM SIGGRAPH 2002, 2002
【0008】
【発明が解決しようとする課題】
コンピュータグラフィックス分野(CG)において、流体がダイナミックな変形を生じながら飛沫を発生するなシーンをリアリスティックに表現する技術が求められている。このため、流体飛沫のみでは表現することが難しい、水煙のようなものとして観察される微小粒子で構成された飛沫を表現することが必要とされている。
【0009】
本発明は、かかる技術的課題を解決し、流体がダイナミックな変形を生じながら飛沫を発生するなシーンをリアリスティックに表現するための飛沫シミュレーション装置、方法、およびプログラムを提供することを目的とする。
【0010】
【課題を解決するための手段】
上記課題を解決するため、本発明に係る飛沫シミュレーション装置は、流体がダイナミックな変形を生じながら飛沫を発生するシーンをシミュレーションする飛沫シミュレーション装置において、時刻tにおける流体の速度、圧力、VOF(Volume Of Fluid)値から微小時間Δt後の時刻t+Δtにおける流体の速度、圧力、VOF値を計算する流体シミュレーション手段と、時刻tにおける飛沫粒子の位置、速度から微小時間Δt後の時刻t+Δtにおける飛沫粒子の位置、速度を計算する飛沫粒子シミュレーション手段と、時刻t+Δtにおける流体のVOF値に応じて新たな飛沫粒子を発生する飛沫粒子発生手段と、時刻tにおける飛沫煙の密度分布から、微小時間Δt後の時刻t+Δtにおける飛沫煙の密度分布を計算する飛沫煙シミュレーション手段と、時刻t+Δtにおける飛沫粒子の位置、ライフタイム、ならびに流体のVOF値に応じて新たな飛沫煙を発生する飛沫煙発生手段とを具備する。
【0011】
また、本発明は流体がダイナミックな変形を生じながら飛沫を発生するシーンをシミュレーションする飛沫シミュレーション方法において、時刻tにおける流体の速度、圧力、VOF(Volume Of Fluid)値から微小時間Δt後の時刻t+Δtにおける流体の速度、圧力、VOF値を計算する流体シミュレーションステップと、時刻tにおける飛沫粒子の位置、速度から微小時間Δt後の時刻t+Δtにおける飛沫粒子の位置、速度を計算する飛沫粒子シミュレーションステップと、時刻t+Δtにおける流体のVOF値に応じて新たな飛沫粒子を発生する飛沫粒子発生ステップと、時刻tにおける飛沫煙の密度分布から、微小時間Δt後の時刻t+Δtにおける飛沫煙の密度分布を計算する飛沫煙シミュレーションステップと、時刻t+Δtにおける飛沫粒子の位置、ライフタイム、ならびに流体のVOF値に応じて新たな飛沫煙を発生する飛沫煙発生ステップとを具備する。
【0012】
さらに、本発明は流体がダイナミックな変形を生じながら飛沫を発生するシーンをシミュレーションする飛沫シミュレーションプログラムにおいて、時刻tにおける流体の速度、圧力、VOF(Volume Of Fluid)値から微小時間Δt後の時刻t+Δtにおける流体の速度、圧力、VOF値を計算する流体シミュレーション手順と、時刻tにおける飛沫粒子の位置、速度から微小時間Δt後の時刻t+Δtにおける飛沫粒子の位置、速度を計算する飛沫粒子シミュレーション手順と、時刻t+Δtにおける流体のVOF値に応じて新たな飛沫粒子を発生する飛沫粒子発生ステップと、時刻tにおける飛沫煙の密度分布から、微小時間Δt後の時刻t+Δtにおける飛沫煙の密度分布を計算する飛沫煙シミュレーション手順と、時刻t+Δtにおける飛沫粒子の位置、ライフタイム、ならびに流体のVOF値に応じて新たな飛沫煙を発生する飛沫煙発生手順と、をコンピュータに実行させる飛沫シミュレーションプログラムを提供する。
【0013】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態を説明する。
【0014】
図1は本発明の一実施形態に係るシミュレーション装置の概略構成を示すブロック図である。本実施形態は、例えばパーソナルコンピュータ(PC)やエンジニアリング用ワークステーションなど、一般的なコンピュータを用いて実現することができる。その概略構成としては、例えば図1に示すように、演算装置1、入力装置2、表示装置3、および記録装置4を具備して成る。演算装置1は、図示しないがCPU、メモリ、システムバス等の基本的なコンピュータ・ハードウェア構成を有するとともに、ソフトウェア構成としてシミュレーション部11およびレンダリング部12を有する。これらはコンピュータプログラムとして実現することができる。同プログラムは記録装置4から読み出されてメモリにストアされ、CPUにより実行される。尚、シミュレーション部11およびレンダリング部12を、コンピュータプログラムではなくハードウェア回路そのものとして実施することもできる。
【0015】
入力装置2は、キーボードやポインティングデバイス等である。ユーザは入力装置2を用いて、シミュレーションに必要な各種データを入力したり、シミュレーション処理の実行開始を命ずるコマンド等を演算装置1に与えることができる。表示装置3は、CRTや液晶等の表示装置であり、演算装置1によるシミュレーション結果として生成されたシーンの画像を表示する。このような画像はコンピュータグラフィックス(CG)と称される。記録装置4は、ハードディスク装置や光磁気ディスク装置(MO)等からなり、上記プログラムの実行形式データ、ならびにシミュレーションに用いられる初期データや形状データ、またはシミュレーション結果の画像データ等を記録する。本実施形態に係るシミュレーション装置に、さらにプリンタ等の周辺機器を接続してもよい。
【0016】
図2はシミュレーション部の概略構成を示すブロック図である。
【0017】
シミュレーション部11は、時刻tにおける流体の速度、圧力、VOF値、および、時刻tにおける剛体の位置、姿勢、速度、角速度、形状データから、微小時間Δt後の時刻t+Δtにおける時刻tにおける流体の速度、圧力、VOF値、および、時刻t+Δtにおける剛体の位置、姿勢、速度、角速度を計算する流体、剛体の連携シミュレーション部110と、時刻tにおける飛沫粒子の位置、速度、および時刻t+Δtにおける流体の速度から、時刻t+Δtにおける流体飛沫の位置、速度を計算する飛沫粒子シミュレーション部111と、時刻t+Δtにおける流体のVOF値の空間的な分布、勾配から、時刻t+Δtにおける飛沫粒子の発生を計算する飛沫粒子発生部113と、時刻tにおける飛沫煙の密度分布および、時刻t+Δtにおける流体の速度から、時刻t+Δtにおける飛沫煙の密度分布を計算する飛沫煙シミュレーション部112と、時刻t+Δtにおける飛沫粒子の空間的な分布状況から、時刻t+Δtにおける飛沫煙の密度を増加させる飛沫煙発生部114を含む。
【0018】
図3はレンダリング部の概略構成を示すブロック図である。
【0019】
レンダリング部12は、光源の位置、視点の位置に応じ、光の反射、屈折、集光模様を考慮して流体および剛体を描画する流体、剛体レンダリング部120と、光の1次散乱の効果を含めて流体、剛体のレンダリング結果と整合するように飛沫粒子を描画する飛沫粒子レンダリング部と、光の1次散乱の効果を含めて流体、剛体、ならびに飛沫粒子のレンダリング結果と整合するように飛沫煙を描画する飛沫煙レンダリング部122を含む。
【0020】
上述したシミュレーション部11は、レンダリング部12により得られたレンダリング結果を表示装置3に出力する。
【0021】
図4は、飛沫の表現方法を説明するための図である。
【0022】
大きな飛沫については、飛沫粒子(パーティクル)40のみによる表現とし、人間が見ても粒子であることが判別できないような小さな飛沫については、ボリューメトリックな飛沫煙41を用いる。飛沫煙41は、飛沫密度をパラメータとして有する。図5は、飛沫煙の発生を示した図である。飛沫パーティクル50はそれが移動する毎に飛沫煙を発生するジェネレータであると考える。51は飛沫パーティクル50から新たに発生した飛沫煙である。また飛沫煙は、矢印52の方向に拡散し、いずれは消失する。このとき、流体の流速に応じて飛沫煙が流動する表現効果を加えると好ましい。
【0023】
以上のように構成された本実施形態の動作を説明する。図6は、本実施形態に係るシミュレーション装置の処理手順を示すフローチャートである。
【0024】
まず初期条件として、時刻tにおける流体のデータ(速度、圧力、VOF値)および剛体の剛体のデータ(位置、姿勢、速度、角速度、形状データ)を本装置に入力する(ステップS1)。
【0025】
時刻tにおける流体のデータ、および、剛体のデータから、以下の流体の運動方程式、剛体の運動方程式、および、剛体同士の衝突判定を行い、時刻t+Δtにおける流体のデータ(速度、圧力、VOF値)および剛体のデータ(位置、姿勢、速度、角速度)を求める(ステップS2)。ここで、流体の運動方程式としては、例えば以下が用いられる。
【0026】
【数1】
【0027】
u,p,ρはそれぞれ、流体の速度、圧力、密度であり、μは粘性係数である。また、fは流体の割合を表す関数であり、これをVOF(Volume Of Fluid)と表し、この関数が各流体格子において取る値をVOF値と表すことにする。ρ1,ρ2はそれぞれ、流体における液相、気相の密度である。これらの方程式を用いることによって、流体の液相、気相を同時に解くことができる。
【0028】
剛体については、一般的に知られている運動方程式を解く。また、流体の圧力が剛体へ及ぼす圧力は以下のように計算することができる(図7参照)。
【0029】
【数2】
【0030】
次に、時刻tにおける飛沫粒子の位置、速度から、時刻t+Δtにおける流体の速度を用いて、以下の運動方程式によって飛沫粒子の時刻t+Δtにおける位置、速度を求める(ステップS3)。ただし、時刻t+Δtにける飛沫粒子の位置は、時刻t+Δtにおける流体、剛体によって占められている空間位置を考慮に入れる必要がある。また、時刻t+Δtにおける飛沫粒子の経過時間(ライフタイム)は時刻tにおける値に対して、一定数を加算しておく。
【0031】
【数3】
【0032】
飛沫粒子は、所定のライフタイムに達したら消失させるため、ある一定のシミュレーション時間で消失することになる。
【0033】
次に、時刻t+Δtにおける新たな飛沫粒子の発生を求める(ステップS4)。時刻t+Δtにおける流体のVOF値の分布から、VOF値勾配を求め、液相と気相の間にある界面の曲率を計算し、曲率がある一定値を超えた場合に、飛沫粒子を発生させる。飛沫粒子には、発生させた空間位置における速度を初速度に設定する。また、発生させる飛沫粒子の数は、曲率によって調整を行う。
【0034】
次に、時刻tにおける飛沫煙の密度分布および、時刻t+Δtにおける流体の液相、気相速度から、以下の式に従って時刻t+Δtにおける飛沫煙の密度分布を計算する(ステップS5)。
【0035】
【数4】
【0036】
次に、時刻t+Δtにおける新たな飛沫煙の発生を求める(ステップS6)。これには、時刻t+Δtにおける、飛沫粒子の位置、経過時間(ライフタイム)から、例えば以下の式で求める。
【0037】
【数5】
【0038】
各流体シミュレーション格子における飛沫煙の密度は、各流体シミュレーション格子中に含まれ飛沫粒子の個数、それらのライフタイムから求める。ただし、Plife_timeは流体シミュレーション格子に含まれる飛沫粒子の生成からの経過時間(ライフタイム)を表し、f(Plife_time)はパーティクルのライフタイムが与えられると、シミュレーション単位時間あたりに発生する飛沫煙を与える関数である。
【0039】
飛沫粒子が生成時間から経過するほど、飛沫煙を発生する量が少なくなるような条件を与えるために、f(Plife_time)を次式のように表す。
【0040】
【数6】
【0041】
ただし、kmaxは1つの飛沫粒子から発生する飛沫煙の量を制限するための上限、lklife_timeは1つの飛沫粒子の後の経過時間に応じて発生させる飛沫煙の量を減衰させるためのパラメータである。
【0042】
以上説明した処理手順を所定のシミュレーション時間に達するまで繰り返す。これにより得られるシミュュレーション結果に基づいて、シミュレーション空間上での各物体および流体界面が占める位置における画像輝度値ならびにカラー値情報を求める。なお、剛体および流体のレンダリングにおいては、光源、視点の位置情報に応じて光の反射、屈折、集光模様などが考慮される。
【0043】
飛沫粒子については、光の1次散乱まで考慮する。各飛沫粒子はいわゆるビルボードテクスチャ(Billboard Texture)と呼ばれるテクスチャー画像として表示することができる。各飛沫粒子が光源から受け取る光量を、光源からの各粒子までの飛沫粒子の重なり具合を考慮に入れて求め、その値を各飛沫粒子が受け取る光の明るさとする。上記によって得られた光の明るさの情報と、視点から飛沫粒子までの距離をもとに、光の減衰効果を考慮に入れて各飛沫粒子が空間に占める位置における画像輝度値、カラー値情報を求める。また、飛沫煙についても、同様の手法を用いて、各飛沫煙が空間に占める位置における画像輝度値、カラー値情報を求める。
【0044】
以上により得られた結果を、表示装置3やプリンターなどの他の画像出力デバイスへ出力する。これにより、美しく、リアリスティックな飛沫を含んだ流体のシーン作成が可能となる。特に、飛沫煙を飛沫粒子とともに描画することにより、飛沫粒子の発生がまばらな場合に生じる見た目の不自然さを解消できる。このような本実施形態は何度も試行錯誤してシーンを作成するCG分野に好適であり、剛体を含むような複雑な流体の流れのシーンにおいても、リアルスティックな流体飛沫の発生を含む計算を十分に実用的な計算量で、自動的に作成することが可能になる。
【0045】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【0046】
また、実施形態では剛体と流体の連携シミュレーションについて説明したが、流体のみのシミュレーションにおいて飛沫煙を表示することでも本発明の効果を得ることができる。
【0047】
【発明の効果】
以上説明したように、本発明によれば、流体がダイナミックな変形を生じながら飛沫を発生するなシーンをリアリスティックに表現するための飛沫シミュレーション装置、方法、およびプログラムを提供できる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るシミュレーション装置の概略構成を示すブロック図
【図2】シミュレーション部の概略構成を示すブロック図
【図3】レンダリング部の概略構成を示すブロック図
【図4】飛沫の表現方法を説明するための図
【図5】飛沫煙の発生を示した図
【図6】上記実施形態に係るシミュレーション装置の処理手順を示すフローチャート
【図7】流体の圧力による並進力、トルクの計算を説明するための図
【符号の説明】
1…演算装置、2…入力装置、3…表示装置、4…記録装置、11…シミュレーション部、12…レンダリング部
【発明の属する技術分野】
発明は、流体がダイナミックな変形を生じながら飛沫を発生するシーンのコンピュータグラフィックス(CG)を生成する飛沫シミュレーション装置、方法、およびプログラムに関する。
【0002】
【従来の技術】
コンピュータグラフィックス分野において、流体に物体が投げ込まれたときになどに発生する流体飛沫を表現する手法が幾つか提案されている。
【0003】
Obrienによる手法は、流体を流体底面からの高さ方向の関数(Height Field)として表現し、投げ込まれる物体の影響を考慮して、高さ方向の挙動に関し運動方程式を用いて計算し、流体の表面の挙動を求める。また、所定の発生条件に従って流体飛沫を発生させた後、流体飛沫の運動方程式から得られる挙動を計算し、描画するというものである(下記非特許文献1参照)。この手法においては、流体が高さ方向での変形を主に考慮したモデルを用いるものであり、波などによって生じる複雑な流体の変形を伴う過程での飛沫発生の表現は困難である。
【0004】
また、3次元空間において、ParticleとLevel Setのハイブリッド手法を用い、複雑な流体界面の挙動を追跡して、飛沫発生などの状況も扱えるFedkiwによる手法などが近頃提案された(下記非特許文献2、3参照)。しかし、この手法は3次元空間内で流体における気相領域全体を解いているわけではなく、気相の影響も考慮に入れた飛沫のシミュレーションを行うのは非常に困難である。
【0005】
【非特許文献1】
J. F. O’Brien and J. K. Hodgins, Dynamic Simulation of Splashing Fluids, pages 198−205. Computer Animation
【0006】
【非特許文献2】
N. Foster and R. Fedkiw. Practical Animation of Liquids, pages 23−30. ACM SIGGRAPH 2001, 2001.
【0007】
【非特許文献3】
D. Enright, D. Marschner, R. Fedkiw, Animation and Rendering of Complex Water Surfaces, ACM SIGGRAPH 2002, 2002
【0008】
【発明が解決しようとする課題】
コンピュータグラフィックス分野(CG)において、流体がダイナミックな変形を生じながら飛沫を発生するなシーンをリアリスティックに表現する技術が求められている。このため、流体飛沫のみでは表現することが難しい、水煙のようなものとして観察される微小粒子で構成された飛沫を表現することが必要とされている。
【0009】
本発明は、かかる技術的課題を解決し、流体がダイナミックな変形を生じながら飛沫を発生するなシーンをリアリスティックに表現するための飛沫シミュレーション装置、方法、およびプログラムを提供することを目的とする。
【0010】
【課題を解決するための手段】
上記課題を解決するため、本発明に係る飛沫シミュレーション装置は、流体がダイナミックな変形を生じながら飛沫を発生するシーンをシミュレーションする飛沫シミュレーション装置において、時刻tにおける流体の速度、圧力、VOF(Volume Of Fluid)値から微小時間Δt後の時刻t+Δtにおける流体の速度、圧力、VOF値を計算する流体シミュレーション手段と、時刻tにおける飛沫粒子の位置、速度から微小時間Δt後の時刻t+Δtにおける飛沫粒子の位置、速度を計算する飛沫粒子シミュレーション手段と、時刻t+Δtにおける流体のVOF値に応じて新たな飛沫粒子を発生する飛沫粒子発生手段と、時刻tにおける飛沫煙の密度分布から、微小時間Δt後の時刻t+Δtにおける飛沫煙の密度分布を計算する飛沫煙シミュレーション手段と、時刻t+Δtにおける飛沫粒子の位置、ライフタイム、ならびに流体のVOF値に応じて新たな飛沫煙を発生する飛沫煙発生手段とを具備する。
【0011】
また、本発明は流体がダイナミックな変形を生じながら飛沫を発生するシーンをシミュレーションする飛沫シミュレーション方法において、時刻tにおける流体の速度、圧力、VOF(Volume Of Fluid)値から微小時間Δt後の時刻t+Δtにおける流体の速度、圧力、VOF値を計算する流体シミュレーションステップと、時刻tにおける飛沫粒子の位置、速度から微小時間Δt後の時刻t+Δtにおける飛沫粒子の位置、速度を計算する飛沫粒子シミュレーションステップと、時刻t+Δtにおける流体のVOF値に応じて新たな飛沫粒子を発生する飛沫粒子発生ステップと、時刻tにおける飛沫煙の密度分布から、微小時間Δt後の時刻t+Δtにおける飛沫煙の密度分布を計算する飛沫煙シミュレーションステップと、時刻t+Δtにおける飛沫粒子の位置、ライフタイム、ならびに流体のVOF値に応じて新たな飛沫煙を発生する飛沫煙発生ステップとを具備する。
【0012】
さらに、本発明は流体がダイナミックな変形を生じながら飛沫を発生するシーンをシミュレーションする飛沫シミュレーションプログラムにおいて、時刻tにおける流体の速度、圧力、VOF(Volume Of Fluid)値から微小時間Δt後の時刻t+Δtにおける流体の速度、圧力、VOF値を計算する流体シミュレーション手順と、時刻tにおける飛沫粒子の位置、速度から微小時間Δt後の時刻t+Δtにおける飛沫粒子の位置、速度を計算する飛沫粒子シミュレーション手順と、時刻t+Δtにおける流体のVOF値に応じて新たな飛沫粒子を発生する飛沫粒子発生ステップと、時刻tにおける飛沫煙の密度分布から、微小時間Δt後の時刻t+Δtにおける飛沫煙の密度分布を計算する飛沫煙シミュレーション手順と、時刻t+Δtにおける飛沫粒子の位置、ライフタイム、ならびに流体のVOF値に応じて新たな飛沫煙を発生する飛沫煙発生手順と、をコンピュータに実行させる飛沫シミュレーションプログラムを提供する。
【0013】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態を説明する。
【0014】
図1は本発明の一実施形態に係るシミュレーション装置の概略構成を示すブロック図である。本実施形態は、例えばパーソナルコンピュータ(PC)やエンジニアリング用ワークステーションなど、一般的なコンピュータを用いて実現することができる。その概略構成としては、例えば図1に示すように、演算装置1、入力装置2、表示装置3、および記録装置4を具備して成る。演算装置1は、図示しないがCPU、メモリ、システムバス等の基本的なコンピュータ・ハードウェア構成を有するとともに、ソフトウェア構成としてシミュレーション部11およびレンダリング部12を有する。これらはコンピュータプログラムとして実現することができる。同プログラムは記録装置4から読み出されてメモリにストアされ、CPUにより実行される。尚、シミュレーション部11およびレンダリング部12を、コンピュータプログラムではなくハードウェア回路そのものとして実施することもできる。
【0015】
入力装置2は、キーボードやポインティングデバイス等である。ユーザは入力装置2を用いて、シミュレーションに必要な各種データを入力したり、シミュレーション処理の実行開始を命ずるコマンド等を演算装置1に与えることができる。表示装置3は、CRTや液晶等の表示装置であり、演算装置1によるシミュレーション結果として生成されたシーンの画像を表示する。このような画像はコンピュータグラフィックス(CG)と称される。記録装置4は、ハードディスク装置や光磁気ディスク装置(MO)等からなり、上記プログラムの実行形式データ、ならびにシミュレーションに用いられる初期データや形状データ、またはシミュレーション結果の画像データ等を記録する。本実施形態に係るシミュレーション装置に、さらにプリンタ等の周辺機器を接続してもよい。
【0016】
図2はシミュレーション部の概略構成を示すブロック図である。
【0017】
シミュレーション部11は、時刻tにおける流体の速度、圧力、VOF値、および、時刻tにおける剛体の位置、姿勢、速度、角速度、形状データから、微小時間Δt後の時刻t+Δtにおける時刻tにおける流体の速度、圧力、VOF値、および、時刻t+Δtにおける剛体の位置、姿勢、速度、角速度を計算する流体、剛体の連携シミュレーション部110と、時刻tにおける飛沫粒子の位置、速度、および時刻t+Δtにおける流体の速度から、時刻t+Δtにおける流体飛沫の位置、速度を計算する飛沫粒子シミュレーション部111と、時刻t+Δtにおける流体のVOF値の空間的な分布、勾配から、時刻t+Δtにおける飛沫粒子の発生を計算する飛沫粒子発生部113と、時刻tにおける飛沫煙の密度分布および、時刻t+Δtにおける流体の速度から、時刻t+Δtにおける飛沫煙の密度分布を計算する飛沫煙シミュレーション部112と、時刻t+Δtにおける飛沫粒子の空間的な分布状況から、時刻t+Δtにおける飛沫煙の密度を増加させる飛沫煙発生部114を含む。
【0018】
図3はレンダリング部の概略構成を示すブロック図である。
【0019】
レンダリング部12は、光源の位置、視点の位置に応じ、光の反射、屈折、集光模様を考慮して流体および剛体を描画する流体、剛体レンダリング部120と、光の1次散乱の効果を含めて流体、剛体のレンダリング結果と整合するように飛沫粒子を描画する飛沫粒子レンダリング部と、光の1次散乱の効果を含めて流体、剛体、ならびに飛沫粒子のレンダリング結果と整合するように飛沫煙を描画する飛沫煙レンダリング部122を含む。
【0020】
上述したシミュレーション部11は、レンダリング部12により得られたレンダリング結果を表示装置3に出力する。
【0021】
図4は、飛沫の表現方法を説明するための図である。
【0022】
大きな飛沫については、飛沫粒子(パーティクル)40のみによる表現とし、人間が見ても粒子であることが判別できないような小さな飛沫については、ボリューメトリックな飛沫煙41を用いる。飛沫煙41は、飛沫密度をパラメータとして有する。図5は、飛沫煙の発生を示した図である。飛沫パーティクル50はそれが移動する毎に飛沫煙を発生するジェネレータであると考える。51は飛沫パーティクル50から新たに発生した飛沫煙である。また飛沫煙は、矢印52の方向に拡散し、いずれは消失する。このとき、流体の流速に応じて飛沫煙が流動する表現効果を加えると好ましい。
【0023】
以上のように構成された本実施形態の動作を説明する。図6は、本実施形態に係るシミュレーション装置の処理手順を示すフローチャートである。
【0024】
まず初期条件として、時刻tにおける流体のデータ(速度、圧力、VOF値)および剛体の剛体のデータ(位置、姿勢、速度、角速度、形状データ)を本装置に入力する(ステップS1)。
【0025】
時刻tにおける流体のデータ、および、剛体のデータから、以下の流体の運動方程式、剛体の運動方程式、および、剛体同士の衝突判定を行い、時刻t+Δtにおける流体のデータ(速度、圧力、VOF値)および剛体のデータ(位置、姿勢、速度、角速度)を求める(ステップS2)。ここで、流体の運動方程式としては、例えば以下が用いられる。
【0026】
【数1】
【0027】
u,p,ρはそれぞれ、流体の速度、圧力、密度であり、μは粘性係数である。また、fは流体の割合を表す関数であり、これをVOF(Volume Of Fluid)と表し、この関数が各流体格子において取る値をVOF値と表すことにする。ρ1,ρ2はそれぞれ、流体における液相、気相の密度である。これらの方程式を用いることによって、流体の液相、気相を同時に解くことができる。
【0028】
剛体については、一般的に知られている運動方程式を解く。また、流体の圧力が剛体へ及ぼす圧力は以下のように計算することができる(図7参照)。
【0029】
【数2】
【0030】
次に、時刻tにおける飛沫粒子の位置、速度から、時刻t+Δtにおける流体の速度を用いて、以下の運動方程式によって飛沫粒子の時刻t+Δtにおける位置、速度を求める(ステップS3)。ただし、時刻t+Δtにける飛沫粒子の位置は、時刻t+Δtにおける流体、剛体によって占められている空間位置を考慮に入れる必要がある。また、時刻t+Δtにおける飛沫粒子の経過時間(ライフタイム)は時刻tにおける値に対して、一定数を加算しておく。
【0031】
【数3】
【0032】
飛沫粒子は、所定のライフタイムに達したら消失させるため、ある一定のシミュレーション時間で消失することになる。
【0033】
次に、時刻t+Δtにおける新たな飛沫粒子の発生を求める(ステップS4)。時刻t+Δtにおける流体のVOF値の分布から、VOF値勾配を求め、液相と気相の間にある界面の曲率を計算し、曲率がある一定値を超えた場合に、飛沫粒子を発生させる。飛沫粒子には、発生させた空間位置における速度を初速度に設定する。また、発生させる飛沫粒子の数は、曲率によって調整を行う。
【0034】
次に、時刻tにおける飛沫煙の密度分布および、時刻t+Δtにおける流体の液相、気相速度から、以下の式に従って時刻t+Δtにおける飛沫煙の密度分布を計算する(ステップS5)。
【0035】
【数4】
【0036】
次に、時刻t+Δtにおける新たな飛沫煙の発生を求める(ステップS6)。これには、時刻t+Δtにおける、飛沫粒子の位置、経過時間(ライフタイム)から、例えば以下の式で求める。
【0037】
【数5】
【0038】
各流体シミュレーション格子における飛沫煙の密度は、各流体シミュレーション格子中に含まれ飛沫粒子の個数、それらのライフタイムから求める。ただし、Plife_timeは流体シミュレーション格子に含まれる飛沫粒子の生成からの経過時間(ライフタイム)を表し、f(Plife_time)はパーティクルのライフタイムが与えられると、シミュレーション単位時間あたりに発生する飛沫煙を与える関数である。
【0039】
飛沫粒子が生成時間から経過するほど、飛沫煙を発生する量が少なくなるような条件を与えるために、f(Plife_time)を次式のように表す。
【0040】
【数6】
【0041】
ただし、kmaxは1つの飛沫粒子から発生する飛沫煙の量を制限するための上限、lklife_timeは1つの飛沫粒子の後の経過時間に応じて発生させる飛沫煙の量を減衰させるためのパラメータである。
【0042】
以上説明した処理手順を所定のシミュレーション時間に達するまで繰り返す。これにより得られるシミュュレーション結果に基づいて、シミュレーション空間上での各物体および流体界面が占める位置における画像輝度値ならびにカラー値情報を求める。なお、剛体および流体のレンダリングにおいては、光源、視点の位置情報に応じて光の反射、屈折、集光模様などが考慮される。
【0043】
飛沫粒子については、光の1次散乱まで考慮する。各飛沫粒子はいわゆるビルボードテクスチャ(Billboard Texture)と呼ばれるテクスチャー画像として表示することができる。各飛沫粒子が光源から受け取る光量を、光源からの各粒子までの飛沫粒子の重なり具合を考慮に入れて求め、その値を各飛沫粒子が受け取る光の明るさとする。上記によって得られた光の明るさの情報と、視点から飛沫粒子までの距離をもとに、光の減衰効果を考慮に入れて各飛沫粒子が空間に占める位置における画像輝度値、カラー値情報を求める。また、飛沫煙についても、同様の手法を用いて、各飛沫煙が空間に占める位置における画像輝度値、カラー値情報を求める。
【0044】
以上により得られた結果を、表示装置3やプリンターなどの他の画像出力デバイスへ出力する。これにより、美しく、リアリスティックな飛沫を含んだ流体のシーン作成が可能となる。特に、飛沫煙を飛沫粒子とともに描画することにより、飛沫粒子の発生がまばらな場合に生じる見た目の不自然さを解消できる。このような本実施形態は何度も試行錯誤してシーンを作成するCG分野に好適であり、剛体を含むような複雑な流体の流れのシーンにおいても、リアルスティックな流体飛沫の発生を含む計算を十分に実用的な計算量で、自動的に作成することが可能になる。
【0045】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【0046】
また、実施形態では剛体と流体の連携シミュレーションについて説明したが、流体のみのシミュレーションにおいて飛沫煙を表示することでも本発明の効果を得ることができる。
【0047】
【発明の効果】
以上説明したように、本発明によれば、流体がダイナミックな変形を生じながら飛沫を発生するなシーンをリアリスティックに表現するための飛沫シミュレーション装置、方法、およびプログラムを提供できる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るシミュレーション装置の概略構成を示すブロック図
【図2】シミュレーション部の概略構成を示すブロック図
【図3】レンダリング部の概略構成を示すブロック図
【図4】飛沫の表現方法を説明するための図
【図5】飛沫煙の発生を示した図
【図6】上記実施形態に係るシミュレーション装置の処理手順を示すフローチャート
【図7】流体の圧力による並進力、トルクの計算を説明するための図
【符号の説明】
1…演算装置、2…入力装置、3…表示装置、4…記録装置、11…シミュレーション部、12…レンダリング部
Claims (7)
- 流体がダイナミックな変形を生じながら飛沫を発生するシーンをシミュレーションする飛沫シミュレーション装置において、
時刻tにおける流体の速度、圧力、VOF(Volume Of Fluid)値から微小時間Δt後の時刻t+Δtにおける流体の速度、圧力、VOF値を計算する流体シミュレーション手段と、
時刻tにおける飛沫粒子の位置、速度から微小時間Δt後の時刻t+Δtにおける飛沫粒子の位置、速度を計算する飛沫粒子シミュレーション手段と、
時刻t+Δtにおける流体のVOF値に応じて新たな飛沫粒子を発生する飛沫粒子発生手段と、
時刻tにおける飛沫煙の密度分布から、微小時間Δt後の時刻t+Δtにおける飛沫煙の密度分布を計算する飛沫煙シミュレーション手段と、
時刻t+Δtにおける飛沫粒子の位置、ライフタイム、ならびに流体のVOF値に応じて新たな飛沫煙を発生する飛沫煙発生手段と、
を具備する飛沫シミュレーション装置。 - 前記飛沫煙発生手段は、前記飛沫粒子の移動に伴って前記新たな飛沫煙を発生する請求項1に記載の飛沫シミュレーション装置。
- 前記飛沫煙シミュレーション手段は、時間の経過とともに前記飛沫煙が拡散するように前記密度分布値を更新する請求項1または2に記載の飛沫シミュレーション装置。
- 流体がダイナミックな変形を生じながら飛沫を発生するシーンをシミュレーションする飛沫シミュレーション方法において、
時刻tにおける流体の速度、圧力、VOF(Volume Of Fluid)値から微小時間Δt後の時刻t+Δtにおける流体の速度、圧力、VOF値を計算する流体シミュレーションステップと、
時刻tにおける飛沫粒子の位置、速度から微小時間Δt後の時刻t+Δtにおける飛沫粒子の位置、速度を計算する飛沫粒子シミュレーションステップと、
時刻t+Δtにおける流体のVOF値に応じて新たな飛沫粒子を発生する飛沫粒子発生ステップと、
時刻tにおける飛沫煙の密度分布から、微小時間Δt後の時刻t+Δtにおける飛沫煙の密度分布を計算する飛沫煙シミュレーションステップと、
時刻t+Δtにおける飛沫粒子の位置、ライフタイム、ならびに流体のVOF値に応じて新たな飛沫煙を発生する飛沫煙発生ステップと、
を具備する飛沫シミュレーション方法。 - 前記飛沫煙発生ステップにおいて、前記飛沫粒子の移動に伴い前記新たな飛沫煙が発生する請求項4に記載の飛沫シミュレーション方法。
- 前記飛沫煙シミュレーションステップにおいて、時間の経過とともに前記飛沫煙が拡散するように前記密度分布値が更新される請求項4または5に記載の飛沫シミュレーション方法。
- 流体がダイナミックな変形を生じながら飛沫を発生するシーンをシミュレーションする飛沫シミュレーションプログラムにおいて、
時刻tにおける流体の速度、圧力、VOF(Volume Of Fluid)値から微小時間Δt後の時刻t+Δtにおける流体の速度、圧力、VOF値を計算する流体シミュレーション手順と、
時刻tにおける飛沫粒子の位置、速度から微小時間Δt後の時刻t+Δtにおける飛沫粒子の位置、速度を計算する飛沫粒子シミュレーション手順と、
時刻t+Δtにおける流体のVOF値に応じて新たな飛沫粒子を発生する飛沫粒子発生ステップと、
時刻tにおける飛沫煙の密度分布から、微小時間Δt後の時刻t+Δtにおける飛沫煙の密度分布を計算する飛沫煙シミュレーション手順と、
時刻t+Δtにおける飛沫粒子の位置、ライフタイム、ならびに流体のVOF値に応じて新たな飛沫煙を発生する飛沫煙発生手順と、
をコンピュータに実行させる飛沫シミュレーションプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003209768A JP2005078121A (ja) | 2003-08-29 | 2003-08-29 | 流体の飛沫シミュレーション装置、方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003209768A JP2005078121A (ja) | 2003-08-29 | 2003-08-29 | 流体の飛沫シミュレーション装置、方法、およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005078121A true JP2005078121A (ja) | 2005-03-24 |
Family
ID=34402586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003209768A Pending JP2005078121A (ja) | 2003-08-29 | 2003-08-29 | 流体の飛沫シミュレーション装置、方法、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005078121A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100889601B1 (ko) | 2006-12-04 | 2009-03-20 | 한국전자통신연구원 | 물 파티클 데이터를 이용한 물결과 거품 표현 장치 및 방법 |
KR100898989B1 (ko) * | 2006-12-02 | 2009-05-25 | 한국전자통신연구원 | 물 표면의 포말 생성 및 표현 장치와 그 방법 |
KR100948159B1 (ko) | 2008-04-28 | 2010-03-19 | 인스티튜트 포 인포메이션 인더스트리 | 유체 렌더링 방법 |
KR20130091437A (ko) * | 2012-02-08 | 2013-08-19 | 삼성전자주식회사 | 유체 페인팅 효과를 제공하는 gui 제공 장치 및 그 제어 방법 |
CN107341849A (zh) * | 2017-07-12 | 2017-11-10 | 大连海事大学 | 一种快速实时烟雾模拟算法 |
-
2003
- 2003-08-29 JP JP2003209768A patent/JP2005078121A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100898989B1 (ko) * | 2006-12-02 | 2009-05-25 | 한국전자통신연구원 | 물 표면의 포말 생성 및 표현 장치와 그 방법 |
KR100889601B1 (ko) | 2006-12-04 | 2009-03-20 | 한국전자통신연구원 | 물 파티클 데이터를 이용한 물결과 거품 표현 장치 및 방법 |
KR100948159B1 (ko) | 2008-04-28 | 2010-03-19 | 인스티튜트 포 인포메이션 인더스트리 | 유체 렌더링 방법 |
KR20130091437A (ko) * | 2012-02-08 | 2013-08-19 | 삼성전자주식회사 | 유체 페인팅 효과를 제공하는 gui 제공 장치 및 그 제어 방법 |
KR101927069B1 (ko) | 2012-02-08 | 2018-12-11 | 삼성전자주식회사 | 유체 페인팅 효과를 제공하는 gui 제공 장치 및 그 제어 방법 |
CN107341849A (zh) * | 2017-07-12 | 2017-11-10 | 大连海事大学 | 一种快速实时烟雾模拟算法 |
CN107341849B (zh) * | 2017-07-12 | 2020-03-10 | 大连海事大学 | 一种快速实时烟雾模拟算法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Enright et al. | Animation and rendering of complex water surfaces | |
Moss et al. | Sounding liquids: Automatic sound synthesis from fluid simulation | |
US7983884B2 (en) | Water particle manipulation | |
JP2008033940A (ja) | ランタイム・コンピュータ・グラフィックス・アニメーション・エンジンにおけるメッシュ用変形データからスケルトン用アニメーション・データへの変換、スキニング、およびシェーディング | |
US9367956B2 (en) | Windowed simulation in fluid flows | |
Thürey et al. | Animation of open water phenomena with coupled shallow water and free surface simulations | |
TWI330793B (en) | Image generation device, image generation method, and information recording medium | |
KR100568563B1 (ko) | 입자동역학 해석기법과 볼륨렌더링 기법을 이용한 실시간 유체유동 시뮬레이션 및 렌더링 방법 | |
CN111047707B (zh) | 一种基于sph的混合粒子血液模型的流血仿真方法 | |
JP2008040800A (ja) | シミュレーション装置、シミュレーション方法、ならびに、プログラム | |
Kim et al. | Efficient representation of detailed foam waves by incorporating projective space | |
JP2005078121A (ja) | 流体の飛沫シミュレーション装置、方法、およびプログラム | |
KR100898989B1 (ko) | 물 표면의 포말 생성 및 표현 장치와 그 방법 | |
KR100779993B1 (ko) | 압력장에 제어값을 적용하는 유체 시뮬레이션 방법, 그기록 매체 및 그 장치 | |
CN105006009A (zh) | 一种2d水体模拟方法 | |
US9070220B2 (en) | Method of simulating clothing using long range attachments | |
García-Feal et al. | Advanced fluid visualization with DualSPHysics and Blender | |
JP2002222434A (ja) | ゲームシステム、プログラム及び情報記憶媒体 | |
KR100729149B1 (ko) | 제어가능한 다상 기체 시뮬레이션 방법, 그 기록 매체 및그 장치 | |
Wang et al. | Computer Aided Animation Art Design and Production Based on Virtual Reality Technology | |
KR20060066304A (ko) | 영상 콘텐츠 저작 장치 및 그 방법 | |
Inácio et al. | Interactive simulation and visualization of fluids with surface raycasting | |
Kim et al. | Retracted: Unified Framework for Efficient and Enriched Water Animation with Surface and Wave Foams | |
Vines et al. | Real-time haptic display of fluids | |
JP2002092639A (ja) | パーティクルの挙動を表示するアニメーション生成方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070417 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070618 |
|
A131 | Notification of reasons for refusal |
Effective date: 20071113 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080318 |