説明

物体変形処理方法

【目的】 コンピュータグラフィックスで弾性物体の移動しながらの弾性変形表現を可能にする。
【構成】 物体初期形状と属性情報、初期流速条件、境界条件などを入力した後(ステップ10,11)、あらかじめ定めた処理時間に達するまでステップ12〜19を繰り返す。ステップ12では、物体が移動する流体のn時刻の流速値を算出する。流体場は離散値系である。物体は複数の格子点で表現する。ステップ13では、各格子点の移動速度を算出する。ステップ14,15では、各格子点の座標値と弾性力を、値が収束するまで補正する。ステップ16では、各格子点の合力を求め、ステップ17では、それの流速場へ作用する外部力を求める。そして、ステップ18でn+1時刻の流体場を算出し、これを用いて、ステップ19でn+1時刻の各格子点の座標値を算出する。

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、数値シミュレーションやコンピューターグラフィックスの分野において、数理物理的な要因による物体の弾性的な変形を簡便に表示する物体変形処理方法に関する。
【0002】
【従来の技術】自然界の様々な無生物や生物などはそれぞれ固有の属性をもっている。粒子の集合体となっているような吹雪、土砂くずれ、血管中の赤血球・白血球等は個々の粒子が変形しながら、しかも衝突を繰り返しながら全体として大きな流れのパターンを形成している。これらの現象を実験装置を作成してその挙動パターンを解析することは必ずしも容易なことではない。よって数値シミュレーションに基づいた解析方法をとることが重要である。このとき数値計算により求められた膨大なデータを直感性のある表示方法で表現することも重要な課題となっており、近年ビジュアラゼーシュンとして注目されている。これはコンピューターグラフィックスの枠組となっている。
【0003】上述したような赤血球等は、弾性的属性を与えたモデリングが必要である。従来、数値計算においては、有限要素法が広く用いられている。その多くは、図4に示すような座標系が用いられている。即ち、赤血球のように変形する対象物は、固定した座標系41に置かれ、その周りを血流といった変形を引き起こす対象の座標系42がもう一つ存在する。ちょうど、これは飛行機の翼の風の流れを風洞実験で行うのと同様の座標設定である。この座標系上で、流体に関しての境界条件と初期条件が与えられて、時間的な流体の動態変化と、弾性体の変形が算出される。これにより、実際の流体と弾性体との力学的な相互作用を推察できる。
【0004】
【発明が解決しようとする課題】上記従来方法は、変形する弾性体は固定した座標系に置かれており、移動しながらの変形シミュレーションとなっていない。また、変形そのものの程度はいわゆる微小変形理論が適用できる範囲内となっている。これらの制約は、対象の物理方程式の記述の難しさもあるが、むしろ方程式の離散化に伴った数値解法的な問題があるために生じる。変形が大きくなる程、各時間ステップ毎に、準安定な解を求めにくくなることが知られている。対象を厳密に物理方程式で記述できたとしても、対象の幾何学的な構造そのものを補正する手段を導入しないとシミュレーションはうまくいかない。これは、対象を離散化した際、限られた格子点数で対象を近似形成する自体に大きな制約が存在することに起因している。
【0005】対象が移動しながら、しかも弾性的なシミュレーションは、移動体が、湾曲した経路や障害物、移動体同士の衝突を表現するために重要な手法である。対象が固定した座標系に置かれていると、このような連続した表現は困難となる。また、微小変形理論の枠組を超えた対象の大きな変形を許容する手法も同時に必要である。
【0006】本発明の目的は、数値シミュレーションやコンピューターグラフィックスにおいて、対象物の移動しながらの弾性変形表現を可能とする物体変形処理方法を提供することにある。
【0007】
【課題を解決するための手段】上記の目的を達成するため、本発明の物体変形処理方法は、変形・移動する物体の初期の形状と属性情報を入力するステップと、初期流速の条件と境界条件を入力するステップと、第n時刻の流速を流体を記述する方程式から算出するステップと、弾性体の格子点の移動速度を格子点近傍の流速と補間関数より算出するステップと、格子点の座標値をニュートン法などの非線形計算式により補正するステップと、格子点の座標値と格子点にかかる力について反復補正しながら収束判定を行うステップと、補正された格子点座標値により、各格子点における合力を算出するステップと、該合力による格子点近傍の流速場への外部力を補間関数を用いて算出するステップと、ナビエ・ストークス方程式などの流体運動方程式中の外部力項に前ステップより求めた既知量を代入して、第n+1時刻の流速場を算出するステップと、第n+1時刻の流速場を用いて各格子点の第n+1時刻の座標値を算出するステップと、所定の計算時刻に達しているかどうかを判定するステップとからなることを特徴とする。
【0008】
【作用】本発明では、移動しながら大きく変形する弾性体の簡便な表現として、各時刻における弾性体の各格子点の座標値について、弾性体に与えられた属性情報に基づいた各格子点にかかわる力との間で、反復計算を施すことで、各時刻における準安定な座標値を決定する弾性力が算出される。このとき、各格子点にかかる弾性力は、反復計算における補正される座標値の関数となっている。さらに、流体を記述する方程式(流体運動方程式)中の外部力項に各格子点上の弾性力を代入することで、各格子点の移動速度は、格子点近傍の流速場に影響を与えるような流速として算出される。このようにして、格子点の移動量は、格子点近傍の流速に時間幅をかけ算することにより定まる。これにより、移動しながら、しかも力学的な相互作用により変形する弾性体の表現が可能となる。
【0009】
【実施例】以下、本発明の一実施例について図面により説明する。
【0010】図1は本発明の物体変形処理方法の一実施例の処理フローチャートである。ステップ12〜19に用いる主な数式を〔数1〕乃至〔数5〕に示し、そのパラメータの説明を〔数6〕にまとめて示す。
【0011】
【数1】


【0012】
【数2】


【0013】
【数3】


【0014】
【数4】


【0015】
【数5】


【0016】
【数6】


【0017】さて、ステップ10では、変形・移動する物体の初期の形状と属性情報を入力する。格子点番号、格子点の初期座標値も、このステップ10で与えられる。ステップ11では、初期流速の条件と境界条件を入力する。
【0018】ステップ12では、第n時刻の流速を流体を記述する方程式(流体運動方程式)から算出する。ここでは、流体運動方程式として、(4)式のナビエ・ストークス方程式中を用いる。ステップ12では、(4)式中、nはn−1、n+1はnと置き換えて、第n時刻の流速を算出する。
【0019】ステップ13では、対象物体である弾性体の各格子点の移動速度を、ステップ12で求まった格子点近傍の流速と補間関数より算出する。この算出法の詳細については後述する。
【0020】ステップ14では、格子点の座標値を非線形計算式(ここではニュートン法を用いる)により補正し、これを格子点の座標値と格子値にかかる力が収束するまで繰り返す(ステップ15)。即ち、(1)式の右辺において、格子点k番目の時刻tにおける位置、移動速度、格子点にかかる力から、補正される格子点の座標値を(1)式の左辺として求める。(1)式中の「*」は反復回数である。なお、ステップ14における収束判定の基準は、一般に用いられているような反復時の計算誤差に対するパーセンテージで与えられる。これは計算精度と計算コストとの間で、使用する者の目的・用途により決定される。
【0021】ステップ16では、ステップ14で補正された各格子点座標値により、各格子点における合力を算出する。これを表わしたのが(2)式で、補正された各格子点座標値は、(2)式により弾性力が補正される。
【0022】ステップ17では、ステップ16で算出された格子点の合力が格子点近傍の流速場へ作用する力(外部力)を、補間関数を用いて算出する。(3)式がこの算出式で、各格子点に加わっている弾性力が、その近傍の流体へ外部力として、補間関数を介して算出される。
【0023】ステップ18は、流体運動方程式を記述する(4)式のナビエ・ストークス方程式中の外部力項にステップ17で求めた既知量を代入して、第n+1時刻の流速場を算出する。ただし、(4)式は差分法により離散化されることを示している。
【0024】ステップ19では、ステップ18で求めた第n+1時刻の流速場を用いて、(5)式により、各格子点の第n+1時刻の座標値を補間関数を介して算出する。
【0025】以上のステップ12〜19をあらかじめ定めた計算時間まで繰り返し、処理を終了とする(ステップ20)。
【0026】図2に、血管中を流れながら、非一様の流体場との相互作用により変形する赤血球を想定したシミュレーションの様子を示す。図中、21は赤血球、22が赤血球を構成する格子点、23が補間関数である。
【0027】図3は、補間関数の特性を示す。ここでは、格子点から、流体の解析格子で2つの格子を半径とする距離内の値により相互作用表現することを示している。この補間関数は、いわば重みづけ表現をとっているが、重みづけの総和は常に1になるような関数を選択している。これにより、補間関数による値の変化に影響を及ぼさないようにしてある。
【0028】図4は、弾性体の格子点にかかる力表現を説明する図である。便宜上、ここでは、弾性体上の2つの格子点のみを示す。格子点は、それぞれk1、k2の番号が与えられ、格子点間には、lという番号が割り当てられている。この図に関して、2つの格子点k1,k2がつくる基本量を〔数7〕に示す。
【0029】
【数7】


【0030】これにより、結合点としての格子点kにかかる合力は、〔数8〕のように表現できる。ここでは、フックの法則に従う弾性力が与えられる。
【0031】
【数8】


【0032】次に、図1のステップ14,15で適用されるニュートン法について説明する。いま、第n時刻における第k番目の格子点の座標値を〔数9〕で示し、弾性力の格子点への影響を〔数10〕で表現する。
【0033】
【数9】


【0034】
【数10】


【0035】〔数10〕の2式■,■より、補正される格子点の力は〔数11〕で示され、補正される格子点の座標値の関数となっていることを示す。
【0036】
【数11】


【0037】〔数11〕の第k番目における力表現を、弾性体を構成するすべての格子点に関してマトリックス表現すると、〔数12〕のようになる。
【0038】
【数12】


【0039】〔数12〕は、ある格子点にかかる力を補正すると、格子点の座標値が変わり、座標値が変わると、かかる力が変化することを示しているので、非線形系であることは明らかである。
【0040】ニュートン法を用いて、〔数12〕の非線形方程式を解くにあたり、まず、テイラー展開によって〔数12〕を線形に近似すると、〔数13〕のようになる。
【0041】
【数13】


【0042】〔数13〕中には、1階の偏微分項が現われる。〔数14〕は、これを成分について表記してある。
【0043】
【数14】


【0044】〔数13〕と〔数14〕より、ニュートン法を適用して、力に関して反復形式をつくると、
【0045】
【数15】


【0046】のようになる。反復における初期値は、第n時刻における、格子点の位置から算出される各格子点にかかる力である。
【0047】図5は、本発明による処理イメージを示す。これは、弾性リング51が、分岐のある流路52を移動しながら、大きく変形していく様子を示したものである。なお、53は格子点である。図5(a)では、円形の弾性リング51のまわりには、流体がリングの形状に応じた流れの乱れが生じている。ある時間が達つと、図5(b)に示すように、流路の狭まった形状に応じた変形に応じた変形が生じ、そのときのリング51の周りの流れパターンは変化している。
【0048】図7は、本物体変形処理方法を実施する計算機環境を示す構成図で、キーボードやマウスからなる入力装置71、ディスプレイなどの出力装置72、コンピュータ本体(CPU)の処理装置73、各種パラメータや格子点情報を格納するメモリ装置74からなる。ここで、格子点情報は、格子点番号、格子点座標値、移動速度、弾性力などで構成される。処理装置73は、図1のステップ12〜19を繰り返し実行して、メモリ装置74内の格子点情報(座標値、弾性力など)を更新し、逐次、その内容を読み出し、対象物体が移動しながら変形する様子を出力装置72に表示出力する。
【0049】
【発明の効果】以上説明したように、本発明によれば、数値シミュレーションやコンピューターグラフィックスの計算過程において、流体とり力学的相互作用により弾性体が移動しながら変形する現象を簡易な方法により実現できるため、物理的にしばしば見られる現象の数値シミュレーションやコンピューターグラフィックスでのより弾性的属性を有する物体一般の変形表現を幅広く扱えるようになる。
【図面の簡単な説明】
【図1】本発明の一実施例の処理フローチャートである。
【図2】本発明によるシミュレーションの様子を想定した図である。
【図3】補間関数の一例を示す図である。
【図4】弾性体の格子点にかかる力表現を説明する図である。
【図5】本発明による弾性体の移動と変形の様子を示す図である。
【図6】従来技術による弾性体の力学的相互作用を説明する座標系である。
【図7】本発明方法を実施するハードウェア構成図である。
【符号の説明】
12 流速値の算出
13 各格子点の移動速度の算出
14 各格子点の座標値の補正
16 各格子点の合力の算出
17 外部力の算出
18 流速場の算出
19 次時刻の各格子点の座標値の算出

【特許請求の範囲】
【請求項1】 計算機の環境下における、移動物体の変形処理方法であって、変形・移動する弾性物体の初期の形状と属性情報を入力するステップと、初期流速の条件と境界条件を入力するステップと、第n時刻の流速を流体を記述する方程式から算出するステップと、弾性物体の格子点の移動速度を格子点近傍の流速と補間関数より算出するステップと、格子点の座標値を非線形計算式により補正するステップと、格子点の座標値と格子点にかかる力について反復補正しながら収束判定を行うステップと、補正された格子点座標値により、各格子点における合力を算出するステップと、格子点近傍の流速場への外部力を補間関数を用いて算出するステップと、流体を記述する方程式中の外部力項に前ステップより求めた既知量を代入して、第n+1時刻の流速場を算出するステップと、第n+1時刻の流速場を用いて各格子点の第n+1時刻の座標値を算出するステップと、所定の計算時刻に達しているかどうかを判定するステップと、を有することを特徴とする物体変形処理方法。
【請求項2】 格子点にかかる力と格子点の座標値との間で非線形計算式としてニュートン法を用いて補正処理を行うことを特徴とする請求項1記載の物体変形処理方法。
【請求項3】 格子点にかかる力を補間関数を用いて、流体を記述するナビエ・ストークス方程式の外部力項にその効果を反映させることを特徴とする請求項1記載の物体変形処理方法。
【請求項4】 格子点の次の時間ステップの位置を、各格子点近傍の変化した流速場に基づいて算出することを特徴とする、請求項1と2記載の物体変形処理方法。

【図1】
image rotate


【図3】
image rotate


【図4】
image rotate


【図5】
image rotate


【図6】
image rotate


【図2】
image rotate


【図7】
image rotate


【公開番号】特開平8−44702
【公開日】平成8年(1996)2月16日
【国際特許分類】
【出願番号】特願平6−195956
【出願日】平成6年(1994)7月27日
【出願人】(000004226)日本電信電話株式会社 (13,992)