物体間接触相互作用模擬装置
【課題】デジタルデータで表現された物体の力学的相互作用において物体間に作用する力を高速に計算する装置の提供。
【解決手段】デジタルデータ形式の第1物体および第2物体のデータを取得する取得手段と、第1物体が第2物体にめり込む位置および量を決定するめり込み情報決定手段と、決定しためり込む位置および量にもとづいて第1物体に作用する力の大きさを決定する大きさ決定手段と、第1物体と干渉する第2物体の微小要素それぞれについて該微小要素と所定の位置関係を満足する領域に含まれる第2物体の部分体の重心から該微小要素と所定の位置関係を満足する代表点へ向かうベクトルを基礎ベクトルとして求め該基礎ベクトルを総和してなるベクトルの方向にもとづいて第1物体に作用する力の方向を決定する方向決定手段と、決定した力の大きさと方向とにもとづいて第1物体に作用する力を決定し出力する出力手段と、を有する模擬装置である。
【解決手段】デジタルデータ形式の第1物体および第2物体のデータを取得する取得手段と、第1物体が第2物体にめり込む位置および量を決定するめり込み情報決定手段と、決定しためり込む位置および量にもとづいて第1物体に作用する力の大きさを決定する大きさ決定手段と、第1物体と干渉する第2物体の微小要素それぞれについて該微小要素と所定の位置関係を満足する領域に含まれる第2物体の部分体の重心から該微小要素と所定の位置関係を満足する代表点へ向かうベクトルを基礎ベクトルとして求め該基礎ベクトルを総和してなるベクトルの方向にもとづいて第1物体に作用する力の方向を決定する方向決定手段と、決定した力の大きさと方向とにもとづいて第1物体に作用する力を決定し出力する出力手段と、を有する模擬装置である。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物体間の力学的相互作用を模擬する装置に関し、特に、互いに干渉しあう物体間に作用する力を模擬する装置に関する。
【背景技術】
【0002】
従来、3次元の物体を表現するため、点群、ボクセル群、および、球群、ならびに、それらを位置に関する階層構造で表現したオクトツリーやHSM(Hierarchical Sphere Model)など(以下、これらおよびこれらに類似するデータ構造を備えたデータを「デジタルデータ」と称する。)が用いられる。しかしながら、デジタルデータは、物体の表面形状を明確に規定しない。そのため、デジタルデータが表す物体の表面形状を一意に決定するには、例えば、「マーチングキューブズ法」などが用いられる。
【0003】
「マーチングキューブズ法」によれば、デジタルデータが表す物体の表面のキューブ群を、パッチ(有限平面)の集合で接続することができるものの、デジタルデータが表す物体の表面の法線分布を規定することはできない。そのため、「マーチングキューブズ法」で与えられる表面を用いて、他の物体との衝突や他の物体による切削により物体の表面に発生する力を求めることはできない。そもそも、「マーチングキューブズ法」は、離散(デジタル)データを多面体という連続(アナログ)データに変換することで、その視覚リアリティーを向上させることを目的としており、その意識は物体の表面にしかない。
【0004】
これと同様に、視覚リアリティーを向上させるための別方法として「バンプマッピング」、「法線マッピング」、「テクスチャーマッピング」などがある。
【0005】
例えば、バンプマッピングでは、法線が変化されるだけであり、その幾何学的特徴は変化しない。例えば、対象物体を球体とすると、バンプマッピングの後であっても、そのシルエットに凸凹はない。したがって、視覚的に質感を感じさせるテクニックといえる。他の方法も、表面の滑らかさやザラザラさを、予めデザインされた模様(パターン)を張り付けたり、表面法線分布のみを加工したりすることで、物体の見た目の質感を追求するものである。しかし、これらの方法は、デジタル物体の表面状態を正確に考慮して、滑らかさや法線を決定するものではない。さらに、これらの方法は、視覚で支配的な物体の表面にしか意識はない。
【0006】
特許文献1は物体間の接触判定の方法を開示する。特許文献1では、事前に距離関数を与え、それらを解くことでベクトルを算出し、物体に働く力を生成している。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2007−114866号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
ある物体を別の物体で操作する、といった物体間の力学的相互作用を模擬する場合、物体間の干渉を高速に検出する必要がある。このとき、各々の物体を連続(アナログ)モデルで表現するのではなく、離散(デジタル)モデルで表現したほうが、はるかに高速に2物体間の干渉を検出可能である。特に、ある物体が別の物体を切削するなどして変形させるとき、別の物体は複雑な凹形状になるので、連続(アナログ)モデルの代表例である多面体を干渉チェックやめり込み量検出のため凸分割しなければならなくなるが、これは極めて煩雑な計算を要する。
【0009】
2物体の干渉チェックの高速性および正確性の観点から、物体を各種デジタルデータそれぞれで表現した場合の有利点・不利点を整理する。ここでは、物体が回転移動する場合と、回転移動しない場合との2つの場合についてそれぞれ干渉チェックの高速性および精確性について考察する。
【0010】
物体が回転移動する場合:
・点集合:領域を離散的に表現できる。回転移動により形状は不変。干渉の見逃しあり。見逃し精度は点密度と関係。階層構造は高速判定用。
・球集合:領域を離散的に表現できる。回転移動により形状は不変。干渉の見逃しなし。階層構造は高速判定用。
・線分集合:領域を離散的に表現できる。回転移動により形状は変化。干渉の見逃しあり。見逃し精度は線密度と関係。距離計算に時間がかかり中途半端なので有用性はない。
・パッチ集合≪多面体≫:内部干渉の調査のための集合演算の計算時間膨大。干渉・非干渉のチェックも凸多面体同士以外は計算時間膨大。
・立方体や直方体(座標軸に並行又は垂直な面で区切られた空間)の集合:回転移動がある場合、座標を合わせるたびに階層構造を作り換えなければならない。座標を合わせなければ多面体同士の干渉チェックとなる。いずれも、膨大な計算時間が必要となり不適。
【0011】
物体が回転移動しない場合(物体が固定、または、平行移動のみの場合):
・点集合:領域を離散的に表現できる。干渉の見逃しあり。見逃し精度は点密度と関係。相手方も点集合の場合、干渉見逃し多数で有用性なし。
・球集合:領域を離散的に表現できる。干渉の見逃しなし。立方体集合に比べ重複が出ることからメモリ効率は悪い。
・線分集合:領域を離散的に表現できる。干渉の見逃しあり。見逃し精度は線密度と関係。相手方も線分集合の場合、干渉見逃し多数。距離計算に時間がかかり中途半端なので有用性はない。
・パッチ集合≪多面体≫:干渉領域を計算する時間は膨大。また、凹多角形の場合、それを凸多角形の集合に変換する時間も膨大。
・立方体や直方体(座標軸に並行や垂直の面で区切られた空間)の集合:領域表現可能。
【0012】
よって、回転移動する物体と回転移動しない物体との干渉をチェックする場合、一定の精度以上の内部干渉を見逃すことを許すなら、点集合−ボクセル集合(立方体や直方体)の組み合わせの効率が最も高く、逆に内部干渉の見逃しを許さないならば、球集合−ボクセル集合の組み合わせの効率が最も高いことがわかる。
【0013】
しかし、連続(アナログ)モデルとは異なり、離散(デジタル)モデル(デジタルデータで表現された物体)は明確な表面を持っていない。そのため、2つの物体が接触したり、ある物体が別の物体を切削したりするときの接触力や切削力の導出にとって不可欠な、法線ベクトルをデジタルデータから直接的に定めることができない。これでは、2つの物体の間の力学的相互作用の模擬ができない。
【0014】
一般に、物体の切削加工や、外力による変形を模擬する場合、切削操作される物体と切削操作する物体との干渉を高速に検出し、かつ切削された複雑な形状の物体を高速に変形させるため、それらをデジタルデータで表現してから干渉を検出するという過程を経ることが多い。特に、切削操作される物体が変形し凹形状になる場合、その凸分割には膨大な計算時間がかかるので、デジタルデータを利用せざるを得ない。
【0015】
しかしながら、デジタルデータ自体には、もともと表面や法線といった概念に対応する量がない。このうち、表面については、前述のマーチングキューブズ法で導出できるが、法線を簡便かつ高速に導出する方法はいまだ提案されていない。とくに、ある物体が別の物体にめり込むようにして相互作用する場合に該物体が別の物体から受ける反力の方向に対応する法線を高速かつ簡便に導出する方法は、未だ知られていない。
【0016】
以上の課題を鑑み、本発明は、デジタルデータで表現された物体の力学的相互作用において物体間に作用する力を高速に計算するための装置を提供する。
【課題を解決するための手段】
【0017】
その一態様は、仮想空間での物体間の力学的相互作用において物体に作用する力を模擬する模擬装置であって、デジタルデータ形式で表現された第1物体および第2物体のデータを取得する取得手段と、第1物体および第2物体の位置に関する情報にもとづいて、第1物体が第2物体にめり込む位置および量を決定するめり込み情報決定手段と、めり込み情報決定手段が決定しためり込む位置および量にもとづいて、第1物体に作用する力の大きさを決定する大きさ決定手段と、第1物体と干渉する第2物体の微小要素それぞれについて、該微小要素と所定の位置関係を満足する領域に含まれる第2物体の部分体の重心から、該微小要素と所定の位置関係を満足する代表点へ、向かうベクトルを基礎ベクトルとして求め、該基礎ベクトルを総和してなるベクトルの方向にもとづいて第1物体に作用する力の方向を決定する方向決定手段と、大きさ決定手段が決定した力の大きさと、方向決定手段が決定した力の方向と、にもとづいて、第1物体に作用する力を決定し出力する出力手段と、を有する模擬装置である。
【0018】
別の一態様は、コンピュータを備えた模擬装置において、仮想空間での物体間の力学的相互作用において物体に作用する力を模擬する方法であって、コンピュータの演算手段が、デジタルデータ形式で表現された第1物体および第2物体のデータを取得するステップと、演算手段が、第1物体および第2物体の位置に関する情報にもとづいて、第1物体が第2物体にめり込む位置および量を決定するステップと、演算手段が、位置および量を決定するステップにおいて決定されためり込む位置および量にもとづいて、第1物体に作用する力の大きさを決定するステップと、演算手段が、第1の物体と干渉する第2物体の微小要素それぞれについて、該微小要素と所定の位置関係を満足する領域に含まれる第2物体の部分体の重心から、該微小要素と所定の位置関係を満足する代表点へ、向かうベクトルを基礎ベクトルとして求め、該基礎ベクトルを総和してなるベクトルの方向にもとづいて第1物体に作用する力の方向を決定するステップと、演算手段が、大きさを決定するステップにおいて決定された大きさと、方向を決定するステップにおいて決定された方向と、にもとづいて、第1物体に作用する力を決定し出力するステップと、を有する方法である。
【0019】
さらに別の一態様は、コンピュータに、仮想空間での物体間の力学的相互作用において物体に作用する力を模擬させるためのコンピュータ・プログラムであって、コンピュータに、デジタルデータ形式で表現された第1物体および第2物体のデータを取得するステップと、第1物体および第2物体の位置に関する情報にもとづいて、第1物体が第2物体にめり込む位置および量を決定するステップと、位置および量を決定するステップにおいて決定されためり込む位置および量にもとづいて、第1物体に作用する力の大きさを決定するステップと、第1の物体と干渉する第2物体の微小要素それぞれについて、該微小要素と所定の位置関係を満足する領域に含まれる第2物体の部分体の重心から、該微小要素と所定の位置関係を満足する代表点へ、向かうベクトルを基礎ベクトルとして求め、該基礎ベクトルを総和してなるベクトルの方向にもとづいて第1物体に作用する力の方向を決定するステップと、大きさを決定するステップにおいて決定された大きさと、方向を決定するステップにおいて決定された方向と、にもとづいて、第1物体に作用する力を決定し出力するステップと、を実行させるコンピュータ・プログラムである。
【発明の効果】
【0020】
本発明は、デジタルデータで表現された物体のデータから直接的に、物体に作用する力の方向を導出することにより、高速に物体に作用する力を求めることが可能となっている。
【図面の簡単な説明】
【0021】
【図1】デジタルデータで表現された歯とバーの例図
【図2】デジタルデータ(点群)で表現された歯科バーの例図
【図3】デジタルデータ(ボクセル群)で表現された歯の例図
【図4】GPUのZバッファリングによる、物体の直方体表現導出の概念図
【図5】バーと歯の干渉チェックの概念図
【図6】衝突検出領域Dの自由設定を説明する図
【図7】切削可能領域Cの自由設定を説明する図
【図8】代表点Grの自由設定を説明する図
【図9】切削容易性(硬さ等)が異なる複数の素材の切削における計算例を示す図
【図10】歯科教育用シミュレータの構成を示すブロック図
【図11】歯科教育用シミュレーションのフローチャート
【図12】ドリルおよび歯、ならびに、その直方体表現(共通座標軸)の模式図
【図13】基礎ベクトルの計算を説明する概念図
【図14】切削容易性(硬さ等)が異なる複数の素材の切削における計算例を示す図
【図15】メスおよび肝臓、ならびに、その直方体表現(共通座標軸)の模式図
【図16】メスおよび内蔵、ならびに、その直方体表現(共通座標軸)の模式図
【発明を実施するための形態】
【0022】
(実施の形態1)
以下、添付の図面を参照して、本発明の実施の形態1にかかるデジタル法線の計算方法について説明する。実施の形態1にかかるデジタル法線の計算方法(すなわち計算アルゴリズム)は、コンピュータを用いて法線を計算する方法であって、例えばGPU(Graphics Processing Unit)により実行される。そのようなGPUは専用プログラミング言語OpenCL(Open Computing Language)やCUDA(Compute Unified Device Architecture)によりデジタル法線の計算アルゴリズムを実現するよう自由にプログラムされる。
【0023】
ここで、デジタル法線とは、「デジタルデータ(デジタルモデル)」(点群、ボクセル群、および、球群、ならびに、それらを位置に関する階層構造で表現したオクトツリーやHSM(Hierarchical Sphere Model)など)で表現された物体に対し作用する力(またはその力に対する反力)の方向と一致する方向を有する有向線分である。本実施形態においては、デジタル法線は、例えば、デジタルデータで表現された複数の物体が互いに干渉しあうときに物体間に働く力の方向をよく模擬するベクトル量として導出される。
【0024】
以下では、一例として、ある物体(被切削物)を別の物体(切削具)により切削する場合において、両物体間に作用する力の法線ベクトルを求める場合のデジタル法線の計算方法(計算アルゴリズム)について説明する。
【0025】
本アルゴリズムは、図示しないコンピュータにより実行される。コンピュータ(以下、「模擬装置」と称する)は、本アルゴリズムを実行するためのプログラムを備え、中央処理装置がそのプログラムを実行する。模擬装置は、さらにGPU(Graphics Processing Unit)を備えており、プログラムは、本アルゴリズムの少なくとも一部をGPUで実行すること(GPGPU、General-Purpose computing on Graphics Processing Units)に最適化されている。つまり、以下で説明される各ステップは、模擬装置の中央処理装置、GPU、記憶手段(メモリ、ハードディスク等)の協働的作用により実施される。なお、GPUは必須ではない。本アルゴリズムは、模擬装置のCPUのみで実施することも可能である。本アルゴリズムを実行するためのプログラムは、半導体メモリ、磁気ディスク、光ディスク等に記憶されてよい。また、本アルゴリズムを実行するためのプログラムは、インターネット等を通じて配信されることも可能である。
【0026】
(ステップ1)
切削する物体(医師や歯科医師が操作する物体、例えば、歯科バー)と切削される物体(医師や歯科医師に操作される物体、例えば、歯)をデジタル情報(点群、キューブ群、球群など)に変換する(図1参照)。デジタル情報(デジタルデータ)として、例えば、図2に示すような歯科バーの点群や、図3に示すような歯列のキューブ群(オクトツリー表現)や、図4に示すような、GPUのZバッファと並列処理の機能で処理される直方体群や、軟組織を変形可能パーティクルで表現する場合のパーティクル群などが含まれる。
【0027】
図1は、歯(被切削物)および歯科バーのドリル(切削具)をそれぞれ、キューブ(ボクセル)群のオクトツリー表現、および、点群で表現する方法を示す概念図である。図2は、点群で表現されたドリル、および、ドリルが取り付けられた歯科バーの例図である。図3は、ボクセル群のオクトツリーで表現された歯の例図である。
【0028】
図4は、模擬装置の備えるGPUのZバッファリング機能を用いて歯12の直方体群による表現を導出する概念図である。ここでは、直方体群で表現された物体も、デジタルデータで表現された物体に含まれる。図示しないGPUは、Zバッファ20に垂直な方向について、歯12の存在範囲を取得し、記憶する。なお、ここでの歯12は、例えば、STL(Standard Triangulated Language)形式で記述されたデータで表現される物体であるとする。これにより、Zバッファ20には、歯12を直方体群で表現したデータ(デジタルデータ)が蓄積される。また、図示しないGPUは、直方体群をさらに小さなキューブ(ボクセル)に分割することも可能である。このとき、GPUは、各キューブと、Zバッファ20に記憶された歯12の存在範囲との関係により、各ボクセルを、歯12内部のボクセル(図4(b))、歯12を構成しないボクセル(図4(c))、または、歯12の界面を構成するボクセル(図4(d))のいずれかに区別して扱うことも可能である。また、歯科バーの先端部のドリル(図2)についても、同様に、STL形式で表現されたドリルのデータを、まず、ボクセル群に変換し、次に、それをボクセルの頂点群または重心群により点群で表現したデータ(デジタルデータ)に変換することができる。
【0029】
このようにして、ステップ1では、模擬装置は力学的相互作用を模擬する対象となる物体のデジタルデータ表現を取得する。なお、図4で示したデジタルデータへの変換工程は必須ではない。模擬装置は、別の方法により模擬対象を表すデジタルデータを取得してよい。
【0030】
(ステップ2)
次に模擬装置はステップ1で取得した、それらのデジタル情報(デジタルデータ)間の干渉をチェックする(図5)。例えば、図2の歯科バーの点を図3の歯列のキューブ群(オクトツリー)に落とし込んで、点とキューブの干渉を逐次的または並列的にチェックする。但し、干渉チェックする両物体の座標系は、事前に合致させておくと有利である。例えば、GPUが操作する直方体群が2群ある場合、それらの座標系を事前に合致させた後、共通の座標系に則ってそれらの干渉をチェックすることになる(図4、図12、図15、図16等参照)。
【0031】
なお、干渉のチェックは、上記の方法に限定されない。干渉が検出されると、模擬装置は、次のステップ3において、被切削物の切削容易性(硬さ等)および切削具の切削能力に基づいて切削具が被切削物にめり込む程度(両物体の相対的位置関係)を決定する。
【0032】
(ステップ3)
次に模擬装置は、切削される物体(被切削物)の位置情報および硬さ(例えば、歯ボクセルは、エナメル質、象牙質、歯髄、う蝕などの材質ごとに異なった硬さデータを保持)、ならびに、切削する物体(切削具)の位置情報(これには、位置のほか、速度、加速度等を含んでよい。)および切削能力(物体の形状と別に切削領域を定義する。よく削れる部分とあまり削れない部分を持つもの、または、よく削れるものからあまり削れないものまで多様なものを用意)より、めり込み位置を決める(図5参照)。この際、模擬装置は、2つの物体の干渉状態を指標として、それらの動きを二分探索やニュートン法、もしくはそれらに類似の方法で探索し、めり込み位置(すなわち、めり込み量)を試行錯誤しながら高速に決定する。ここで、この指標としては、ケルビン・フォークト・モデルに基づいて計算された、両物体に作用する力の絶対値(大きさ)でよい。また、指標は、ケルビン・フォークト・モデル以外の粘弾性モデルに基づいて計算される力の絶対値(大きさ)でもよい。さらには、指標は、粘弾性モデル以外の力学的モデルから導出される量でもよい。あるいは、指標は、めり込み状態を関数で表現したものでもよいし、めり込み状態を関数で表現できなければ、それをルックアップテーブルで表現したものでもよい。
【0033】
このようにして、模擬装置はステップ3において、被切削物と切削具の相対的位置関係を決定する。模擬装置は、ステップ4においては、ステップ3で決定した位置関係において切削具に作用する力(切削具が被切削物から受ける反力)を計算する。
【0034】
(ステップ4)
模擬装置は、ステップ3で決定しためり込み量より、力(切削具が被切削物から受ける反力)の絶対値(大きさ)を決定する。この際によく用いられるのは、ケルビン・フォークト・モデルを用いる方法である。それは、めり込み量をバネ定数に乗算し、また、干渉直前の相対速度にダンパ定数を乗算し、それらの積を加算するものである。しかし、衝突物体同士のめり込み状態、および衝突直前の速度や加速度などを利用する限り、ケルビン・フォークト・モデルにとらわれるものではない。
【0035】
例えば、模擬装置は、ケルビン・フォークト・モデルに基づいて、切削具に作用する力の絶対値(大きさ)を次のようにして決定する。先ず、模擬装置は、被切削物(歯)の変形にかかる抗力の係数(バネ定数k)、および、変形速度に応じた抗力の係数(粘性定数c)を求める。模擬装置は、バネ定数kを、
k=(Ne×ke+Ni×ki+Np×kp)/(Ne+Ni+Np) ・・(式1)、
より決定する。ここで、Neは、切削具と干渉するエナメル質ボクセルの数であり、keは、エナメル質ボクセルのバネ定数であり、Niは、切削具と干渉する象牙質ボクセルの数であり、kiは、象牙質ボクセルのバネ定数であり、Npは、切削具と干渉する歯髄ボクセルの数であり、kpは、歯髄ボクセルのバネ定数である。また、模擬装置は、粘性定数cを、
c=(Ne×ce+Ni×ci+Np×cp)/(Ne+Ni+Np) ・・(式2)、
より決定する。ここで、ceは、エナメル質ボクセルの粘性定数であり、ciは、象牙質ボクセルの粘性定数であり、cpは、歯髄ボクセルの粘性定数である。次に、模擬装置は、ステップ3で求めた切削具(ドリル)のめり込み量d、および、別途求めた切削具(ドリル)の被切削物に対する相対速度vに基づいて、反力FRの大きさを、
FR=k×d+c×v ・・・(式3)、
より決定する。
【0036】
このようにして、模擬装置はステップ4において、切削具が受ける反力の大きさを決定することができる。模擬装置は、次のステップ5においては該反力の方向を決定する。
【0037】
(ステップ5)
次に、模擬装置は、反力の方向を決定する。具体的には、模擬装置は、切削具および被切削物の相対的位置関係に基づいてデジタル法線を計算する。
【0038】
まず、模擬装置は、後述する衝突検出領域Dおよび切削可能領域Cを設定する。次に、模擬装置は、衝突検出領域Dが他の物体(被切削物)とめり込む領域(「衝突領域」または「干渉領域」)を計算する。そして、模擬装置は、被切削物が図4に示したような直方体群で表現されている場合、めり込み領域(衝突領域)を微小要素に離散化(分割)し(元から被切削物の衝突領域が微小要素の集合に分割されているデジタルデータがあればそれを使用してもよい)、衝突領域を構成する微小要素群を細かい領域(キューブ(ボクセル)、球、点などのデジタルデータで表現される領域)の集合として表現する。
【0039】
なお、衝突検出領域Dは、任意形状に設定可能な3次元領域である。例えば、衝突検出領域Dは、操作する物体(切削具)の形状と同じ形をした3次元領域である。また、衝突検出領域Dは、操作する物体(切削具)の形状と異なってもよい。例えば、図6(a)は物体(切削具)全体が衝突検出領域Dとなっており、図6(b)(c)(d)は物体(切削具)とは違う形の領域(直方体、切削面のみ、楕円体)が衝突検出領域Dとなっている。模擬装置は、衝突検出領域Dに設定された領域について、被切削物との干渉(衝突)の有無を検出する。また、切削可能領域Cも、任意形状に設定可能である。切削可能領域Cは、衝突検出領域Dと同じ形状でよい。または、切削可能領域Cは、衝突検出領域Dと異なる形状でもよい。例えば、図7(a)、(b)では、衝突領域(衝突ボクセル集合B)は3つの衝突ボクセルに分割される。そして、図7(c)では、直方体の切削可能領域Cを設定しており、図7(d)では、球形状の切削可能領域Cを設定しており、図7(e)では、楕円体の切削可能領域Cを設定している。また、模擬装置は、切削可能領域Cに代表点Grを設定する。切削可能領域Cの代表点Grは、領域Cの重心、中心といった、領域Cの幾何形状にもとづく特徴点と一致させてよい(図8(a)(b)(c))。だが、領域Cの代表点Grと領域C自体との関係について特に制限はなく、特徴点Grは領域Cとの任意の関係性に基づいて設定可能である(図8(a)(d)(e)(f))。
【0040】
次に、模擬装置は、各々の細かい領域ごと(衝突領域を分割した微小要素ごと)に基礎ベクトル(デジタル法線ベクトルの計算において基礎となるベクトル)を計算する。図9を参照し、基礎ベクトルの計算方法を説明する。
【0041】
図9はステップ3において決定しためり込み位置における基礎ベクトル導出の過程を説明する模式図である。図9(a)〜(d)は均一な硬さを有する歯12での基礎ベクトルの導出を説明する図であり、図9(e)〜(h)は、歯の内部組織に起因した硬さ(切削容易性)の不均一性を考慮しながら基礎ベクトルを導出する場合を説明する図である。このように、被切削物の一部に硬い部分と軟らかい部分が混在すると、例えば、重心点Gcの位置を変えることで基礎ベクトルにバリエーションを与えることができる。但し、被切削物に硬い部分と軟らかい部分が混在することによる力の方向の変化はこれに限らない。
【0042】
模擬装置は、ステップ3で決定しためり込み位置近傍において、図4に示したような直方体群で表現される歯12(被切削物)を微小要素に分割する(図9(a))。微小要素は、例えば、ボクセルである。なお、微小要素は、点、球、といった要素でもよい。
【0043】
次に、模擬装置は、衝突領域(ドリル10と歯12とが干渉し合っている領域)の歯ボクセル(衝突ボクセル)を特定する。図9(b)では、衝突領域の歯ボクセルの集合を衝突ボクセル集合Bとしている。
【0044】
そして模擬装置は、衝突ボクセル集合Bの各衝突ボクセルについて、それぞれ基礎ベクトルを求める。例えば、図9(b)の集合Bにおける上から2段目で左から2つ目の衝突ボクセルについては、該衝突ボクセルを中心として切削可能領域Cを設定し、切削可能領域Cに含まれる歯ボクセルの重心Gcを求める。(なお、一部が領域Cに含まれるボクセルも含めてよい。)そして、注目している衝突ボクセルを中心として設定される切削可能領域Cに含まれる歯ボクセルの重心Gcから、当該領域Cの代表点Grへ、向かうベクトル(ベクトルGcGr)を、注目している衝突ボクセルについての基礎ベクトルとする(図9(c)(g))。模擬装置は、同様にして他の衝突ボクセルについても基礎ベクトルを求める。図9(d)(h)は、集合Bの上から5段目で左から3つ目の衝突ボクセルについて求めた基礎ベクトルを例示する図である。
【0045】
衝突ボクセル集合Bを構成する衝突ボクセルをbj(j:1、2、・・・、n)とすれば、基礎ベクトルfj(j:1、2、・・・、n)は、
【数1】
・・・(式4)
である。ここで、Grjは、衝突ボクセルbjを中心として設定した切削可能領域Cの代表点の位置であり、Gcjは、衝突ボクセルbjを中心として設定される切削可能領域Cに含まれる歯ボクセルの重心の位置である。ここで、切削可能領域Cの代表点Grjは、あらゆるjにおいて、衝突ボクセルbjとの間で所定の位置関係を満足することに留意されたい。なぜなら、領域Cの代表点Grは、領域Cに対して所定の位置(任意)にあり、領域Cは各衝突ボクセルbjについて所定の位置(任意、例えば、領域Cの中心と一致)に設定されるからである。また、ここでは、Grjは、衝突ボクセルbjを中心として設定した衝突検出力領域Cの代表点Grの位置としている。基礎ベクトルfjの算出においては、衝突ボクセルbjの周囲に該ボクセルbjと所定の位置関係(任意)を満足するように設定された領域Cの代表点Grの位置Grjを用いればよい。
【0046】
模擬装置は、このようにして求めた基礎ベクトルfj(j:1、2、・・・、n)の平均をとることにより、法線ベクトル(反力の方向と一致するベクトル)を導出する。具体的には、法線ベクトルFは、
【数2】
・・・(式5)
である。
【0047】
なお、模擬装置は、基礎ベクトルの導出において、歯の内部組織に起因した各衝突ボクセルの切削容易性(硬さ)を考慮することもできる。この場合、歯ボクセルは、切削容易性(硬さ)に関する係数を保持すればよい。例えば、各ボクセルは、硬さが増大するにつれて増大する実数係数h(h>0)を保持する。また、重心Gcの計算においては、歯ボクセルの密度の違いを考慮することができる(図9)。この場合、歯ボクセルは、密度のデータを保持すればよい。例えば、図9(e)〜(h)を参照すれば、衝突領域は、エナメル質に対応する歯ボクセルから象牙質に対応する歯ボクセルに及んでいる。よって、衝突ボクセル集合は、エナメル質および象牙質の歯ボクセルで構成される。このとき、基礎ベクトルfは、
【数3】
・・・(式4’)
となる。ここで、前述のように、重心Gcjは、歯ボクセルの密度および容積を考慮して導出することもできる。
【0048】
また、模擬装置は、基礎ベクトルの導出において、ドリル10(切削具)の切削能力に、分布を与えることも可能である。例えば、ドリル10の特定の部分(例えば、先端部の外縁)に比較的高い切削能力を与え、ドリル10の別の部分(例えば、先端部の中央)には比較的低い切削能力を与えることができる。これによる効果は、上述の歯の硬さに関する補正係数hと同様の形式で基礎ベクトルの大きさに反映させることができる。この場合、模擬装置は、衝突ボクセルそれぞれが、ドリル10のいずれの部分と衝突しているかをチェックし、その結果に応じて、式4’の右辺においてさらに、ドリルの切削能力に関する補正係数を乗じる。
【0049】
そして、模擬装置は、ステップ4で求めた反力の大きさFR、および、本ステップで求めた法線ベクトルFに基づいて、反力を示すベクトルFRを導出する。例えば、反力ベクトルFRは、
【数4】
・・・(式6)
である。なお、式6右辺のベクトルFの絶対値を省略してもよい。この場合でも反力ベクトルFRの大きさは、反力の大きさに比例して変化することができる。また、切削可能領域Cの代表点Grの領域Cに対する関係の設定を変化させることにより、反力ベクトルFRの大きさを調整することができる。
【0050】
本発明にかかる方法では、衝突領域における物体の法線の方向を、衝突領域内の注目する点(衝突ボクセルbj)と、その近傍(領域C)の密度が不均一な物体質量の重心(Gcj)と、に基づいて導出した基礎ベクトルの平均とすることで、表面に関する情報を有さないデジタルデータで表現された物体の法線を決定している。また、衝突検出領域Dの形状、切削可能領域Cの形状、領域Cの代表点Grjの位置を変えることで、得られる力ベクトルに一定のバイアスを付与することができる。このバイアス量を調整することにより、後述するハプティック入出力装置への出力に一定のバイアスを付与し、ユーザがハプティック入出力装置から知覚する触覚を適切に調整することが可能となっている。
【0051】
以上のステップにより、模擬装置は、デジタルデータで表現された物体間の力学的相互作用で物体に作用する力(ベクトル量)を高速に計算することが可能となっている。なお、衝突した2物体のめり込み領域のあたりに生じた力をニュートンの運動方程式で管理すると、2の物体の平行移動に関する物理量を決定することも可能である。また、生じた力を「力のモーメント」の考え方で処理したり、それと物体の慣性モーメントIや角加速度αのあいだにあるニュートンの運動方程式とよく似た関係を利用すると、2つの物体の回転移動に関する物理量を決定することも可能である。
【0052】
特に、本方法は、衝突検出領域D、切削可能領域C、代表点Grなどを自由に設定することが可能である。これにより、本方法では、複数の材質で構成される剛体や軟組織などに対しても法線ベクトルを高速に計算できる。
【0053】
本方法では、物体のデジタルデータを用いているため、計算量を軽減することができる。計算により求めた反力は、触覚(力覚)を伝達可能なインターフェース装置を介して出力することにより、ユーザに物体の硬さや変形等を伝えることができる。上では、デジタルデータで表現される物体の例として、ドリル(切削具)と、歯(被切削物)の例を示した。しかしながら物体はこれに限定されず、例えば、切削具としては、メス、ドリル、柑子、スケーラー、注射針等が挙げられ、被切削物としては、骨、軟骨、内臓、筋肉、脂肪、表皮、血管、神経等が挙げられる。
【0054】
また、本方法のステップ3で得ためり込み位置(めり込み量)の情報により、ドリルと歯の相互作用を視覚的に表現することも容易になる。また、めり込み位置(めり込み量)の情報により、ドリルによる切削によって歯が変形する場合も、もともとGPUはSTL形式のデータ(三角面多面体)で表現された物体を表示するのに特化したプロセッサなので、歯の直方体群の変形とSTL形式のデータ(三角面多面体)の変形を連動させると、変形した歯の視覚的表現も容易になる。つまり、本方法は、仮想現実空間における切削加工等の模擬において触覚情報を高速かつ高品質に提供するうえで有用であるのみならず、当該模擬における視覚情報の生成においても一助となり得るものである。
【0055】
<具体的な応用例>
上記のデジタル法線の計算法は下記の技術分野に適用できる。
【0056】
(1)歯科教育用シミュレータ・手術支援ナビゲータの構築
・カリエス除去:虫歯を歯科バー(形状や能力に違いがある)で削り、削り残しや削り過ぎを評価する。
・支台形成:歯(エナメル質、象牙質)を歯科バー(形状や能力に違いがある)で削り、クラウンをうまく被せられる形に削れたか、歯(歯髄)などに切削が及んで失敗にならないかなどを評価する。
・歯石除去:歯石をスケーラーでスケーリングしたあと、ルートプレーニングで歯根表面の汚染・軟化されたエナメル質や象牙質を除去し、歯根面を硬く滑沢に仕上げる。
・歯周ポケット計測:歯と歯肉の間のポケットに探針を差し込んで深さを計測し、歯周病の進行状況(浅いとよいが深いと歯周病の可能性が高まる)を判断する。
など、仮想現実感より視覚・触覚・音声を模擬体感できる装置の構築に応用できる。
【0057】
図10は、上述のような用途で使用可能な模擬システムの構成を示すブロック図である。
【0058】
模擬システムは、模擬装置100と、ハプティック入出力装置4とで構成される。模擬装置100は、CPU1およびメモリ3を備えたコンピュータでよい。コンピュータは、さらに、GPU2を備えることが望まれる。GPU2が備わっている場合、物体の各微小要素(例えば、ボクセル)についての計算の大部分を並列的に高速に実行できるため、各物体に作用する力の大きさおよび方向の計算を高速化することができる。
【0059】
CPU1は、メモリ3に保持される模擬プログラムを読み出して実行することにより、模擬装置100を制御するとともに、ハプティック入出力装置4への力覚データの出力やハプティック入出力装置4からの位置(変位)データの入力を管理する。
【0060】
GPU2は、互いに干渉しあう物体間の力学的相互作用を模擬する模擬装置100の相互作用模擬部2を構成する。相互作用模擬部2は、上述のステップ1乃至5の全てまたは少なくとも一部を実行する手段を備える。具体的には、相互作用模擬部2は、デジタルデータ(点群、キューブ群、球群、直方体群等)形式の第1および第2の物体のデータを取得する取得手段と、第1の物体と第2の物体の干渉の有無をチェックするチェック手段と、第1の物体および第2の物体の位置に関する情報にもとづいて第1の物体が第2の物体にめり込む位置および量を決定するめり込み情報決定手段と、めり込む位置および量にもとづいて第1の物体に作用する力の大きさを決定する大きさ決定手段と、第1の物体と干渉する第2の物体の微小要素(点、キューブ(ボクセル)、球、等)それぞれについて、該微小要素と所定の位置関係を満足する領域に含まれる第2の物体の部分体の重心から、該微小要素と所定の位置関係を満足する代表点へ、向かうベクトルを基礎ベクトルとして求め、基礎ベクトルを総和してなるベクトルの方向にもとづいて第1の物体に作用する力の方向を決定する方向決定手段と、大きさ決定手段が決定した力の大きさと方向決定手段が決定した力の方向とにもとづいて、第1の物体に作用する力を決定して該力に関するデータを出力する出力手段と、を備える。なお、相互作用模擬部2の機能の全てまたは一部は、CPU1が実行してもよい。
【0061】
図11は、模擬装置100が実行する模擬プログラムによって実現される処理のフローチャートである。以下、図11を参照し、模擬装置100の動作について説明する。
【0062】
模擬装置100は、所定の時間周期でハプティック入出力装置4の先端部(参照点)の位置情報をサンプリングする(ステップS11)。ハプティック入出力装置4の先端部は、仮想現実空間における歯科バー先端部のドリルに対応する。
【0063】
模擬装置100のCPU1は、ステップS11においてサンプリングした位置情報にもとづいてハプティック入出力装置4の先端部の位置、速度、加速度等を導出する(ステップS12)。
【0064】
相互作用模擬部2の取得手段は、仮想現実空間におけるドリルおよび歯について、そのデジタルデータを生成する(ステップS13)。
【0065】
図12は、取得手段によるデジタルデータ生成を説明する模式図である。取得手段は、STL形式のデータとして表現されたドリル10、歯12(エナメル質12e、象牙質12i、歯髄12p)、歯肉12g、血管12vのデータを入力し、GPU2のZバッファ20のZバッファリング機能を用いて、デジタルデータ(直方体群)として表現されたドリル10r、歯(エナメル質12er、象牙質12ir、歯髄12pr)、歯肉12gr、血管12vrのデータを取得する。ここでは、全ての構成は、同一の共通の座標軸においてZバッファリングされる。
【0066】
次に、相互作用模擬部2のチェック手段は、仮想現実空間におけるドリルと歯の干渉の有無をチェックする(ステップS14)。
【0067】
干渉が検出された場合(ステップS14における「YES」)、相互作用模擬部2のめり込み情報決定手段は、ドリルが歯にめり込む位置および量を決定する(ステップS15)。このステップは、先述のステップ3に対応する。
【0068】
次に、相互作用模擬部2の大きさ決定手段は、ステップS15で求めためり込む位置および量にもとづいて、ドリルに作用する力の大きさを決定する(ステップS16)。
【0069】
次に、相互作用模擬部2の方向決定手段は、ステップS15で求めためり込む位置および量においてドリルに作用する力の方向を決定する(ステップS17)。
【0070】
図13は、基礎ベクトル導出を説明する模式図である。本図では、衝突領域(衝突ボクセル集合B)は3つの衝突ボクセルに分割される(図13(b))。図13(c−1、2、3)は、各衝突ボクセルについての、切削可能領域Cおよびその代表点Gr1、Gr2、Gr3を示す図である。図13(d−1、2、3)は、各衝突ボクセルについての切削可能領域Cに含まれる歯ボクセルおよびその重心点Gc1、Gc2、Gc3を示す図である。この場合、基礎ベクトルは、ベクトルGc1Gr1と、ベクトルGc2Gr2と、ベクトルGc3Gr3、の3つである。これらより、方向決定手段は、ドリルに作用する力の方向は、ベクトルGc1Gr1、ベクトルGc2Gr2、ベクトルGc3Gr3を総和してなるベクトルの方向と一致するように決定する。
【0071】
図14は、切削具としてのドリル10について、部位による切削能力の違いを考慮し、かつ被切削物としての歯12について、部位による硬さ(切削容易性)の違いを考慮して基礎ベクトルを導出する場合を説明する模式図である。本図では、ドリル10は、切削能力が高い部分10aと、切削能力が比較的低い部分10bとを有するものとし、歯12は、軟らかい部分12sと硬い部分12hとを有するものとしている。基礎ベクトルの算出においては、互いに干渉するドリルおよび歯の部位についてドリルの切削能力を表す実数係数と歯の硬さを表す実数係数の積をとり、それを基礎ベクトルGcjGrj(j:整数)に乗算する。そうすることで、ドリルに作用する力の方向に、ドリルの各部の切削能力や切削される歯の部分の硬さを反映させることができる。また、重心Gcj(j:整数)の算定において歯の組織の違いによる密度の違いを反映させてもよい(図9)。これにより、ドリルに作用する力の方向に、歯の部位による密度の違いを反映させることができる。
【0072】
最後に、相互作用模擬部2の方向決定手段は、大きさ決定手段が決定した力の大きさと方向決定手段が決定した力の方向とにもとづいて、第1の物体に作用する力(反力)を決定し、出力する(ステップS18)。このとき、この力ベクトルの起点は、以下のように重心点Gcj(j:1、2、・・・、n)の平均としても良いし、ドリルの各部の切削能力や切削される歯の部分の硬さを反映させて、それらの加重平均をとっても良い。
【数5】
・・・(式7)、
である。
【0073】
模擬装置100のCPU1は、方向決定手段が出力した反力の値および方向にもとづいて、ハプティック入出力装置4の制御モータを制御し、反力に相当する力覚をユーザに与える。
【0074】
以上の処理が繰り返されることにより、模擬装置100は、ハプティック入出力装置4を操作するユーザに対し、仮想現実空間においてドリルと歯が接触した際にドリルが歯から受ける反力に相当する力覚を提供する。
【0075】
(2)医科教育用シミュレータ・手術支援ナビゲータの構築
・触診:腹部や肝臓などの臓器を触診し、その腫れ具合から病気の有無、および進行状況を判断する。
・臓器の切開:胃や肝臓などの臓器をレーザーメスなどで切開したり、ガンなどの腫瘍を摘出したり、ガンの転移が危惧されるリンパ節を除去する。
・臓器同士の癒着剥離:ガンなどの発生より隣接する臓器が癒着する際、レーザーメスや柑子などをもちいてその癒着を剥がす。これは触覚が重要な役割を果たす処理である。
・骨の切削:関節置換術などの整形外科において、患者の骨を切削および/または切除する。また、骨腫瘍を切削および/または切除する。
・関節内の異物除去:関節内の軟骨のかけら除去。
など、仮想現実感より視覚・触覚・音声を模擬体感できる装置の構築に応用できる。
【0076】
図10にその構成を図示した模擬システムは、上記した用途に応用することも容易である。
【0077】
図15および図16は、STL形式で表現されたメスおよび臓器をGPUのZバッファリング機能で直方体群に変換する様子を示した模式図である。GPUのZバッファリング機能により、STL形式で表現されたメスや臓器は、直方体群(r1〜r6)に変換される。GPUのZバッファリング機能を利用すれば、メスと臓器を共通の座標軸に則って直方体群に高速に変換することができる。メスが臓器に接触した場合の処理は、上述したドリルによる歯の切削の模擬と同様の処理で行えばよい。
【0078】
このように、本発明にかかる方法および装置によれば、デジタルデータ(点群、キューブ(ボクセル)群、球群、直方体群)で表現された物体同士の接触に伴う力学的相互作用において物体に作用する力の大きさおよび方向を高速かつ簡便に導出することができる。本発明においては、物体の表面を陽に規定しないデジタルデータから、直接的に(物体の表面を導出することなしに)、相互作用において物体に作用する力(反力等)の大きさおよび方向を導出することができる。本発明により、仮想現実空間における物体間の力学的相互作用により物体に作用する反力等をハプティック入出力装置を介してユーザに力覚として出力することが容易になる。
【0079】
なお、動いている(変形しない)物体を点群、静止している(変形する)物体をボクセル群と定めているが、相対運動の考え方より動いている(変形しない)物体をボクセル群、静止している(変形する)物体を点群として表現してもよい。また、両物体ともに動く場合であっても、やはり相対運動の考え方よりどちらかを静止させることで、本発明にかかるアルゴリズムをそのまま利用できる。さらに、点群やボクセル群の一部を削除することで、衝突する物体の両方とも変形させることも可能である。
【0080】
本発明にかかる方法は、デジタルデータを高速処理できるGPUで動作させることで、その能力をいかんなく発揮できる。一般に、GPUは、動く物体の座標変換も高速に計算可能であるため、本方法で用いる座標変換計算とGPUの機能との親和性は非常に高い。最後に、物体は点群、ボクセル群、球群などはもちろん、GPUのZバッファ処理機能より短冊群に変換できる形式(通常はSTL形式、Standard Triangulated Language 形式)であれば、多面体はSTL形式(三角面多面体)でなくてもでもよい。
【0081】
本発明は、歯科教育用シミュレータ・手術支援ナビゲータや医科教育用シミュレータ・手術支援ナビゲータ等の、仮想現実感より視覚・触覚・音声を模擬体感できる装置の構築に応用できる。
【産業上の利用可能性】
【0082】
本発明は、触覚情報を出力可能な模擬装置として有用である。
【符号の説明】
【0083】
1: CPU
2: GPU(GPGPU)
3: メモリ
4: ハプティック入出力装置
10: ドリル
10r: 直方体群に変換されたドリル
12: 歯
12r: 直方体群に変換された歯
12e: エナメル質
12er:直方体群に変換されたエナメル質
12i: 象牙質
12ir:直方体群に変換された象牙質
12p: 歯髄
12pr:直方体群に変換された歯髄
12g: 歯肉
12gr:直方体群に変換された歯肉
12v: 血管
12vr:直方体群に変換された血管
20: Zバッファ
100: 模擬装置
C: 切削可能領域
D: 衝突検出領域
Gr: 切削可能領域代表点
【技術分野】
【0001】
本発明は、物体間の力学的相互作用を模擬する装置に関し、特に、互いに干渉しあう物体間に作用する力を模擬する装置に関する。
【背景技術】
【0002】
従来、3次元の物体を表現するため、点群、ボクセル群、および、球群、ならびに、それらを位置に関する階層構造で表現したオクトツリーやHSM(Hierarchical Sphere Model)など(以下、これらおよびこれらに類似するデータ構造を備えたデータを「デジタルデータ」と称する。)が用いられる。しかしながら、デジタルデータは、物体の表面形状を明確に規定しない。そのため、デジタルデータが表す物体の表面形状を一意に決定するには、例えば、「マーチングキューブズ法」などが用いられる。
【0003】
「マーチングキューブズ法」によれば、デジタルデータが表す物体の表面のキューブ群を、パッチ(有限平面)の集合で接続することができるものの、デジタルデータが表す物体の表面の法線分布を規定することはできない。そのため、「マーチングキューブズ法」で与えられる表面を用いて、他の物体との衝突や他の物体による切削により物体の表面に発生する力を求めることはできない。そもそも、「マーチングキューブズ法」は、離散(デジタル)データを多面体という連続(アナログ)データに変換することで、その視覚リアリティーを向上させることを目的としており、その意識は物体の表面にしかない。
【0004】
これと同様に、視覚リアリティーを向上させるための別方法として「バンプマッピング」、「法線マッピング」、「テクスチャーマッピング」などがある。
【0005】
例えば、バンプマッピングでは、法線が変化されるだけであり、その幾何学的特徴は変化しない。例えば、対象物体を球体とすると、バンプマッピングの後であっても、そのシルエットに凸凹はない。したがって、視覚的に質感を感じさせるテクニックといえる。他の方法も、表面の滑らかさやザラザラさを、予めデザインされた模様(パターン)を張り付けたり、表面法線分布のみを加工したりすることで、物体の見た目の質感を追求するものである。しかし、これらの方法は、デジタル物体の表面状態を正確に考慮して、滑らかさや法線を決定するものではない。さらに、これらの方法は、視覚で支配的な物体の表面にしか意識はない。
【0006】
特許文献1は物体間の接触判定の方法を開示する。特許文献1では、事前に距離関数を与え、それらを解くことでベクトルを算出し、物体に働く力を生成している。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2007−114866号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
ある物体を別の物体で操作する、といった物体間の力学的相互作用を模擬する場合、物体間の干渉を高速に検出する必要がある。このとき、各々の物体を連続(アナログ)モデルで表現するのではなく、離散(デジタル)モデルで表現したほうが、はるかに高速に2物体間の干渉を検出可能である。特に、ある物体が別の物体を切削するなどして変形させるとき、別の物体は複雑な凹形状になるので、連続(アナログ)モデルの代表例である多面体を干渉チェックやめり込み量検出のため凸分割しなければならなくなるが、これは極めて煩雑な計算を要する。
【0009】
2物体の干渉チェックの高速性および正確性の観点から、物体を各種デジタルデータそれぞれで表現した場合の有利点・不利点を整理する。ここでは、物体が回転移動する場合と、回転移動しない場合との2つの場合についてそれぞれ干渉チェックの高速性および精確性について考察する。
【0010】
物体が回転移動する場合:
・点集合:領域を離散的に表現できる。回転移動により形状は不変。干渉の見逃しあり。見逃し精度は点密度と関係。階層構造は高速判定用。
・球集合:領域を離散的に表現できる。回転移動により形状は不変。干渉の見逃しなし。階層構造は高速判定用。
・線分集合:領域を離散的に表現できる。回転移動により形状は変化。干渉の見逃しあり。見逃し精度は線密度と関係。距離計算に時間がかかり中途半端なので有用性はない。
・パッチ集合≪多面体≫:内部干渉の調査のための集合演算の計算時間膨大。干渉・非干渉のチェックも凸多面体同士以外は計算時間膨大。
・立方体や直方体(座標軸に並行又は垂直な面で区切られた空間)の集合:回転移動がある場合、座標を合わせるたびに階層構造を作り換えなければならない。座標を合わせなければ多面体同士の干渉チェックとなる。いずれも、膨大な計算時間が必要となり不適。
【0011】
物体が回転移動しない場合(物体が固定、または、平行移動のみの場合):
・点集合:領域を離散的に表現できる。干渉の見逃しあり。見逃し精度は点密度と関係。相手方も点集合の場合、干渉見逃し多数で有用性なし。
・球集合:領域を離散的に表現できる。干渉の見逃しなし。立方体集合に比べ重複が出ることからメモリ効率は悪い。
・線分集合:領域を離散的に表現できる。干渉の見逃しあり。見逃し精度は線密度と関係。相手方も線分集合の場合、干渉見逃し多数。距離計算に時間がかかり中途半端なので有用性はない。
・パッチ集合≪多面体≫:干渉領域を計算する時間は膨大。また、凹多角形の場合、それを凸多角形の集合に変換する時間も膨大。
・立方体や直方体(座標軸に並行や垂直の面で区切られた空間)の集合:領域表現可能。
【0012】
よって、回転移動する物体と回転移動しない物体との干渉をチェックする場合、一定の精度以上の内部干渉を見逃すことを許すなら、点集合−ボクセル集合(立方体や直方体)の組み合わせの効率が最も高く、逆に内部干渉の見逃しを許さないならば、球集合−ボクセル集合の組み合わせの効率が最も高いことがわかる。
【0013】
しかし、連続(アナログ)モデルとは異なり、離散(デジタル)モデル(デジタルデータで表現された物体)は明確な表面を持っていない。そのため、2つの物体が接触したり、ある物体が別の物体を切削したりするときの接触力や切削力の導出にとって不可欠な、法線ベクトルをデジタルデータから直接的に定めることができない。これでは、2つの物体の間の力学的相互作用の模擬ができない。
【0014】
一般に、物体の切削加工や、外力による変形を模擬する場合、切削操作される物体と切削操作する物体との干渉を高速に検出し、かつ切削された複雑な形状の物体を高速に変形させるため、それらをデジタルデータで表現してから干渉を検出するという過程を経ることが多い。特に、切削操作される物体が変形し凹形状になる場合、その凸分割には膨大な計算時間がかかるので、デジタルデータを利用せざるを得ない。
【0015】
しかしながら、デジタルデータ自体には、もともと表面や法線といった概念に対応する量がない。このうち、表面については、前述のマーチングキューブズ法で導出できるが、法線を簡便かつ高速に導出する方法はいまだ提案されていない。とくに、ある物体が別の物体にめり込むようにして相互作用する場合に該物体が別の物体から受ける反力の方向に対応する法線を高速かつ簡便に導出する方法は、未だ知られていない。
【0016】
以上の課題を鑑み、本発明は、デジタルデータで表現された物体の力学的相互作用において物体間に作用する力を高速に計算するための装置を提供する。
【課題を解決するための手段】
【0017】
その一態様は、仮想空間での物体間の力学的相互作用において物体に作用する力を模擬する模擬装置であって、デジタルデータ形式で表現された第1物体および第2物体のデータを取得する取得手段と、第1物体および第2物体の位置に関する情報にもとづいて、第1物体が第2物体にめり込む位置および量を決定するめり込み情報決定手段と、めり込み情報決定手段が決定しためり込む位置および量にもとづいて、第1物体に作用する力の大きさを決定する大きさ決定手段と、第1物体と干渉する第2物体の微小要素それぞれについて、該微小要素と所定の位置関係を満足する領域に含まれる第2物体の部分体の重心から、該微小要素と所定の位置関係を満足する代表点へ、向かうベクトルを基礎ベクトルとして求め、該基礎ベクトルを総和してなるベクトルの方向にもとづいて第1物体に作用する力の方向を決定する方向決定手段と、大きさ決定手段が決定した力の大きさと、方向決定手段が決定した力の方向と、にもとづいて、第1物体に作用する力を決定し出力する出力手段と、を有する模擬装置である。
【0018】
別の一態様は、コンピュータを備えた模擬装置において、仮想空間での物体間の力学的相互作用において物体に作用する力を模擬する方法であって、コンピュータの演算手段が、デジタルデータ形式で表現された第1物体および第2物体のデータを取得するステップと、演算手段が、第1物体および第2物体の位置に関する情報にもとづいて、第1物体が第2物体にめり込む位置および量を決定するステップと、演算手段が、位置および量を決定するステップにおいて決定されためり込む位置および量にもとづいて、第1物体に作用する力の大きさを決定するステップと、演算手段が、第1の物体と干渉する第2物体の微小要素それぞれについて、該微小要素と所定の位置関係を満足する領域に含まれる第2物体の部分体の重心から、該微小要素と所定の位置関係を満足する代表点へ、向かうベクトルを基礎ベクトルとして求め、該基礎ベクトルを総和してなるベクトルの方向にもとづいて第1物体に作用する力の方向を決定するステップと、演算手段が、大きさを決定するステップにおいて決定された大きさと、方向を決定するステップにおいて決定された方向と、にもとづいて、第1物体に作用する力を決定し出力するステップと、を有する方法である。
【0019】
さらに別の一態様は、コンピュータに、仮想空間での物体間の力学的相互作用において物体に作用する力を模擬させるためのコンピュータ・プログラムであって、コンピュータに、デジタルデータ形式で表現された第1物体および第2物体のデータを取得するステップと、第1物体および第2物体の位置に関する情報にもとづいて、第1物体が第2物体にめり込む位置および量を決定するステップと、位置および量を決定するステップにおいて決定されためり込む位置および量にもとづいて、第1物体に作用する力の大きさを決定するステップと、第1の物体と干渉する第2物体の微小要素それぞれについて、該微小要素と所定の位置関係を満足する領域に含まれる第2物体の部分体の重心から、該微小要素と所定の位置関係を満足する代表点へ、向かうベクトルを基礎ベクトルとして求め、該基礎ベクトルを総和してなるベクトルの方向にもとづいて第1物体に作用する力の方向を決定するステップと、大きさを決定するステップにおいて決定された大きさと、方向を決定するステップにおいて決定された方向と、にもとづいて、第1物体に作用する力を決定し出力するステップと、を実行させるコンピュータ・プログラムである。
【発明の効果】
【0020】
本発明は、デジタルデータで表現された物体のデータから直接的に、物体に作用する力の方向を導出することにより、高速に物体に作用する力を求めることが可能となっている。
【図面の簡単な説明】
【0021】
【図1】デジタルデータで表現された歯とバーの例図
【図2】デジタルデータ(点群)で表現された歯科バーの例図
【図3】デジタルデータ(ボクセル群)で表現された歯の例図
【図4】GPUのZバッファリングによる、物体の直方体表現導出の概念図
【図5】バーと歯の干渉チェックの概念図
【図6】衝突検出領域Dの自由設定を説明する図
【図7】切削可能領域Cの自由設定を説明する図
【図8】代表点Grの自由設定を説明する図
【図9】切削容易性(硬さ等)が異なる複数の素材の切削における計算例を示す図
【図10】歯科教育用シミュレータの構成を示すブロック図
【図11】歯科教育用シミュレーションのフローチャート
【図12】ドリルおよび歯、ならびに、その直方体表現(共通座標軸)の模式図
【図13】基礎ベクトルの計算を説明する概念図
【図14】切削容易性(硬さ等)が異なる複数の素材の切削における計算例を示す図
【図15】メスおよび肝臓、ならびに、その直方体表現(共通座標軸)の模式図
【図16】メスおよび内蔵、ならびに、その直方体表現(共通座標軸)の模式図
【発明を実施するための形態】
【0022】
(実施の形態1)
以下、添付の図面を参照して、本発明の実施の形態1にかかるデジタル法線の計算方法について説明する。実施の形態1にかかるデジタル法線の計算方法(すなわち計算アルゴリズム)は、コンピュータを用いて法線を計算する方法であって、例えばGPU(Graphics Processing Unit)により実行される。そのようなGPUは専用プログラミング言語OpenCL(Open Computing Language)やCUDA(Compute Unified Device Architecture)によりデジタル法線の計算アルゴリズムを実現するよう自由にプログラムされる。
【0023】
ここで、デジタル法線とは、「デジタルデータ(デジタルモデル)」(点群、ボクセル群、および、球群、ならびに、それらを位置に関する階層構造で表現したオクトツリーやHSM(Hierarchical Sphere Model)など)で表現された物体に対し作用する力(またはその力に対する反力)の方向と一致する方向を有する有向線分である。本実施形態においては、デジタル法線は、例えば、デジタルデータで表現された複数の物体が互いに干渉しあうときに物体間に働く力の方向をよく模擬するベクトル量として導出される。
【0024】
以下では、一例として、ある物体(被切削物)を別の物体(切削具)により切削する場合において、両物体間に作用する力の法線ベクトルを求める場合のデジタル法線の計算方法(計算アルゴリズム)について説明する。
【0025】
本アルゴリズムは、図示しないコンピュータにより実行される。コンピュータ(以下、「模擬装置」と称する)は、本アルゴリズムを実行するためのプログラムを備え、中央処理装置がそのプログラムを実行する。模擬装置は、さらにGPU(Graphics Processing Unit)を備えており、プログラムは、本アルゴリズムの少なくとも一部をGPUで実行すること(GPGPU、General-Purpose computing on Graphics Processing Units)に最適化されている。つまり、以下で説明される各ステップは、模擬装置の中央処理装置、GPU、記憶手段(メモリ、ハードディスク等)の協働的作用により実施される。なお、GPUは必須ではない。本アルゴリズムは、模擬装置のCPUのみで実施することも可能である。本アルゴリズムを実行するためのプログラムは、半導体メモリ、磁気ディスク、光ディスク等に記憶されてよい。また、本アルゴリズムを実行するためのプログラムは、インターネット等を通じて配信されることも可能である。
【0026】
(ステップ1)
切削する物体(医師や歯科医師が操作する物体、例えば、歯科バー)と切削される物体(医師や歯科医師に操作される物体、例えば、歯)をデジタル情報(点群、キューブ群、球群など)に変換する(図1参照)。デジタル情報(デジタルデータ)として、例えば、図2に示すような歯科バーの点群や、図3に示すような歯列のキューブ群(オクトツリー表現)や、図4に示すような、GPUのZバッファと並列処理の機能で処理される直方体群や、軟組織を変形可能パーティクルで表現する場合のパーティクル群などが含まれる。
【0027】
図1は、歯(被切削物)および歯科バーのドリル(切削具)をそれぞれ、キューブ(ボクセル)群のオクトツリー表現、および、点群で表現する方法を示す概念図である。図2は、点群で表現されたドリル、および、ドリルが取り付けられた歯科バーの例図である。図3は、ボクセル群のオクトツリーで表現された歯の例図である。
【0028】
図4は、模擬装置の備えるGPUのZバッファリング機能を用いて歯12の直方体群による表現を導出する概念図である。ここでは、直方体群で表現された物体も、デジタルデータで表現された物体に含まれる。図示しないGPUは、Zバッファ20に垂直な方向について、歯12の存在範囲を取得し、記憶する。なお、ここでの歯12は、例えば、STL(Standard Triangulated Language)形式で記述されたデータで表現される物体であるとする。これにより、Zバッファ20には、歯12を直方体群で表現したデータ(デジタルデータ)が蓄積される。また、図示しないGPUは、直方体群をさらに小さなキューブ(ボクセル)に分割することも可能である。このとき、GPUは、各キューブと、Zバッファ20に記憶された歯12の存在範囲との関係により、各ボクセルを、歯12内部のボクセル(図4(b))、歯12を構成しないボクセル(図4(c))、または、歯12の界面を構成するボクセル(図4(d))のいずれかに区別して扱うことも可能である。また、歯科バーの先端部のドリル(図2)についても、同様に、STL形式で表現されたドリルのデータを、まず、ボクセル群に変換し、次に、それをボクセルの頂点群または重心群により点群で表現したデータ(デジタルデータ)に変換することができる。
【0029】
このようにして、ステップ1では、模擬装置は力学的相互作用を模擬する対象となる物体のデジタルデータ表現を取得する。なお、図4で示したデジタルデータへの変換工程は必須ではない。模擬装置は、別の方法により模擬対象を表すデジタルデータを取得してよい。
【0030】
(ステップ2)
次に模擬装置はステップ1で取得した、それらのデジタル情報(デジタルデータ)間の干渉をチェックする(図5)。例えば、図2の歯科バーの点を図3の歯列のキューブ群(オクトツリー)に落とし込んで、点とキューブの干渉を逐次的または並列的にチェックする。但し、干渉チェックする両物体の座標系は、事前に合致させておくと有利である。例えば、GPUが操作する直方体群が2群ある場合、それらの座標系を事前に合致させた後、共通の座標系に則ってそれらの干渉をチェックすることになる(図4、図12、図15、図16等参照)。
【0031】
なお、干渉のチェックは、上記の方法に限定されない。干渉が検出されると、模擬装置は、次のステップ3において、被切削物の切削容易性(硬さ等)および切削具の切削能力に基づいて切削具が被切削物にめり込む程度(両物体の相対的位置関係)を決定する。
【0032】
(ステップ3)
次に模擬装置は、切削される物体(被切削物)の位置情報および硬さ(例えば、歯ボクセルは、エナメル質、象牙質、歯髄、う蝕などの材質ごとに異なった硬さデータを保持)、ならびに、切削する物体(切削具)の位置情報(これには、位置のほか、速度、加速度等を含んでよい。)および切削能力(物体の形状と別に切削領域を定義する。よく削れる部分とあまり削れない部分を持つもの、または、よく削れるものからあまり削れないものまで多様なものを用意)より、めり込み位置を決める(図5参照)。この際、模擬装置は、2つの物体の干渉状態を指標として、それらの動きを二分探索やニュートン法、もしくはそれらに類似の方法で探索し、めり込み位置(すなわち、めり込み量)を試行錯誤しながら高速に決定する。ここで、この指標としては、ケルビン・フォークト・モデルに基づいて計算された、両物体に作用する力の絶対値(大きさ)でよい。また、指標は、ケルビン・フォークト・モデル以外の粘弾性モデルに基づいて計算される力の絶対値(大きさ)でもよい。さらには、指標は、粘弾性モデル以外の力学的モデルから導出される量でもよい。あるいは、指標は、めり込み状態を関数で表現したものでもよいし、めり込み状態を関数で表現できなければ、それをルックアップテーブルで表現したものでもよい。
【0033】
このようにして、模擬装置はステップ3において、被切削物と切削具の相対的位置関係を決定する。模擬装置は、ステップ4においては、ステップ3で決定した位置関係において切削具に作用する力(切削具が被切削物から受ける反力)を計算する。
【0034】
(ステップ4)
模擬装置は、ステップ3で決定しためり込み量より、力(切削具が被切削物から受ける反力)の絶対値(大きさ)を決定する。この際によく用いられるのは、ケルビン・フォークト・モデルを用いる方法である。それは、めり込み量をバネ定数に乗算し、また、干渉直前の相対速度にダンパ定数を乗算し、それらの積を加算するものである。しかし、衝突物体同士のめり込み状態、および衝突直前の速度や加速度などを利用する限り、ケルビン・フォークト・モデルにとらわれるものではない。
【0035】
例えば、模擬装置は、ケルビン・フォークト・モデルに基づいて、切削具に作用する力の絶対値(大きさ)を次のようにして決定する。先ず、模擬装置は、被切削物(歯)の変形にかかる抗力の係数(バネ定数k)、および、変形速度に応じた抗力の係数(粘性定数c)を求める。模擬装置は、バネ定数kを、
k=(Ne×ke+Ni×ki+Np×kp)/(Ne+Ni+Np) ・・(式1)、
より決定する。ここで、Neは、切削具と干渉するエナメル質ボクセルの数であり、keは、エナメル質ボクセルのバネ定数であり、Niは、切削具と干渉する象牙質ボクセルの数であり、kiは、象牙質ボクセルのバネ定数であり、Npは、切削具と干渉する歯髄ボクセルの数であり、kpは、歯髄ボクセルのバネ定数である。また、模擬装置は、粘性定数cを、
c=(Ne×ce+Ni×ci+Np×cp)/(Ne+Ni+Np) ・・(式2)、
より決定する。ここで、ceは、エナメル質ボクセルの粘性定数であり、ciは、象牙質ボクセルの粘性定数であり、cpは、歯髄ボクセルの粘性定数である。次に、模擬装置は、ステップ3で求めた切削具(ドリル)のめり込み量d、および、別途求めた切削具(ドリル)の被切削物に対する相対速度vに基づいて、反力FRの大きさを、
FR=k×d+c×v ・・・(式3)、
より決定する。
【0036】
このようにして、模擬装置はステップ4において、切削具が受ける反力の大きさを決定することができる。模擬装置は、次のステップ5においては該反力の方向を決定する。
【0037】
(ステップ5)
次に、模擬装置は、反力の方向を決定する。具体的には、模擬装置は、切削具および被切削物の相対的位置関係に基づいてデジタル法線を計算する。
【0038】
まず、模擬装置は、後述する衝突検出領域Dおよび切削可能領域Cを設定する。次に、模擬装置は、衝突検出領域Dが他の物体(被切削物)とめり込む領域(「衝突領域」または「干渉領域」)を計算する。そして、模擬装置は、被切削物が図4に示したような直方体群で表現されている場合、めり込み領域(衝突領域)を微小要素に離散化(分割)し(元から被切削物の衝突領域が微小要素の集合に分割されているデジタルデータがあればそれを使用してもよい)、衝突領域を構成する微小要素群を細かい領域(キューブ(ボクセル)、球、点などのデジタルデータで表現される領域)の集合として表現する。
【0039】
なお、衝突検出領域Dは、任意形状に設定可能な3次元領域である。例えば、衝突検出領域Dは、操作する物体(切削具)の形状と同じ形をした3次元領域である。また、衝突検出領域Dは、操作する物体(切削具)の形状と異なってもよい。例えば、図6(a)は物体(切削具)全体が衝突検出領域Dとなっており、図6(b)(c)(d)は物体(切削具)とは違う形の領域(直方体、切削面のみ、楕円体)が衝突検出領域Dとなっている。模擬装置は、衝突検出領域Dに設定された領域について、被切削物との干渉(衝突)の有無を検出する。また、切削可能領域Cも、任意形状に設定可能である。切削可能領域Cは、衝突検出領域Dと同じ形状でよい。または、切削可能領域Cは、衝突検出領域Dと異なる形状でもよい。例えば、図7(a)、(b)では、衝突領域(衝突ボクセル集合B)は3つの衝突ボクセルに分割される。そして、図7(c)では、直方体の切削可能領域Cを設定しており、図7(d)では、球形状の切削可能領域Cを設定しており、図7(e)では、楕円体の切削可能領域Cを設定している。また、模擬装置は、切削可能領域Cに代表点Grを設定する。切削可能領域Cの代表点Grは、領域Cの重心、中心といった、領域Cの幾何形状にもとづく特徴点と一致させてよい(図8(a)(b)(c))。だが、領域Cの代表点Grと領域C自体との関係について特に制限はなく、特徴点Grは領域Cとの任意の関係性に基づいて設定可能である(図8(a)(d)(e)(f))。
【0040】
次に、模擬装置は、各々の細かい領域ごと(衝突領域を分割した微小要素ごと)に基礎ベクトル(デジタル法線ベクトルの計算において基礎となるベクトル)を計算する。図9を参照し、基礎ベクトルの計算方法を説明する。
【0041】
図9はステップ3において決定しためり込み位置における基礎ベクトル導出の過程を説明する模式図である。図9(a)〜(d)は均一な硬さを有する歯12での基礎ベクトルの導出を説明する図であり、図9(e)〜(h)は、歯の内部組織に起因した硬さ(切削容易性)の不均一性を考慮しながら基礎ベクトルを導出する場合を説明する図である。このように、被切削物の一部に硬い部分と軟らかい部分が混在すると、例えば、重心点Gcの位置を変えることで基礎ベクトルにバリエーションを与えることができる。但し、被切削物に硬い部分と軟らかい部分が混在することによる力の方向の変化はこれに限らない。
【0042】
模擬装置は、ステップ3で決定しためり込み位置近傍において、図4に示したような直方体群で表現される歯12(被切削物)を微小要素に分割する(図9(a))。微小要素は、例えば、ボクセルである。なお、微小要素は、点、球、といった要素でもよい。
【0043】
次に、模擬装置は、衝突領域(ドリル10と歯12とが干渉し合っている領域)の歯ボクセル(衝突ボクセル)を特定する。図9(b)では、衝突領域の歯ボクセルの集合を衝突ボクセル集合Bとしている。
【0044】
そして模擬装置は、衝突ボクセル集合Bの各衝突ボクセルについて、それぞれ基礎ベクトルを求める。例えば、図9(b)の集合Bにおける上から2段目で左から2つ目の衝突ボクセルについては、該衝突ボクセルを中心として切削可能領域Cを設定し、切削可能領域Cに含まれる歯ボクセルの重心Gcを求める。(なお、一部が領域Cに含まれるボクセルも含めてよい。)そして、注目している衝突ボクセルを中心として設定される切削可能領域Cに含まれる歯ボクセルの重心Gcから、当該領域Cの代表点Grへ、向かうベクトル(ベクトルGcGr)を、注目している衝突ボクセルについての基礎ベクトルとする(図9(c)(g))。模擬装置は、同様にして他の衝突ボクセルについても基礎ベクトルを求める。図9(d)(h)は、集合Bの上から5段目で左から3つ目の衝突ボクセルについて求めた基礎ベクトルを例示する図である。
【0045】
衝突ボクセル集合Bを構成する衝突ボクセルをbj(j:1、2、・・・、n)とすれば、基礎ベクトルfj(j:1、2、・・・、n)は、
【数1】
・・・(式4)
である。ここで、Grjは、衝突ボクセルbjを中心として設定した切削可能領域Cの代表点の位置であり、Gcjは、衝突ボクセルbjを中心として設定される切削可能領域Cに含まれる歯ボクセルの重心の位置である。ここで、切削可能領域Cの代表点Grjは、あらゆるjにおいて、衝突ボクセルbjとの間で所定の位置関係を満足することに留意されたい。なぜなら、領域Cの代表点Grは、領域Cに対して所定の位置(任意)にあり、領域Cは各衝突ボクセルbjについて所定の位置(任意、例えば、領域Cの中心と一致)に設定されるからである。また、ここでは、Grjは、衝突ボクセルbjを中心として設定した衝突検出力領域Cの代表点Grの位置としている。基礎ベクトルfjの算出においては、衝突ボクセルbjの周囲に該ボクセルbjと所定の位置関係(任意)を満足するように設定された領域Cの代表点Grの位置Grjを用いればよい。
【0046】
模擬装置は、このようにして求めた基礎ベクトルfj(j:1、2、・・・、n)の平均をとることにより、法線ベクトル(反力の方向と一致するベクトル)を導出する。具体的には、法線ベクトルFは、
【数2】
・・・(式5)
である。
【0047】
なお、模擬装置は、基礎ベクトルの導出において、歯の内部組織に起因した各衝突ボクセルの切削容易性(硬さ)を考慮することもできる。この場合、歯ボクセルは、切削容易性(硬さ)に関する係数を保持すればよい。例えば、各ボクセルは、硬さが増大するにつれて増大する実数係数h(h>0)を保持する。また、重心Gcの計算においては、歯ボクセルの密度の違いを考慮することができる(図9)。この場合、歯ボクセルは、密度のデータを保持すればよい。例えば、図9(e)〜(h)を参照すれば、衝突領域は、エナメル質に対応する歯ボクセルから象牙質に対応する歯ボクセルに及んでいる。よって、衝突ボクセル集合は、エナメル質および象牙質の歯ボクセルで構成される。このとき、基礎ベクトルfは、
【数3】
・・・(式4’)
となる。ここで、前述のように、重心Gcjは、歯ボクセルの密度および容積を考慮して導出することもできる。
【0048】
また、模擬装置は、基礎ベクトルの導出において、ドリル10(切削具)の切削能力に、分布を与えることも可能である。例えば、ドリル10の特定の部分(例えば、先端部の外縁)に比較的高い切削能力を与え、ドリル10の別の部分(例えば、先端部の中央)には比較的低い切削能力を与えることができる。これによる効果は、上述の歯の硬さに関する補正係数hと同様の形式で基礎ベクトルの大きさに反映させることができる。この場合、模擬装置は、衝突ボクセルそれぞれが、ドリル10のいずれの部分と衝突しているかをチェックし、その結果に応じて、式4’の右辺においてさらに、ドリルの切削能力に関する補正係数を乗じる。
【0049】
そして、模擬装置は、ステップ4で求めた反力の大きさFR、および、本ステップで求めた法線ベクトルFに基づいて、反力を示すベクトルFRを導出する。例えば、反力ベクトルFRは、
【数4】
・・・(式6)
である。なお、式6右辺のベクトルFの絶対値を省略してもよい。この場合でも反力ベクトルFRの大きさは、反力の大きさに比例して変化することができる。また、切削可能領域Cの代表点Grの領域Cに対する関係の設定を変化させることにより、反力ベクトルFRの大きさを調整することができる。
【0050】
本発明にかかる方法では、衝突領域における物体の法線の方向を、衝突領域内の注目する点(衝突ボクセルbj)と、その近傍(領域C)の密度が不均一な物体質量の重心(Gcj)と、に基づいて導出した基礎ベクトルの平均とすることで、表面に関する情報を有さないデジタルデータで表現された物体の法線を決定している。また、衝突検出領域Dの形状、切削可能領域Cの形状、領域Cの代表点Grjの位置を変えることで、得られる力ベクトルに一定のバイアスを付与することができる。このバイアス量を調整することにより、後述するハプティック入出力装置への出力に一定のバイアスを付与し、ユーザがハプティック入出力装置から知覚する触覚を適切に調整することが可能となっている。
【0051】
以上のステップにより、模擬装置は、デジタルデータで表現された物体間の力学的相互作用で物体に作用する力(ベクトル量)を高速に計算することが可能となっている。なお、衝突した2物体のめり込み領域のあたりに生じた力をニュートンの運動方程式で管理すると、2の物体の平行移動に関する物理量を決定することも可能である。また、生じた力を「力のモーメント」の考え方で処理したり、それと物体の慣性モーメントIや角加速度αのあいだにあるニュートンの運動方程式とよく似た関係を利用すると、2つの物体の回転移動に関する物理量を決定することも可能である。
【0052】
特に、本方法は、衝突検出領域D、切削可能領域C、代表点Grなどを自由に設定することが可能である。これにより、本方法では、複数の材質で構成される剛体や軟組織などに対しても法線ベクトルを高速に計算できる。
【0053】
本方法では、物体のデジタルデータを用いているため、計算量を軽減することができる。計算により求めた反力は、触覚(力覚)を伝達可能なインターフェース装置を介して出力することにより、ユーザに物体の硬さや変形等を伝えることができる。上では、デジタルデータで表現される物体の例として、ドリル(切削具)と、歯(被切削物)の例を示した。しかしながら物体はこれに限定されず、例えば、切削具としては、メス、ドリル、柑子、スケーラー、注射針等が挙げられ、被切削物としては、骨、軟骨、内臓、筋肉、脂肪、表皮、血管、神経等が挙げられる。
【0054】
また、本方法のステップ3で得ためり込み位置(めり込み量)の情報により、ドリルと歯の相互作用を視覚的に表現することも容易になる。また、めり込み位置(めり込み量)の情報により、ドリルによる切削によって歯が変形する場合も、もともとGPUはSTL形式のデータ(三角面多面体)で表現された物体を表示するのに特化したプロセッサなので、歯の直方体群の変形とSTL形式のデータ(三角面多面体)の変形を連動させると、変形した歯の視覚的表現も容易になる。つまり、本方法は、仮想現実空間における切削加工等の模擬において触覚情報を高速かつ高品質に提供するうえで有用であるのみならず、当該模擬における視覚情報の生成においても一助となり得るものである。
【0055】
<具体的な応用例>
上記のデジタル法線の計算法は下記の技術分野に適用できる。
【0056】
(1)歯科教育用シミュレータ・手術支援ナビゲータの構築
・カリエス除去:虫歯を歯科バー(形状や能力に違いがある)で削り、削り残しや削り過ぎを評価する。
・支台形成:歯(エナメル質、象牙質)を歯科バー(形状や能力に違いがある)で削り、クラウンをうまく被せられる形に削れたか、歯(歯髄)などに切削が及んで失敗にならないかなどを評価する。
・歯石除去:歯石をスケーラーでスケーリングしたあと、ルートプレーニングで歯根表面の汚染・軟化されたエナメル質や象牙質を除去し、歯根面を硬く滑沢に仕上げる。
・歯周ポケット計測:歯と歯肉の間のポケットに探針を差し込んで深さを計測し、歯周病の進行状況(浅いとよいが深いと歯周病の可能性が高まる)を判断する。
など、仮想現実感より視覚・触覚・音声を模擬体感できる装置の構築に応用できる。
【0057】
図10は、上述のような用途で使用可能な模擬システムの構成を示すブロック図である。
【0058】
模擬システムは、模擬装置100と、ハプティック入出力装置4とで構成される。模擬装置100は、CPU1およびメモリ3を備えたコンピュータでよい。コンピュータは、さらに、GPU2を備えることが望まれる。GPU2が備わっている場合、物体の各微小要素(例えば、ボクセル)についての計算の大部分を並列的に高速に実行できるため、各物体に作用する力の大きさおよび方向の計算を高速化することができる。
【0059】
CPU1は、メモリ3に保持される模擬プログラムを読み出して実行することにより、模擬装置100を制御するとともに、ハプティック入出力装置4への力覚データの出力やハプティック入出力装置4からの位置(変位)データの入力を管理する。
【0060】
GPU2は、互いに干渉しあう物体間の力学的相互作用を模擬する模擬装置100の相互作用模擬部2を構成する。相互作用模擬部2は、上述のステップ1乃至5の全てまたは少なくとも一部を実行する手段を備える。具体的には、相互作用模擬部2は、デジタルデータ(点群、キューブ群、球群、直方体群等)形式の第1および第2の物体のデータを取得する取得手段と、第1の物体と第2の物体の干渉の有無をチェックするチェック手段と、第1の物体および第2の物体の位置に関する情報にもとづいて第1の物体が第2の物体にめり込む位置および量を決定するめり込み情報決定手段と、めり込む位置および量にもとづいて第1の物体に作用する力の大きさを決定する大きさ決定手段と、第1の物体と干渉する第2の物体の微小要素(点、キューブ(ボクセル)、球、等)それぞれについて、該微小要素と所定の位置関係を満足する領域に含まれる第2の物体の部分体の重心から、該微小要素と所定の位置関係を満足する代表点へ、向かうベクトルを基礎ベクトルとして求め、基礎ベクトルを総和してなるベクトルの方向にもとづいて第1の物体に作用する力の方向を決定する方向決定手段と、大きさ決定手段が決定した力の大きさと方向決定手段が決定した力の方向とにもとづいて、第1の物体に作用する力を決定して該力に関するデータを出力する出力手段と、を備える。なお、相互作用模擬部2の機能の全てまたは一部は、CPU1が実行してもよい。
【0061】
図11は、模擬装置100が実行する模擬プログラムによって実現される処理のフローチャートである。以下、図11を参照し、模擬装置100の動作について説明する。
【0062】
模擬装置100は、所定の時間周期でハプティック入出力装置4の先端部(参照点)の位置情報をサンプリングする(ステップS11)。ハプティック入出力装置4の先端部は、仮想現実空間における歯科バー先端部のドリルに対応する。
【0063】
模擬装置100のCPU1は、ステップS11においてサンプリングした位置情報にもとづいてハプティック入出力装置4の先端部の位置、速度、加速度等を導出する(ステップS12)。
【0064】
相互作用模擬部2の取得手段は、仮想現実空間におけるドリルおよび歯について、そのデジタルデータを生成する(ステップS13)。
【0065】
図12は、取得手段によるデジタルデータ生成を説明する模式図である。取得手段は、STL形式のデータとして表現されたドリル10、歯12(エナメル質12e、象牙質12i、歯髄12p)、歯肉12g、血管12vのデータを入力し、GPU2のZバッファ20のZバッファリング機能を用いて、デジタルデータ(直方体群)として表現されたドリル10r、歯(エナメル質12er、象牙質12ir、歯髄12pr)、歯肉12gr、血管12vrのデータを取得する。ここでは、全ての構成は、同一の共通の座標軸においてZバッファリングされる。
【0066】
次に、相互作用模擬部2のチェック手段は、仮想現実空間におけるドリルと歯の干渉の有無をチェックする(ステップS14)。
【0067】
干渉が検出された場合(ステップS14における「YES」)、相互作用模擬部2のめり込み情報決定手段は、ドリルが歯にめり込む位置および量を決定する(ステップS15)。このステップは、先述のステップ3に対応する。
【0068】
次に、相互作用模擬部2の大きさ決定手段は、ステップS15で求めためり込む位置および量にもとづいて、ドリルに作用する力の大きさを決定する(ステップS16)。
【0069】
次に、相互作用模擬部2の方向決定手段は、ステップS15で求めためり込む位置および量においてドリルに作用する力の方向を決定する(ステップS17)。
【0070】
図13は、基礎ベクトル導出を説明する模式図である。本図では、衝突領域(衝突ボクセル集合B)は3つの衝突ボクセルに分割される(図13(b))。図13(c−1、2、3)は、各衝突ボクセルについての、切削可能領域Cおよびその代表点Gr1、Gr2、Gr3を示す図である。図13(d−1、2、3)は、各衝突ボクセルについての切削可能領域Cに含まれる歯ボクセルおよびその重心点Gc1、Gc2、Gc3を示す図である。この場合、基礎ベクトルは、ベクトルGc1Gr1と、ベクトルGc2Gr2と、ベクトルGc3Gr3、の3つである。これらより、方向決定手段は、ドリルに作用する力の方向は、ベクトルGc1Gr1、ベクトルGc2Gr2、ベクトルGc3Gr3を総和してなるベクトルの方向と一致するように決定する。
【0071】
図14は、切削具としてのドリル10について、部位による切削能力の違いを考慮し、かつ被切削物としての歯12について、部位による硬さ(切削容易性)の違いを考慮して基礎ベクトルを導出する場合を説明する模式図である。本図では、ドリル10は、切削能力が高い部分10aと、切削能力が比較的低い部分10bとを有するものとし、歯12は、軟らかい部分12sと硬い部分12hとを有するものとしている。基礎ベクトルの算出においては、互いに干渉するドリルおよび歯の部位についてドリルの切削能力を表す実数係数と歯の硬さを表す実数係数の積をとり、それを基礎ベクトルGcjGrj(j:整数)に乗算する。そうすることで、ドリルに作用する力の方向に、ドリルの各部の切削能力や切削される歯の部分の硬さを反映させることができる。また、重心Gcj(j:整数)の算定において歯の組織の違いによる密度の違いを反映させてもよい(図9)。これにより、ドリルに作用する力の方向に、歯の部位による密度の違いを反映させることができる。
【0072】
最後に、相互作用模擬部2の方向決定手段は、大きさ決定手段が決定した力の大きさと方向決定手段が決定した力の方向とにもとづいて、第1の物体に作用する力(反力)を決定し、出力する(ステップS18)。このとき、この力ベクトルの起点は、以下のように重心点Gcj(j:1、2、・・・、n)の平均としても良いし、ドリルの各部の切削能力や切削される歯の部分の硬さを反映させて、それらの加重平均をとっても良い。
【数5】
・・・(式7)、
である。
【0073】
模擬装置100のCPU1は、方向決定手段が出力した反力の値および方向にもとづいて、ハプティック入出力装置4の制御モータを制御し、反力に相当する力覚をユーザに与える。
【0074】
以上の処理が繰り返されることにより、模擬装置100は、ハプティック入出力装置4を操作するユーザに対し、仮想現実空間においてドリルと歯が接触した際にドリルが歯から受ける反力に相当する力覚を提供する。
【0075】
(2)医科教育用シミュレータ・手術支援ナビゲータの構築
・触診:腹部や肝臓などの臓器を触診し、その腫れ具合から病気の有無、および進行状況を判断する。
・臓器の切開:胃や肝臓などの臓器をレーザーメスなどで切開したり、ガンなどの腫瘍を摘出したり、ガンの転移が危惧されるリンパ節を除去する。
・臓器同士の癒着剥離:ガンなどの発生より隣接する臓器が癒着する際、レーザーメスや柑子などをもちいてその癒着を剥がす。これは触覚が重要な役割を果たす処理である。
・骨の切削:関節置換術などの整形外科において、患者の骨を切削および/または切除する。また、骨腫瘍を切削および/または切除する。
・関節内の異物除去:関節内の軟骨のかけら除去。
など、仮想現実感より視覚・触覚・音声を模擬体感できる装置の構築に応用できる。
【0076】
図10にその構成を図示した模擬システムは、上記した用途に応用することも容易である。
【0077】
図15および図16は、STL形式で表現されたメスおよび臓器をGPUのZバッファリング機能で直方体群に変換する様子を示した模式図である。GPUのZバッファリング機能により、STL形式で表現されたメスや臓器は、直方体群(r1〜r6)に変換される。GPUのZバッファリング機能を利用すれば、メスと臓器を共通の座標軸に則って直方体群に高速に変換することができる。メスが臓器に接触した場合の処理は、上述したドリルによる歯の切削の模擬と同様の処理で行えばよい。
【0078】
このように、本発明にかかる方法および装置によれば、デジタルデータ(点群、キューブ(ボクセル)群、球群、直方体群)で表現された物体同士の接触に伴う力学的相互作用において物体に作用する力の大きさおよび方向を高速かつ簡便に導出することができる。本発明においては、物体の表面を陽に規定しないデジタルデータから、直接的に(物体の表面を導出することなしに)、相互作用において物体に作用する力(反力等)の大きさおよび方向を導出することができる。本発明により、仮想現実空間における物体間の力学的相互作用により物体に作用する反力等をハプティック入出力装置を介してユーザに力覚として出力することが容易になる。
【0079】
なお、動いている(変形しない)物体を点群、静止している(変形する)物体をボクセル群と定めているが、相対運動の考え方より動いている(変形しない)物体をボクセル群、静止している(変形する)物体を点群として表現してもよい。また、両物体ともに動く場合であっても、やはり相対運動の考え方よりどちらかを静止させることで、本発明にかかるアルゴリズムをそのまま利用できる。さらに、点群やボクセル群の一部を削除することで、衝突する物体の両方とも変形させることも可能である。
【0080】
本発明にかかる方法は、デジタルデータを高速処理できるGPUで動作させることで、その能力をいかんなく発揮できる。一般に、GPUは、動く物体の座標変換も高速に計算可能であるため、本方法で用いる座標変換計算とGPUの機能との親和性は非常に高い。最後に、物体は点群、ボクセル群、球群などはもちろん、GPUのZバッファ処理機能より短冊群に変換できる形式(通常はSTL形式、Standard Triangulated Language 形式)であれば、多面体はSTL形式(三角面多面体)でなくてもでもよい。
【0081】
本発明は、歯科教育用シミュレータ・手術支援ナビゲータや医科教育用シミュレータ・手術支援ナビゲータ等の、仮想現実感より視覚・触覚・音声を模擬体感できる装置の構築に応用できる。
【産業上の利用可能性】
【0082】
本発明は、触覚情報を出力可能な模擬装置として有用である。
【符号の説明】
【0083】
1: CPU
2: GPU(GPGPU)
3: メモリ
4: ハプティック入出力装置
10: ドリル
10r: 直方体群に変換されたドリル
12: 歯
12r: 直方体群に変換された歯
12e: エナメル質
12er:直方体群に変換されたエナメル質
12i: 象牙質
12ir:直方体群に変換された象牙質
12p: 歯髄
12pr:直方体群に変換された歯髄
12g: 歯肉
12gr:直方体群に変換された歯肉
12v: 血管
12vr:直方体群に変換された血管
20: Zバッファ
100: 模擬装置
C: 切削可能領域
D: 衝突検出領域
Gr: 切削可能領域代表点
【特許請求の範囲】
【請求項1】
仮想空間での物体間の力学的相互作用において物体に作用する力を模擬する模擬装置であって、
デジタルデータ形式で表現された第1物体および第2物体のデータを取得する取得手段と、
前記第1物体および前記第2物体の位置に関する情報にもとづいて、前記第1物体が前記第2物体にめり込む位置および量を決定するめり込み情報決定手段と、
前記めり込み情報決定手段が決定しためり込む位置および量にもとづいて、前記第1物体に作用する力の大きさを決定する大きさ決定手段と、
前記第1物体と干渉する前記第2物体の微小要素それぞれについて、該微小要素と所定の位置関係を満足する領域に含まれる前記第2物体の部分体の重心から、該微小要素と所定の位置関係を満足する代表点へ、向かうベクトルを基礎ベクトルとして求め、該基礎ベクトルを総和してなるベクトルの方向にもとづいて前記第1物体に作用する力の方向を決定する方向決定手段と、
前記大きさ決定手段が決定した力の大きさと、前記方向決定手段が決定した力の方向と、にもとづいて、前記第1物体に作用する力を決定し出力する出力手段と、を有する模擬装置。
【請求項2】
ハプティック入出力装置と接続可能であり、
前記めり込み情報決定手段は、接続された前記ハプティック入出力装置から入力される位置情報にもとづいて、前記第1物体の位置に関する情報を導出し、
前記出力手段は、前記第1物体に作用する力を出力することにより、接続された前記ハプティック入出力装置の出力を制御する、請求項1に記載の模擬装置。
【請求項3】
前記取得手段は、Zバッファリング機能を用いて、デジタルデータ形式で表現された前記第1物体および前記第2物体のデータを取得する、請求項1に記載の模擬装置。
【請求項4】
前記第1物体は、切削具である、請求項1に記載の模擬装置。
【請求項5】
前記第1物体は、歯科バーのドリルであり、
前記第2物体は、歯である、請求項1に記載の模擬装置。
【請求項6】
前記第1物体の微小要素は、それぞれ前記ドリルの切削能力に関するデータを保持し、
前記第2物体の微小要素は、それぞれ前記歯の切削容易性に関するデータを保持する、請求項5に記載の模擬装置。
【請求項7】
コンピュータを備えた模擬装置において、仮想空間での物体間の力学的相互作用において物体に作用する力を模擬する方法であって、
前記コンピュータの演算手段が、デジタルデータ形式で表現された第1物体および第2物体のデータを取得するステップと、
前記演算手段が、前記第1物体および前記第2物体の位置に関する情報にもとづいて、前記第1物体が前記第2物体にめり込む位置および量を決定するステップと、
前記演算手段が、前記位置および量を決定するステップにおいて決定されためり込む位置および量にもとづいて、前記第1物体に作用する力の大きさを決定するステップと、
前記演算手段が、前記第1の物体と干渉する前記第2物体の微小要素それぞれについて、該微小要素と所定の位置関係を満足する領域に含まれる前記第2物体の部分体の重心から、該微小要素と所定の位置関係を満足する代表点へ、向かうベクトルを基礎ベクトルとして求め、該基礎ベクトルを総和してなるベクトルの方向にもとづいて前記第1物体に作用する力の方向を決定するステップと、
前記演算手段が、前記大きさを決定するステップにおいて決定された大きさと、前記方向を決定するステップにおいて決定された方向と、にもとづいて、前記第1物体に作用する力を決定し出力するステップと、を有する方法。
【請求項8】
コンピュータに、仮想空間での物体間の力学的相互作用において物体に作用する力を模擬させるためのコンピュータ・プログラムであって、
前記コンピュータに、
デジタルデータ形式で表現された第1物体および第2物体のデータを取得するステップと、
前記第1物体および前記第2物体の位置に関する情報にもとづいて、前記第1物体が前記第2物体にめり込む位置および量を決定するステップと、
前記位置および量を決定するステップにおいて決定されためり込む位置および量にもとづいて、前記第1物体に作用する力の大きさを決定するステップと、
前記第1の物体と干渉する前記第2物体の微小要素それぞれについて、該微小要素と所定の位置関係を満足する領域に含まれる前記第2物体の部分体の重心から、該微小要素と所定の位置関係を満足する代表点へ、向かうベクトルを基礎ベクトルとして求め、該基礎ベクトルを総和してなるベクトルの方向にもとづいて前記第1物体に作用する力の方向を決定するステップと、
前記大きさを決定するステップにおいて決定された大きさと、前記方向を決定するステップにおいて決定された方向と、にもとづいて、前記第1物体に作用する力を決定し出力するステップと、
を実行させるコンピュータ・プログラム。
【請求項1】
仮想空間での物体間の力学的相互作用において物体に作用する力を模擬する模擬装置であって、
デジタルデータ形式で表現された第1物体および第2物体のデータを取得する取得手段と、
前記第1物体および前記第2物体の位置に関する情報にもとづいて、前記第1物体が前記第2物体にめり込む位置および量を決定するめり込み情報決定手段と、
前記めり込み情報決定手段が決定しためり込む位置および量にもとづいて、前記第1物体に作用する力の大きさを決定する大きさ決定手段と、
前記第1物体と干渉する前記第2物体の微小要素それぞれについて、該微小要素と所定の位置関係を満足する領域に含まれる前記第2物体の部分体の重心から、該微小要素と所定の位置関係を満足する代表点へ、向かうベクトルを基礎ベクトルとして求め、該基礎ベクトルを総和してなるベクトルの方向にもとづいて前記第1物体に作用する力の方向を決定する方向決定手段と、
前記大きさ決定手段が決定した力の大きさと、前記方向決定手段が決定した力の方向と、にもとづいて、前記第1物体に作用する力を決定し出力する出力手段と、を有する模擬装置。
【請求項2】
ハプティック入出力装置と接続可能であり、
前記めり込み情報決定手段は、接続された前記ハプティック入出力装置から入力される位置情報にもとづいて、前記第1物体の位置に関する情報を導出し、
前記出力手段は、前記第1物体に作用する力を出力することにより、接続された前記ハプティック入出力装置の出力を制御する、請求項1に記載の模擬装置。
【請求項3】
前記取得手段は、Zバッファリング機能を用いて、デジタルデータ形式で表現された前記第1物体および前記第2物体のデータを取得する、請求項1に記載の模擬装置。
【請求項4】
前記第1物体は、切削具である、請求項1に記載の模擬装置。
【請求項5】
前記第1物体は、歯科バーのドリルであり、
前記第2物体は、歯である、請求項1に記載の模擬装置。
【請求項6】
前記第1物体の微小要素は、それぞれ前記ドリルの切削能力に関するデータを保持し、
前記第2物体の微小要素は、それぞれ前記歯の切削容易性に関するデータを保持する、請求項5に記載の模擬装置。
【請求項7】
コンピュータを備えた模擬装置において、仮想空間での物体間の力学的相互作用において物体に作用する力を模擬する方法であって、
前記コンピュータの演算手段が、デジタルデータ形式で表現された第1物体および第2物体のデータを取得するステップと、
前記演算手段が、前記第1物体および前記第2物体の位置に関する情報にもとづいて、前記第1物体が前記第2物体にめり込む位置および量を決定するステップと、
前記演算手段が、前記位置および量を決定するステップにおいて決定されためり込む位置および量にもとづいて、前記第1物体に作用する力の大きさを決定するステップと、
前記演算手段が、前記第1の物体と干渉する前記第2物体の微小要素それぞれについて、該微小要素と所定の位置関係を満足する領域に含まれる前記第2物体の部分体の重心から、該微小要素と所定の位置関係を満足する代表点へ、向かうベクトルを基礎ベクトルとして求め、該基礎ベクトルを総和してなるベクトルの方向にもとづいて前記第1物体に作用する力の方向を決定するステップと、
前記演算手段が、前記大きさを決定するステップにおいて決定された大きさと、前記方向を決定するステップにおいて決定された方向と、にもとづいて、前記第1物体に作用する力を決定し出力するステップと、を有する方法。
【請求項8】
コンピュータに、仮想空間での物体間の力学的相互作用において物体に作用する力を模擬させるためのコンピュータ・プログラムであって、
前記コンピュータに、
デジタルデータ形式で表現された第1物体および第2物体のデータを取得するステップと、
前記第1物体および前記第2物体の位置に関する情報にもとづいて、前記第1物体が前記第2物体にめり込む位置および量を決定するステップと、
前記位置および量を決定するステップにおいて決定されためり込む位置および量にもとづいて、前記第1物体に作用する力の大きさを決定するステップと、
前記第1の物体と干渉する前記第2物体の微小要素それぞれについて、該微小要素と所定の位置関係を満足する領域に含まれる前記第2物体の部分体の重心から、該微小要素と所定の位置関係を満足する代表点へ、向かうベクトルを基礎ベクトルとして求め、該基礎ベクトルを総和してなるベクトルの方向にもとづいて前記第1物体に作用する力の方向を決定するステップと、
前記大きさを決定するステップにおいて決定された大きさと、前記方向を決定するステップにおいて決定された方向と、にもとづいて、前記第1物体に作用する力を決定し出力するステップと、
を実行させるコンピュータ・プログラム。
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図1】
【図2】
【図3】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図1】
【図2】
【図3】
【公開番号】特開2012−94128(P2012−94128A)
【公開日】平成24年5月17日(2012.5.17)
【国際特許分類】
【出願番号】特願2011−209591(P2011−209591)
【出願日】平成23年9月26日(2011.9.26)
【出願人】(510257617)
【出願人】(510257628)株式会社Embedded Wings (1)
【Fターム(参考)】
【公開日】平成24年5月17日(2012.5.17)
【国際特許分類】
【出願日】平成23年9月26日(2011.9.26)
【出願人】(510257617)
【出願人】(510257628)株式会社Embedded Wings (1)
【Fターム(参考)】
[ Back to top ]