JP2003331208A - 流体シミュレーション装置、流体シミュレーション方法、プログラム - Google Patents
流体シミュレーション装置、流体シミュレーション方法、プログラムInfo
- Publication number
- JP2003331208A JP2003331208A JP2002133485A JP2002133485A JP2003331208A JP 2003331208 A JP2003331208 A JP 2003331208A JP 2002133485 A JP2002133485 A JP 2002133485A JP 2002133485 A JP2002133485 A JP 2002133485A JP 2003331208 A JP2003331208 A JP 2003331208A
- Authority
- JP
- Japan
- Prior art keywords
- fluid
- particle
- attribute
- particles
- calculation
- 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
Landscapes
- Processing Or Creating Images (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
舞いをリアルに計算可能な流体シミュレーション装置を
提供する。 【解決手段】 流体計算部102で流体を計算し、その
結果を利用して粒子計算部103で粒子を発生させてそ
の運動を計算する。粒子には飛沫や泡といった属性と生
存期限をパラメータとして持たせ、粒子計算部103で
は属性に応じた運動の計算を行い、流体中に移動した飛
沫は泡に変化させ、泡に対しては常に流体表面に存在す
るように位置補正を行う。また、生存期限が切れた飛沫
や泡は消滅させる。
Description
ュレートするシミュレータに関する。
方程式を用いて数値計算によるシミュレーションを行う
ことが多々ある。
とともに飛沫や泡が発生する。数値計算による流体の運
動のシミュレーションでもこれら飛沫や泡の発生を考慮
すれば、よりリアリティのあるシミュレーションを行う
ことができる。
D FEDKIW,R 2001.Practical
Animation of Liquids.In
Proceedings of ACM SIGGRA
PH 2001,ACM Press/ACM SIG
GRAPH,E.Fiume,Ed.,Compute
r Graphics Proceedings,An
nual Conference Series,AC
M,23−30.”では、流体全体の運動方程式を用い
て計算を行い、一定の条件で流体の表面から飛沫を発生
させている。
発生する泡を考慮していないという問題がある。
NIER,A.,AND REEVES,W.T.19
86.A Simple Method of Oce
anWaves.In Computer Graph
ics(Proceedings of ACM SI
GGRAPH 86),20(4),ACM,75−8
4.”がある。この手法では、流体表面の運動方程式を
用いて計算を行い、一定の条件で流体の表面から飛沫や
泡を発生させている。
程式を利用しているため、流体全体の運動方程式を用い
るのに比べると精度が劣る。また、現実の流体の運動で
は、泡は、例えば水しぶきが水中に飛び込む時に泡が発
生するように、飛沫が流体に到達して発生することが多
いが、この手法では飛沫を介在させずに流体から直接発
生する泡だけしか考慮していないという問題がある。
流体に到達すると消滅もしくは流体に吸収されるように
扱っている。そのため、飛沫が流体に到達して発生する
泡を考慮しておらず、泡の発生が十分にシミュレートで
きていなかった。
及び泡の発生そして運動を考慮した流体シミュレーショ
ン方法、装置を提供することを目的とする。
本発明の流体シミュレーション装置は、外部から境界条
件、初期条件を含む諸条件の入力を受ける入力部と、前
記入力部が受けた諸条件をもとに流体の運動を計算する
流体計算部と、前記流体計算部の計算結果に基づいて、
前記流体から放出される前記流体の断片である粒子を発
生させるとともに、既に発生した粒子の運動を計算する
粒子計算部と、前記流体計算部と前記粒子計算部の計算
結果に基づいて流体及び粒子を描画した画像を生成する
可視化部とを備え、前記粒子計算部は、新たに発生させ
る粒子に属性を持たせ、粒子の運動は属性に応じた計算
を行って求め、粒子の運動の計算結果に応じて粒子の属
性を変化させることを特徴とする。
は、前記粒子計算部は、新たに発生させる粒子に飛沫属
性あるいは泡属性を持たせ、粒子の現在の属性に応じた
運動方程式を用いて運動を計算し、運動の計算結果が所
定の条件を満たした飛沫属性の粒子を、泡属性に変更す
ることを特徴としても良い。
は、前記粒子計算部は、飛沫属性でかつ流体内部に存在
する粒子の属性を、泡属性に変更することを特徴として
も良い。
は、前記粒子計算部は、泡属性の粒子については、運動
の計算後に、流体表面に位置するように補正を行うこと
を特徴としても良い。
は、前記粒子計算部は、泡属性の粒子が存在する位置に
おける流体量の傾きを利用して流体表面の方向を特定
し、当該泡属性の粒子が流体表面に存在するように位置
の補正を行うことを特徴としても良い。
は、前記可視化部は、粒子発生後からの経過時間に応じ
て粒子の画像を変化させることを特徴としても良い。
は、前記可視化部は、粒子の属性に応じて粒子の画像を
変化させることを特徴としても良い。
部から境界条件や初期条件を含む諸条件の入力を受ける
入力ステップと、前記諸条件をもとに流体の運動を計算
する流体計算ステップと、前記流体計算ステップの計算
結果に基づいて新たに流体の断片たる粒子を発生させ、
既に存在する粒子の運動を計算する粒子計算ステップ
と、前記流体計算ステップと前記粒子計算ステップの計
算結果に基づいて流体及び粒子を描画した画像を生成す
る可視化ステップとを備え、前記粒子計算ステップで
は、粒子の属性に応じた計算を行い、計算結果に応じて
粒子の属性を変化させることを特徴とする。
は、前記粒子計算ステップでは、新たに発生させる粒子
に飛沫属性あるいは泡属性を持たせ、前記属性に応じた
運動方程式を用いて粒子の運動を計算し、運動の計算結
果が所定の条件を満たした飛沫属性の粒子を泡属性に変
更することを特徴としても良い。
は、前記粒子計算ステップは、飛沫属性でかつ流体内部
に存在する粒子の属性を、泡属性に変更することを特徴
としても良い。
は、前記粒子計算ステップでは、泡粒子の運動を計算し
た後に、泡属性の粒子が流体表面に位置するように補正
を行うことを特徴としても良い。
は、前記粒子計算ステップでは、泡属性の粒子が存在す
る位置における流体量の傾きを利用して流体表面の方向
を特定し、当該泡属性の粒子が流体表面に存在するよう
に位置の補正を行うことを特徴としても良い。
は、前記可視化ステップでは、粒子の属性に応じて粒子
の画像を変化させることを特徴としても良い。
外部から初期条件や境界条件を含む諸条件の入力を受け
る入力ステップと、前記諸条件をもとに流体の運動を計
算する流体計算ステップと、既に流体から放出された流
体の断片である粒子の運動を計算し、所定の条件を満た
した粒子の属性を変更するとともに粒子の属性に応じた
位置補正処理を行う粒子位置計算ステップと、前記流体
計算ステップの計算結果に基づいて新たに粒子を発生さ
せる粒子発生ステップと、粒子の属性と粒子の位置が所
定の条件を満たした粒子を消滅させる粒子消滅ステップ
と、流体及び粒子を描画した画像を生成する可視化ステ
ップと、画像を表示する表示ステップとを実行させる。
生ステップでは、飛沫属性若しくは泡属性の粒子を発生
させることを特徴としても良い。
置計算ステップでは、流体内部に存在する飛沫属性の粒
子を泡属性に変更することを特徴としても良い。
ステップでは、粒子の属性に応じて粒子の画像を変化さ
せることを特徴としても良い。
一実施形態について説明する。
の流体シミュレーションシステムのプログラムの構成を
説明する図である。本実施形態の流体シミュレーション
システムのプログラムは図11に示すような、中央演算
装置1101、磁気ディスク1102や光ディスク11
03などの記憶装置、入力装置1107及びこれの入力
を受ける入力受付部1104、メモリ1105、LCD
やCRT等の表示装置1108及びこれに画像を出力す
る画像出力部1106を備えたコンピュータで実行され
る。
ムは、例えば海のように波やうねりによって水からしぶ
きが発生する状態をシミュレートして画像を得るのに適
している。また、前述の水の波やうねりに加えて、木が
水に浮かんでいる状態や岩等の物体が水の流れを妨げる
障害物として存在するような状態を、木や岩を固定され
た或いは移動可能な剛体として扱ったシミュレーション
により画像を得るのにも適している。
気等の気体で満たされているという想定で説明を行う。
ムは、ユーザからシミュレーションを行うのに必要なデ
ータの入力を受ける入力部101と、入力されたデータ
に基づいて流体の運動を順次計算する流体計算部102
とを有する。
システムは、流体計算部102の計算結果に基づいて、
飛沫や泡(これらをまとめて粒子と呼ぶ)を発生させ、
発生した粒子の運動を表す数値データを順次計算する粒
子計算部103と、流体計算部102及び粒子計算部1
03の計算結果から画像データを生成する可視化部10
4と、画像をCRTやLCD等に表示する表示部107
とを有する。
す画像を生成する流体可視化部105と、粒子の分布を
表す画像を生成する粒子可視化部106とを有する。
ュレーションシステムのプログラム各部が扱い、メモリ
に記憶させるデータ(以下、共有データ)を説明する。
共有データはプログラム各部が自由に参照できる。
と、入力データを参照して流体の運動を計算した結果
と、計算結果から検出した流体表面の位置を含む。
結果及び流体表面の位置を参照して発生させた各粒子の
状態を表す情報と、粒子及び流体を描画した画像データ
を含む。
各データについて説明する。
ョンを行うのに必要な、流体の性質、初期条件、境界条
件、計算条件等が含まれる。ここで、流体の性質とは、
例えば流体の粘性や流体の密度等の情報であり、初期条
件とは流体の初期速度や初期の分布、シミュレーション
対象空間の範囲(例えば、水槽の中の流体の運動ならば
水槽の壁の位置や、前述のように剛体が存在する場合は
剛体の位置及び大きさ)等の情報である。
や、空気の流速(風速)や圧力などの条件である。そし
て、計算条件とは、空気抵抗の大きさや許容誤差やシミ
ュレーションの対象空間をどれくらいの大きさ格子で区
切って計算するかという情報である。
てシミュレーションの対象空間を格子で区切った1区画
であるセル毎に行う。計算結果はセル単位で生成され、
セル内部における位置、速度(流速)、流体量、剛体量
などの情報が含まれる。
割合を表す量であるVOF(Volume Of Fl
uid)で表現する。VOF=1のセルはセル内部が流
体で満たされた状態を表し、VOF=0のセルはセル内
部に流体が全く存在しない(空気で満たされている)状
態を表す。VOFが0と1の間の中間値を取るセルは、
セル内部に当該中間値に対応する量の流体が存在してい
る(例えば、水と空気が混ざっている)状態を表す。
合を表す量であるVOS(Volume Of Sol
id)で表現する。VOS=1のセルはセル内部が剛体
で満たされた状態を表し、VOS=0のセルはセル内部
に剛体が全く存在しない状態を表す。VOSが0と1の
間の中間値を取るセルは、セル内部に当該中間値に対応
する量の剛体が存在していることを表す。
VOFが後述する条件を満たした流体中の点を流体表面
と見做し、これらの点の位置をデータとする。
粒子の速度、粒子の属性、生存期限、質量等を含む。
るORIGIN属性、粒子が飛沫であることを表すSP
LASH属性、粒子が泡であることを表すFOAM属
性、粒子が消滅対象であることを表すVANISH属性
の4つを用いる。
はSPLASH属性の粒子と同じで飛沫であるものとす
るが、シミュレーションの性質に応じていきなり泡を発
生させたり、あるいはORIGIN属性をORIGIN
−SPLASH属性、ORIGIN−FOAM属性の2
つに分けて飛沫と泡の両方を発生させても構わない。飛
沫と泡の両方を発生させる場合は、ORIGIN属性を
属性データとしてでなく別のデータ(例えばORIGI
Nフラグ等)として扱っても良い。あるいは、ORIG
IN属性の粒子を流体中に発生させ、FOAM属性の粒
子と同じ運動方程式を適用して移動させて(ただし、後
述する補正は行わない)、流体外部に移動したもののみ
をSPLASH属性に変更させるようにしても構わな
い。
り、生存期限が0になった粒子は消滅対象となる。
画したデータと、飛沫属性の粒子を描画したデータと、
これらを合成したデータがある。
期条件及び各セルのデータを参照して、セル毎にNav
ier−Stokes方程式に基づいて流体量や流速な
どの計算を行い、シミュレーション対象空間内の全ての
セルについて1ステップの計算を終えたら、流体表面を
検出し、セルのデータと流体表面に関するデータをメモ
リに記憶させる。
を検出してこれらを結んだ曲線(3次元シミュレーショ
ンならば曲面)を、流体表面として検出する。具体的な
検出方法の一例を挙げると、各セルのVOFをそのセル
の中心点における値と見做し、VOFの傾きから流体各
点のVOFを補間する方法が考えられる。尚、以後の処
理ではVOFが0.5より大きい場合は流体内部、小さ
い場合は流体外部(以後、気相と呼ぶ)と呼ぶ。
の運動に伴って既に発生した飛沫や泡などの粒子の運動
を入力データを参照して計算するとともに、流体計算部
102の計算結果を参照して新たに粒子を発生させる。
そして、既存の粒子については計算結果に基づいてメモ
リ上のデータを更新し、新規の粒子については粒子の情
報をメモリに記憶させる。
3の構成を説明する図である。
づいて粒子の運動を計算する粒子位置計算部200と、
流体から新たな粒子を発生させる粒子生成部204と、
所定の消滅条件を満たした粒子を消滅させる粒子消滅部
205とを有する。
動方程式に基づいて各粒子の位置を計算して粒子の位置
データを更新する粒子位置更新部201と、更新後の粒
子の位置から粒子の属性を更新する粒子属性更新部20
2と、粒子位置補正部203とを有する。
計算部200における処理を説明するフローチャートで
ある。
参照して既に発生した粒子の運動を計算を行い、各粒子
のメモリ上のデータを更新する。
存在するかをチェックする(ステップ301)。全ての
粒子について位置の計算が完了している場合は、粒子位
置計算部200における処理を終了する(ステップ30
2)。
場合は、まず、粒子の位置を計算して位置や速度のパラ
メータを更新し(ステップ303)、粒子の生存期限を
1減らすとともに、位置、生存期限、属性に基づいて後
述するように属性の更新を行う(ステップ304)。更
新後の粒子の位置が剛体の内部である場合は、後述する
ようにして粒子の位置の補正を行う(ステップ30
5)。
06)、属性がSPLASH若しくはVANISHの場
合には当該粒子については処理を終了し、ステップ30
1で他に計算すべき粒子が存在するかをチェックする。
属性が”FOAM”である場合には、当該粒子が流体表
面に存在するように位置の補正を行ってから(ステップ
307)、ステップ301を実行する。
ちらを先に実行しても良い。ステップ305を先に実行
する場合は、粒子位置計算部200の構成を次のように
変更する。
正部203を接続し、粒子属性更新部202は粒子位置
補正部203の後段かつ前段になるように接続する。そ
して、粒子位置更新部201による粒子の移動、粒子位
置補正部203による粒子の位置補正、粒子属性更新部
202による粒子の属性更新、粒子位置補正部203に
よる泡の位置補正の順に処理が行われるようにする。
じた運動方程式を適用して移動先の位置を計算する。
粒子、すなわち飛沫は発生地点における気相の速度を初
期速度として与えられ、その後の位置はこれらの式を用
いて算出する。
重力の影響は無視できるほど微小であるので、これらの
式を用いて位置を算出する。
ップ304の粒子の属性更新処理による属性変化を説明
する図である。この処理は粒子属性更新部202におい
て実行される。粒子属性更新部202は入力データ及び
メモリ上の各粒子の情報を参照して属性情報の変更の必
要性を判定し、変更が生じる粒子についてはメモリ上の
属性情報を更新する。
つある。各粒子はこのうちの一つの属性が与えられ、こ
の属性は粒子の運動やステップ304の属性更新処理に
よって変化していく。
流体中に存在する場合若しくはシミュレーション範囲外
に存在する場合にはVANISH属性になり、気相に存
在する場合はSPLASH属性になる。
流体中に存在する場合はFOAM属性になり、流体外に
存在する場合はSPLASH属性のままである。ただ
し、生存期限を1減らした際に0になった場合若しくは
位置更新後にシミュレーション範囲外に存在する場合に
はVANISH属性になる。
する際には、生存期限が新たに与えられる。この時、生
存期限を乱数値を利用して適宜分散させると、同時に発
生した泡が一斉に消滅しにくくなり、よりリアルなシミ
ュレーションが可能となる。
した際に0より大きい場合はFOAM属性のままであ
り、0になった場合若しくは位置更新後にシミュレーシ
ョン範囲外に存在する場合にはVANISH属性にな
る。
内に移動した粒子を剛体外に移動させるのが位置補正処
理を施す目的である。図5はステップ305の粒子の位
置補正処理の概要を説明する図である。位置補正処理は
粒子位置補正部203で実行される処理で、粒子位置補
正部203は粒子の位置を参照して、粒子の位置の補正
の必要性を判断し、必要な場合は位置の補正を行う。
剛体である。そして、粒子502は位置更新前の粒子
で、粒子503は位置更新後の粒子502である。
3の位置に移動する。粒子503の位置は剛体501内
部であるので、なるべく剛体外部に近い方向へ少し移動
させる。一回の移動で剛体外部に出ない場合は移動を繰
り返し、所定回数繰り返しても剛体外部へ出ない場合は
補正不能としてVANISH属性を付与する。
を検出してこれらを結んだ曲線(3次元シミュレーショ
ンならば曲面)を、剛体表面として検出する。具体的な
検出方法の一例を挙げると、各セルのVOSをそのセル
の中心点における値と見做し、VOSの傾きからシミュ
レーションの対象空間各点のVOSを補間する方法が考
えられる。尚、以後の処理ではVOSが0.5より大き
い場合は剛体内部、小さい場合は剛体外部と呼ぶ。
剛体内部と判定し、▽VOSの逆方向を「剛体外部に近
い方向」とする。さらに、一回の移動ではセル0.1個
分移動し、20回繰り返しても剛体外部へ出ない場合は
補正不能とする。ただし、剛体内外の判定基準となるV
OSの閾値、一回の移動距離、最大補正回数の値は適宜
変更して構わない。
場合はこのように定義される。
ーチャートである。
わち粒子が存在する位置のVOSが0.5以下であるか
を調べる(ステップ601)。この条件を満たす場合は
補正不要であるから、処理を終了する(ステップ60
2)。
るから、補正回数を数えるカウンタを初期化して0をセ
ットするとともに、▽VOSを計算して補正時の移動方
向である補正方向を求める(ステップ603)。
0.1個分だけ移動し(ステップ604)、剛体外部に
出たかを調べる(ステップ605)。
処理を終了する(ステップ602)。
は、補正回数カウンタの値が20未満であるかを調べて
(ステップ606)、20未満の場合再度補正を試みる
(ステップ604)。20以上の場合は補正失敗として
当該粒子にVANISH属性を付与し(ステップ60
7)、処理を終了する(ステップ602)。
ASH属性の粒子である飛沫は流体中に移動するとFO
AM属性の粒子である泡になる。ここでいう泡は、流体
中の気泡の類ではなく流体表面に存在するものである。
流体中若しくは流体表面より上に存在するFOAM属性
の粒子を流体表面まで移動させるのがこの処理の目的で
ある。
の概要を説明する図である。
において行われる。粒子位置補正部203は前述の粒子
位置補正処理終了後、泡についてのみ、この泡の位置補
正処理を行う。粒子位置補正部203は粒子の情報と流
体の情報を参照し、泡について補正の必要性を判定し
て、補正が必要な泡についてのみ位置補正を行う。
いずれもFOAM属性の粒子で、位置更新後に流体中に
移動したものである。位置補正の対象となる泡は、各粒
子の存在地点から、その地点における▽VOFの逆方向
に存在する流体表面までの距離が上限以下の粒子であ
る。▽VOFはVOFの勾配であり、数3と同様に定義
される。
ているので補正不能としてVANISH属性が付与され
る。一方、粒子703は水面までの距離が上限以下なの
で、その粒子の存在地点における▽VOFの逆方向にあ
る水面に移動して補正する。
チャートである。
VOFを計算して水面の方向を決定し、水面までの距離
を求める(ステップ801)。そして、求めた水面まで
の距離が上限を超えているかを調べる(ステップ80
2)。
不能であるから、VANISH属性を付与し(ステップ
803)、処理を終了する(ステップ804)。
は、水面までの距離が所定の閾値より小さいか、すなわ
ち、水面までの距離が十分に近くて粒子が水面上に存在
するとみなせるかを調べる(ステップ805)。
で、粒子を水面まで移動させて(ステップ806)、処
理を終了する(ステップ804)。
ので(ステップ807)、そのまま処理を終了する(ス
テップ804)。
いて水面の方向を決めたが、これに限らず重力の逆方向
や、シミュレーションの対象空間のZ軸方向で水面の方
向を決定しても良い。
同様に一回につき所定距離ずつ移動し、移動し過ぎた場
合は逆方向に所定距離の半分だけ戻すという補正を水面
との距離が所定の閾値以下あるいはVOFが所定の範囲
になるまで行っても良い。この場合、補正回数が所定回
数を超えた場合は補正不能とする。
は、流体計算部102で計算された流体表面のデータを
解析して、飛沫を発生させる。
体表面の曲率κを次式を用いて計算し、計算した曲率κ
が所定の閾値を超えた場合に、曲率に応じた数の粒子を
発生させる。
えた地点を中心とするガウス分布に従うようにする。ま
た、発生させた粒子に与える生存期限の値は、乱数を利
用してある程度分散させておき、粒子の生存期限が一斉
に切れるのを防ぐ。
分布など他の確率分布に従っても良いし、あるいは一定
のパターンに従って発生させても良い。
定の閾値を超えた場合に粒子を発生させていたが、流体
の流速に応じて発生させる方法も考えられる。
いるが、泡を発生させても構わない。
は、粒子計算部200でVANISH属性を付与された
粒子及び粒子発生部204で新たに発生した粒子のうち
所定の条件を満たした粒子を消滅させる。
フローチャートである。
(ステップ901)、VANISH属性ならばその粒子
を消滅させる(ステップ902)。
の存在する位置がシミュレーションの対象空間内に存在
するかを調べ(ステップ903)、シミュレーションの
対象空間外に位置するならばその粒子を消滅させる(ス
テップ904)。
在するならば、粒子がORIGIN属性かを調べ(ステ
ップ905)、ORIGIN属性でなければその粒子を
生存させる(ステップ906)。
置が流体中かを調べ(ステップ907)、流体中に位置
するならばその粒子を消滅させる(ステップ902)。
を生存させる(ステップ906)。
SPLASH属性若しくはFOAM属性の粒子について
は、シミュレーションの対象空間内に存在することが生
存条件であり、(2)ORIGIN属性の粒子について
は、シミュレーションの対象空間内に存在し、かつ、流
体外部に存在することが生存条件となる。
体及び粒子の運動の1ステップ毎の計算結果を表す画像
を順次生成して表示部107へ出力する。可視化部10
4は図1に示すように流体可視化部105と粒子可視化
部106とを有する。
流体1004を描画した画像1001と、飛沫1008
を描画した画像1002を生成して表示部107へ出力
する。
の計算結果に基づいて流体1002を画像1001に描
画してメモリに記憶させる。
の計算結果に基づいて飛沫1008と泡1006を描画
してメモリに記憶させる。
め、画像1001に描画すると処理速度が遅くなる。そ
こで、画像1002に描画して画像1001と合成す
る。飛沫1008で実際に描画するのは飛沫画像100
7の部分になるが、飛沫1008の大きさは質量に応じ
て変えるので、それに伴って飛沫画像1007も伸縮す
る。また、飛沫画像1007は飛沫の速度に応じて色や
形状を変えるようにする。
在せず、一般に飛沫1008に比べるとゆっくりと動く
ので、画像1001に直接描画する。泡1006で実際
に描画するのは泡画像1005の部分になるが、泡10
06の大きさは生存期限の残りに応じて変えるので、そ
れに伴って泡画像1005も伸縮させる。また、周囲の
泡を数えて泡の密度を求めておき、泡画像1005は泡
の密度に比例させて色のRGB値を変化させる。これに
よりリアルな泡消失効果を表現できる。
れる2枚の画像1001と画像1002を表示部107
に出力する。
を透明にして画像1001に重ね合わせて画像1003
を生成して、画像1003を前述の通りLCDやCRT
等に表示する。
伴って発生する飛沫や泡等の粒子の運動のみならず、粒
子の属性変化もシミュレートすることができるので、リ
アルなシミュレーションを実行することができる。
システムの構成を説明する図。
図。
説明するフローチャート。
る図。
るフローチャート。
図。
フローチャート。
ローチャート。
う画像について説明する図。
ンシステムのプログラムを動作させるためのコンピュー
タの構成を説明する図。
Claims (17)
- 【請求項1】外部から境界条件、初期条件を含む諸条件
の入力を受ける入力部と、前記入力部が受けた諸条件を
もとに流体の運動を計算する流体計算部と、前記流体計
算部の計算結果に基づいて、前記流体から放出される前
記流体の断片である粒子を発生させるとともに、既に発
生した粒子の運動を計算する粒子計算部と、前記流体計
算部と前記粒子計算部の計算結果に基づいて流体及び粒
子を描画した画像を生成する可視化部とを備え、前記粒
子計算部は、新たに発生させる粒子に属性を持たせ、粒
子の運動は属性に応じた計算を行って求め、粒子の運動
の計算結果に応じて粒子の属性を変化させることを特徴
とする流体シミュレーション装置。 - 【請求項2】前記粒子計算部は、新たに発生させる粒子
に飛沫属性あるいは泡属性を持たせ、粒子の現在の属性
に応じた運動方程式を用いて運動を計算し、運動の計算
結果が所定の条件を満たした飛沫属性の粒子を、泡属性
に変更することを特徴とする請求項1記載の流体シミュ
レーション装置。 - 【請求項3】前記粒子計算部は、飛沫属性でかつ流体内
部に存在する粒子の属性を、泡属性に変更することを特
徴とする請求項2記載の流体シミュレーション装置。 - 【請求項4】前記粒子計算部は、泡属性の粒子について
は、運動の計算後に、流体表面に位置するように補正を
行うことを特徴とする請求項2乃至請求項3記載の流体
シミュレーション装置。 - 【請求項5】前記粒子計算部は、泡属性の粒子が存在す
る位置における流体量の傾きを利用して流体表面の方向
を特定し、当該泡属性の粒子が流体表面に存在するよう
に位置の補正を行うことを特徴とする請求項4記載の流
体シミュレーション装置。 - 【請求項6】前記可視化部は、粒子発生後からの経過時
間に応じて粒子の画像を変化させることを特徴とする請
求項1乃至請求項5記載の流体シミュレーション装置。 - 【請求項7】前記可視化部は、粒子の属性に応じて粒子
の画像を変化させることを特徴とする請求項1乃至請求
項6記載の流体シミュレーション装置。 - 【請求項8】外部から境界条件や初期条件を含む諸条件
の入力を受ける入力ステップと、前記諸条件をもとに流
体の運動を計算する流体計算ステップと、前記流体計算
ステップの計算結果に基づいて新たに流体の断片たる粒
子を発生させ、既に存在する粒子の運動を計算する粒子
計算ステップと、前記流体計算ステップと前記粒子計算
ステップの計算結果に基づいて流体及び粒子を描画した
画像を生成する可視化ステップとを備え、前記粒子計算
ステップでは、粒子の属性に応じた計算を行い、計算結
果に応じて粒子の属性を変化させることを特徴とする流
体シミュレーション方法。 - 【請求項9】前記粒子計算ステップでは、新たに発生さ
せる粒子に飛沫属性あるいは泡属性を持たせ、前記属性
に応じた運動方程式を用いて粒子の運動を計算し、運動
の計算結果が所定の条件を満たした飛沫属性の粒子を泡
属性に変更することを特徴とする請求項8記載の流体シ
ミュレーション方法。 - 【請求項10】前記粒子計算ステップは、飛沫属性でか
つ流体内部に存在する粒子の属性を、泡属性に変更する
ことを特徴とする請求項9記載の流体シミュレーション
装置。 - 【請求項11】前記粒子計算ステップでは、泡粒子の運
動を計算した後に、泡属性の粒子が流体表面に位置する
ように補正を行うことを特徴とする請求項10記載の流
体シミュレーション方法。 - 【請求項12】前記粒子計算ステップでは、泡属性の粒
子が存在する位置における流体量の傾きを利用して流体
表面の方向を特定し、当該泡属性の粒子が流体表面に存
在するように位置の補正を行うことを特徴とする請求項
11記載の流体シミュレーション方法。 - 【請求項13】前記可視化ステップでは、粒子の属性に
応じて粒子の画像を変化させることを特徴とする請求項
8乃至請求項12記載の流体シミュレーション方法。 - 【請求項14】コンピュータに、外部から初期条件や境
界条件を含む諸条件の入力を受ける入力ステップと、前
記諸条件をもとに流体の運動を計算する流体計算ステッ
プと、既に流体から放出された流体の断片である粒子の
運動を計算し、所定の条件を満たした粒子の属性を変更
するとともに粒子の属性に応じた位置補正処理を行う粒
子位置計算ステップと、前記流体計算ステップの計算結
果に基づいて新たに粒子を発生させる粒子発生ステップ
と、粒子の属性と粒子の位置が所定の条件を満たした粒
子を消滅させる粒子消滅ステップと、流体及び粒子を描
画した画像を生成する可視化ステップと、画像を表示す
る表示ステップとを実行させるプログラム。 - 【請求項15】前記粒子発生ステップでは、飛沫属性若
しくは泡属性の粒子を発生させることを特徴とする請求
項14記載のプログラム。 - 【請求項16】前記粒子位置計算ステップでは、流体内
部に存在する飛沫属性の粒子を泡属性に変更することを
特徴とする請求項15記載のプログラム。 - 【請求項17】前記可視化ステップでは、粒子の属性に
応じて粒子の画像を変化させることを特徴とする請求項
14乃至請求項16記載のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002133485A JP2003331208A (ja) | 2002-05-09 | 2002-05-09 | 流体シミュレーション装置、流体シミュレーション方法、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002133485A JP2003331208A (ja) | 2002-05-09 | 2002-05-09 | 流体シミュレーション装置、流体シミュレーション方法、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003331208A true JP2003331208A (ja) | 2003-11-21 |
Family
ID=29696451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002133485A Pending JP2003331208A (ja) | 2002-05-09 | 2002-05-09 | 流体シミュレーション装置、流体シミュレーション方法、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2003331208A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100889601B1 (ko) * | 2006-12-04 | 2009-03-20 | 한국전자통신연구원 | 물 파티클 데이터를 이용한 물결과 거품 표현 장치 및 방법 |
KR100898989B1 (ko) | 2006-12-02 | 2009-05-25 | 한국전자통신연구원 | 물 표면의 포말 생성 및 표현 장치와 그 방법 |
JP2012159948A (ja) * | 2011-01-31 | 2012-08-23 | Internatl Business Mach Corp <Ibm> | 粒子法における自由表面に位置する粒子の正確な判定 |
KR101671365B1 (ko) * | 2015-05-11 | 2016-11-01 | 동서대학교 산학협력단 | 유사 액체화 포인트 군의 색상혼합 구현방법 |
CN111967082A (zh) * | 2020-08-21 | 2020-11-20 | 中国海洋大学 | 一种波浪对结构物作用的模拟分析方法 |
WO2023103682A1 (zh) * | 2021-12-10 | 2023-06-15 | 北京字跳网络技术有限公司 | 图像处理方法、装置、设备及介质 |
-
2002
- 2002-05-09 JP JP2002133485A patent/JP2003331208A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100898989B1 (ko) | 2006-12-02 | 2009-05-25 | 한국전자통신연구원 | 물 표면의 포말 생성 및 표현 장치와 그 방법 |
KR100889601B1 (ko) * | 2006-12-04 | 2009-03-20 | 한국전자통신연구원 | 물 파티클 데이터를 이용한 물결과 거품 표현 장치 및 방법 |
JP2012159948A (ja) * | 2011-01-31 | 2012-08-23 | Internatl Business Mach Corp <Ibm> | 粒子法における自由表面に位置する粒子の正確な判定 |
US8935135B2 (en) | 2011-01-31 | 2015-01-13 | International Business Machines Corporation | Accurate determination of particle positioned on free surface in particle method |
US8949086B2 (en) | 2011-01-31 | 2015-02-03 | International Business Machines Corporation | Accurate determination of particle positioned on free surface in particle method |
KR101671365B1 (ko) * | 2015-05-11 | 2016-11-01 | 동서대학교 산학협력단 | 유사 액체화 포인트 군의 색상혼합 구현방법 |
CN111967082A (zh) * | 2020-08-21 | 2020-11-20 | 中国海洋大学 | 一种波浪对结构物作用的模拟分析方法 |
CN111967082B (zh) * | 2020-08-21 | 2023-12-26 | 中国海洋大学 | 一种波浪对结构物作用的模拟分析方法 |
WO2023103682A1 (zh) * | 2021-12-10 | 2023-06-15 | 北京字跳网络技术有限公司 | 图像处理方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008033940A (ja) | ランタイム・コンピュータ・グラフィックス・アニメーション・エンジンにおけるメッシュ用変形データからスケルトン用アニメーション・データへの変換、スキニング、およびシェーディング | |
KR101525054B1 (ko) | 3차원 메쉬 데이터 간략화 방법 및 장치 | |
US9367956B2 (en) | Windowed simulation in fluid flows | |
US20080319722A1 (en) | Water Particle Manipulation | |
CN112652044A (zh) | 粒子特效渲染方法、装置、设备及存储介质 | |
KR101023996B1 (ko) | 입자법에 기초한 유체 시뮬레이션의 표면 구축 방법, 및 그 프로그램을 저장한 기억 매체 | |
JP2008530595A (ja) | 地形モデル化のためのデジタル標高モデル(dem)を向上させる方法および装置 | |
CN107220372B (zh) | 一种三维地图线要素注记自动放置方法 | |
CN103729555A (zh) | 一种模拟血流与血管壁作用的方法和装置 | |
US11704841B2 (en) | Apparatus for estimating sameness of point cloud data and system for estimating sameness of point cloud data | |
JP2003331208A (ja) | 流体シミュレーション装置、流体シミュレーション方法、プログラム | |
KR100898989B1 (ko) | 물 표면의 포말 생성 및 표현 장치와 그 방법 | |
US6670954B2 (en) | Three-dimensional skeleton data error absorbing apparatus | |
JP3483967B2 (ja) | 雲状現象可視化装置 | |
CN115953541A (zh) | 一种四叉树lod地形生成方法、装置、设备及存储介质 | |
JP4914004B2 (ja) | 変形した素材に関連する機構をモデリングするためのコンピュータ化された方法、ソフトウェアプログラムおよびシステム | |
KR20120110439A (ko) | 거품 파티클 생성 장치 및 거품 파티클 생성 방법 | |
JP2005078121A (ja) | 流体の飛沫シミュレーション装置、方法、およびプログラム | |
KR100705417B1 (ko) | 물체 표면의 젖음과 마름 표현 장치 및 방법 | |
US6961062B2 (en) | Image processing system, image processing method, computer program, recording medium, and semiconductor device | |
JP4144731B2 (ja) | グラフィックス・モデルのためのレンダリング要素を動的に生成するための方法 | |
CN113673140B (zh) | 一种气压作用下的流体粒子实时交互视觉仿真方法 | |
US9245379B2 (en) | Continuum based model for position based dynamics | |
JPH08221471A (ja) | メッシュ構造モデルの重なり回避表示方法及びシミュレーション装置 | |
CN111369441B (zh) | 文字处理方法、介质、设备及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050207 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050415 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050606 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070807 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071004 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071026 |