(57)【特許請求の範囲】
【請求項１】
仮想空間での物体間の力学的相互作用において物体に作用する力を模擬する模擬装置であって、
デジタルデータ形式で表現された第１物体および第２物体のデータを取得する取得手段と、
前記第１物体および前記第２物体の位置に関する情報にもとづいて、前記第１物体が前記第２物体にめり込む位置および量を決定するめり込み情報決定手段と、
前記めり込み情報決定手段が決定しためり込む位置および量にもとづいて、前記第１物体に作用する力の大きさを決定する大きさ決定手段と、
前記第１物体と干渉する前記第２物体の微小要素それぞれについての向きを示す基礎ベクトルを求め、該基礎ベクトルを総和してなるベクトルの方向にもとづいて前記第１物体に作用する力の方向を決定する方向決定手段と、
前記大きさ決定手段が決定した力の大きさと、前記方向決定手段が決定した力の方向と、にもとづいて、前記第１物体に作用する力を決定し出力する出力手段と、を有し、
前記方向決定手段は、
前記第２物体の微小要素毎に、該微小要素と所定の位置関係を満足する領域に含まれる前記第２物体の部分体の重心を計算し、
該微小要素に対する基礎ベクトルとして、計算した重心から該微小要素と所定の位置関係を満足する代表点へ向かうベクトルを求め、
該微小要素毎に、自由な係数を乗じて基礎ベクトルの大きさを変更できる模擬装置。
【請求項２】
ハプティック入出力装置と接続可能であり、
前記めり込み情報決定手段は、接続された前記ハプティック入出力装置から入力される位置情報にもとづいて、前記第１物体の位置に関する情報を導出し、
前記出力手段は、前記第１物体に作用する力を出力することにより、接続された前記ハプティック入出力装置の出力を制御する、請求項１に記載の模擬装置。
【請求項３】
前記取得手段は、Ｚバッファリング機能を用いて、デジタルデータ形式で表現された前記第１物体および前記第２物体のデータを取得する、請求項１に記載の模擬装置。
【請求項４】
前記第１物体は、切削具である、請求項１に記載の模擬装置。
【請求項５】
前記第１物体は、歯科バーのドリルであり、
前記第２物体は、歯である、請求項１に記載の模擬装置。
【請求項６】
前記第１物体の微小要素は、それぞれ前記ドリルの切削能力に関するデータを保持し、
前記第２物体の微小要素は、それぞれ前記歯の切削容易性に関するデータを保持する、請求項５に記載の模擬装置。
【請求項７】
コンピュータを備えた模擬装置において、仮想空間での物体間の力学的相互作用において物体に作用する力を模擬する方法であって、
前記コンピュータの演算手段が、デジタルデータ形式で表現された第１物体および第２物体のデータを取得するステップと、
前記演算手段が、前記第１物体および前記第２物体の位置に関する情報にもとづいて、前記第１物体が前記第２物体にめり込む位置および量を決定するステップと、
前記演算手段が、前記位置および量を決定するステップにおいて決定されためり込む位置および量にもとづいて、前記第１物体に作用する力の大きさを決定するステップと、
前記演算手段が、前記第１の物体と干渉する前記第２物体の微小要素それぞれについての向きを示す基礎ベクトルを求め、該基礎ベクトルを総和してなるベクトルの方向にもとづいて前記第１物体に作用する力の方向を決定するステップと、
前記演算手段が、前記大きさを決定するステップにおいて決定された大きさと、前記方向を決定するステップにおいて決定された方向と、にもとづいて、前記第１物体に作用する力を決定し出力するステップと、を有し、
前記力の方向を決定するステップにおいて、前記演算手段は、
前記第２物体の微小要素毎に、該微小要素と所定の位置関係を満足する領域に含まれる前記第２物体の部分体の重心を計算し、
該微小要素に対する基礎ベクトルとして、計算した重心から該微小要素と所定の位置関係を満足する代表点へ向かうベクトルを求め、
該微小要素毎に、自由な係数を乗じて基礎ベクトルの大きさを変更できる方法。
【請求項８】
コンピュータに、仮想空間での物体間の力学的相互作用において物体に作用する力を模擬させるためのコンピュータ・プログラムであって、
前記コンピュータに、
デジタルデータ形式で表現された第１物体および第２物体のデータを取得するステップと、
前記第１物体および前記第２物体の位置に関する情報にもとづいて、前記第１物体が前記第２物体にめり込む位置および量を決定するステップと、
前記位置および量を決定するステップにおいて決定されためり込む位置および量にもとづいて、前記第１物体に作用する力の大きさを決定するステップと、
前記第１の物体と干渉する前記第２物体の微小要素それぞれの向きを示す基礎ベクトルを求め、該基礎ベクトルを総和してなるベクトルの方向にもとづいて前記第１物体に作用する力の方向を決定するステップと、
前記大きさを決定するステップにおいて決定された大きさと、前記方向を決定するステップにおいて決定された方向と、にもとづいて、前記第１物体に作用する力を決定し出力するステップと、
を実行させ、
前記力の方向を決定するステップにおいて、前記コンピュータは、
前記第２物体の微小要素毎に、該微小要素と所定の位置関係を満足する領域に含まれる前記第２物体の部分体の重心を計算し、
該微小要素に対する基礎ベクトルとして、計算した重心から該微小要素と所定の位置関係を満足する代表点へ向かうベクトルを求め、
該微小要素毎に、自由な係数を乗じて基礎ベクトルの大きさを変更できるコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体間の力学的相互作用を模擬する装置に関し、特に、互いに干渉しあう物体間に作用する力を模擬する装置に関する。
【背景技術】
【０００２】
従来、３次元の物体を表現するため、点群、ボクセル群、および、球群、ならびに、それらを位置に関する階層構造で表現したオクトツリーやＨＳＭ（Hierarchical Sphere Model）など（以下、これらおよびこれらに類似するデータ構造を備えたデータを「デジタルデータ」と称する。）が用いられる。しかしながら、デジタルデータは、物体の表面形状を明確に規定しない。そのため、デジタルデータが表す物体の表面形状を一意に決定するには、例えば、「マーチングキューブズ法」などが用いられる。
【０００３】
「マーチングキューブズ法」によれば、デジタルデータが表す物体の表面のキューブ群を、パッチ（有限平面）の集合で接続することができるものの、デジタルデータが表す物体の表面の法線分布を規定することはできない。そのため、「マーチングキューブズ法」で与えられる表面を用いて、他の物体との衝突や他の物体による切削により物体の表面に発生する力を求めることはできない。そもそも、「マーチングキューブズ法」は、離散（デジタル）データを多面体という連続（アナログ）データに変換することで、その視覚リアリティーを向上させることを目的としており、その意識は物体の表面にしかない。
【０００４】
これと同様に、視覚リアリティーを向上させるための別方法として「バンプマッピング」、「法線マッピング」、「テクスチャーマッピング」などがある。
【０００５】
例えば、バンプマッピングでは、法線が変化されるだけであり、その幾何学的特徴は変化しない。例えば、対象物体を球体とすると、バンプマッピングの後であっても、そのシルエットに凸凹はない。したがって、視覚的に質感を感じさせるテクニックといえる。他の方法も、表面の滑らかさやザラザラさを、予めデザインされた模様（パターン）を張り付けたり、表面法線分布のみを加工したりすることで、物体の見た目の質感を追求するものである。しかし、これらの方法は、デジタル物体の表面状態を正確に考慮して、滑らかさや法線を決定するものではない。さらに、これらの方法は、視覚で支配的な物体の表面にしか意識はない。
【０００６】
特許文献１は物体間の接触判定の方法を開示する。特許文献１では、事前に距離関数を与え、それらを解くことでベクトルを算出し、物体に働く力を生成している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−１１４８６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ある物体を別の物体で操作する、といった物体間の力学的相互作用を模擬する場合、物体間の干渉を高速に検出する必要がある。このとき、各々の物体を連続（アナログ）モデルで表現するのではなく、離散（デジタル）モデルで表現したほうが、はるかに高速に２物体間の干渉を検出可能である。特に、ある物体が別の物体を切削するなどして変形させるとき、別の物体は複雑な凹形状になるので、連続（アナログ）モデルの代表例である多面体を干渉チェックやめり込み量検出のため凸分割しなければならなくなるが、これは極めて煩雑な計算を要する。
【０００９】
２物体の干渉チェックの高速性および正確性の観点から、物体を各種デジタルデータそれぞれで表現した場合の有利点・不利点を整理する。ここでは、物体が回転移動する場合と、回転移動しない場合との２つの場合についてそれぞれ干渉チェックの高速性および精確性について考察する。
【００１０】
物体が回転移動する場合：
・点集合：領域を離散的に表現できる。回転移動により形状は不変。干渉の見逃しあり。見逃し精度は点密度と関係。階層構造は高速判定用。
・球集合：領域を離散的に表現できる。回転移動により形状は不変。干渉の見逃しなし。階層構造は高速判定用。
・線分集合：領域を離散的に表現できる。回転移動により形状は変化。干渉の見逃しあり。見逃し精度は線密度と関係。距離計算に時間がかかり中途半端なので有用性はない。
・パッチ集合≪多面体≫：内部干渉の調査のための集合演算の計算時間膨大。干渉・非干渉のチェックも凸多面体同士以外は計算時間膨大。
・立方体や直方体（座標軸に並行又は垂直な面で区切られた空間）の集合：回転移動がある場合、座標を合わせるたびに階層構造を作り換えなければならない。座標を合わせなければ多面体同士の干渉チェックとなる。いずれも、膨大な計算時間が必要となり不適。
【００１１】
物体が回転移動しない場合（物体が固定、または、平行移動のみの場合）：
・点集合：領域を離散的に表現できる。干渉の見逃しあり。見逃し精度は点密度と関係。相手方も点集合の場合、干渉見逃し多数で有用性なし。
・球集合：領域を離散的に表現できる。干渉の見逃しなし。立方体集合に比べ重複が出ることからメモリ効率は悪い。
・線分集合：領域を離散的に表現できる。干渉の見逃しあり。見逃し精度は線密度と関係。相手方も線分集合の場合、干渉見逃し多数。距離計算に時間がかかり中途半端なので有用性はない。
・パッチ集合≪多面体≫：干渉領域を計算する時間は膨大。また、凹多角形の場合、それを凸多角形の集合に変換する時間も膨大。
・立方体や直方体（座標軸に並行や垂直の面で区切られた空間）の集合：領域表現可能。
【００１２】
よって、回転移動する物体と回転移動しない物体との干渉をチェックする場合、一定の精度以上の内部干渉を見逃すことを許すなら、点集合−ボクセル集合（立方体や直方体）の組み合わせの効率が最も高く、逆に内部干渉の見逃しを許さないならば、球集合−ボクセル集合の組み合わせの効率が最も高いことがわかる。
【００１３】
しかし、連続（アナログ）モデルとは異なり、離散（デジタル）モデル（デジタルデータで表現された物体）は明確な表面を持っていない。そのため、２つの物体が接触したり、ある物体が別の物体を切削したりするときの接触力や切削力の導出にとって不可欠な、法線ベクトルをデジタルデータから直接的に定めることができない。これでは、２つの物体の間の力学的相互作用の模擬ができない。
【００１４】
一般に、物体の切削加工や、外力による変形を模擬する場合、切削操作される物体と切削操作する物体との干渉を高速に検出し、かつ切削された複雑な形状の物体を高速に変形させるため、それらをデジタルデータで表現してから干渉を検出するという過程を経ることが多い。特に、切削操作される物体が変形し凹形状になる場合、その凸分割には膨大な計算時間がかかるので、デジタルデータを利用せざるを得ない。
【００１５】
しかしながら、デジタルデータ自体には、もともと表面や法線といった概念に対応する量がない。このうち、表面については、前述のマーチングキューブズ法で導出できるが、法線を簡便かつ高速に導出する方法はいまだ提案されていない。とくに、ある物体が別の物体にめり込むようにして相互作用する場合に該物体が別の物体から受ける反力の方向に対応する法線を高速かつ簡便に導出する方法は、未だ知られていない。
【００１６】
以上の課題を鑑み、本発明は、デジタルデータで表現された物体の力学的相互作用において物体間に作用する力を高速に計算するための装置を提供する。
【課題を解決するための手段】
【００１７】
その一態様は、仮想空間での物体間の力学的相互作用において物体に作用する力を模擬する模擬装置であって、デジタルデータ形式で表現された第１物体および第２物体のデータを取得する取得手段と、第１物体および第２物体の位置に関する情報にもとづいて、第１物体が第２物体にめり込む位置および量を決定するめり込み情報決定手段と、めり込み情報決定手段が決定しためり込む位置および量にもとづいて、第１物体に作用する力の大きさを決定する大きさ決定手段と、第１物体と干渉する第２物体の微小要素それぞれについて、該微小要素と所定の位置関係を満足する領域に含まれる第２物体の部分体の重心から、該微小要素と所定の位置関係を満足する代表点へ、向かうベクトルを基礎ベクトルとして求め、該基礎ベクトルを総和してなるベクトルの方向にもとづいて第１物体に作用する力の方向を決定する方向決定手段と、大きさ決定手段が決定した力の大きさと、方向決定手段が決定した力の方向と、にもとづいて、第１物体に作用する力を決定し出力する出力手段と、を有する模擬装置である。
【００１８】
別の一態様は、コンピュータを備えた模擬装置において、仮想空間での物体間の力学的相互作用において物体に作用する力を模擬する方法であって、コンピュータの演算手段が、デジタルデータ形式で表現された第１物体および第２物体のデータを取得するステップと、演算手段が、第１物体および第２物体の位置に関する情報にもとづいて、第１物体が第２物体にめり込む位置および量を決定するステップと、演算手段が、位置および量を決定するステップにおいて決定されためり込む位置および量にもとづいて、第１物体に作用する力の大きさを決定するステップと、演算手段が、第１の物体と干渉する第２物体の微小要素それぞれについて、該微小要素と所定の位置関係を満足する領域に含まれる第２物体の部分体の重心から、該微小要素と所定の位置関係を満足する代表点へ、向かうベクトルを基礎ベクトルとして求め、該基礎ベクトルを総和してなるベクトルの方向にもとづいて第１物体に作用する力の方向を決定するステップと、演算手段が、大きさを決定するステップにおいて決定された大きさと、方向を決定するステップにおいて決定された方向と、にもとづいて、第１物体に作用する力を決定し出力するステップと、を有する方法である。
【００１９】
さらに別の一態様は、コンピュータに、仮想空間での物体間の力学的相互作用において物体に作用する力を模擬させるためのコンピュータ・プログラムであって、コンピュータに、デジタルデータ形式で表現された第１物体および第２物体のデータを取得するステップと、第１物体および第２物体の位置に関する情報にもとづいて、第１物体が第２物体にめり込む位置および量を決定するステップと、位置および量を決定するステップにおいて決定されためり込む位置および量にもとづいて、第１物体に作用する力の大きさを決定するステップと、第１の物体と干渉する第２物体の微小要素それぞれについて、該微小要素と所定の位置関係を満足する領域に含まれる第２物体の部分体の重心から、該微小要素と所定の位置関係を満足する代表点へ、向かうベクトルを基礎ベクトルとして求め、該基礎ベクトルを総和してなるベクトルの方向にもとづいて第１物体に作用する力の方向を決定するステップと、大きさを決定するステップにおいて決定された大きさと、方向を決定するステップにおいて決定された方向と、にもとづいて、第１物体に作用する力を決定し出力するステップと、を実行させるコンピュータ・プログラムである。
【発明の効果】
【００２０】
本発明は、デジタルデータで表現された物体のデータから直接的に、物体に作用する力の方向を導出することにより、高速に物体に作用する力を求めることが可能となっている。
【図面の簡単な説明】
【００２１】
【図１】デジタルデータで表現された歯とバーの例図
【図２】デジタルデータ（点群）で表現された歯科バーの例図
【図３】デジタルデータ（ボクセル群）で表現された歯の例図
【図４】ＧＰＵのＺバッファリングによる、物体の直方体表現導出の概念図
【図５】バーと歯の干渉チェックの概念図
【図６】衝突検出領域Ｄの自由設定を説明する図
【図７】切削可能領域Ｃの自由設定を説明する図
【図８】代表点Ｇｒの自由設定を説明する図
【図９】切削容易性（硬さ等）が異なる複数の素材の切削における計算例を示す図
【図１０】歯科教育用シミュレータの構成を示すブロック図
【図１１】歯科教育用シミュレーションのフローチャート
【図１２】ドリルおよび歯、ならびに、その直方体表現（共通座標軸）の模式図
【図１３】基礎ベクトルの計算を説明する概念図
【図１４】切削容易性（硬さ等）が異なる複数の素材の切削における計算例を示す図
【図１５】メスおよび肝臓、ならびに、その直方体表現（共通座標軸）の模式図
【図１６】メスおよび内蔵、ならびに、その直方体表現（共通座標軸）の模式図
【発明を実施するための形態】
【００２２】
（実施の形態１）
以下、添付の図面を参照して、本発明の実施の形態１にかかるデジタル法線の計算方法について説明する。実施の形態１にかかるデジタル法線の計算方法（すなわち計算アルゴリズム）は、コンピュータを用いて法線を計算する方法であって、例えばＧＰＵ(Graphics Processing Unit)により実行される。そのようなＧＰＵは専用プログラミング言語ＯｐｅｎＣＬ（Open Computing Language）やＣＵＤＡ（Compute Unified Device Architecture）によりデジタル法線の計算アルゴリズムを実現するよう自由にプログラムされる。
【００２３】
ここで、デジタル法線とは、「デジタルデータ（デジタルモデル）」（点群、ボクセル群、および、球群、ならびに、それらを位置に関する階層構造で表現したオクトツリーやＨＳＭ（Hierarchical Sphere Model）など）で表現された物体に対し作用する力（またはその力に対する反力）の方向と一致する方向を有する有向線分である。本実施形態においては、デジタル法線は、例えば、デジタルデータで表現された複数の物体が互いに干渉しあうときに物体間に働く力の方向をよく模擬するベクトル量として導出される。
【００２４】
以下では、一例として、ある物体（被切削物）を別の物体（切削具）により切削する場合において、両物体間に作用する力の法線ベクトルを求める場合のデジタル法線の計算方法（計算アルゴリズム）について説明する。
【００２５】
本アルゴリズムは、図示しないコンピュータにより実行される。コンピュータ（以下、「模擬装置」と称する）は、本アルゴリズムを実行するためのプログラムを備え、中央処理装置がそのプログラムを実行する。模擬装置は、さらにＧＰＵ（Graphics Processing Unit）を備えており、プログラムは、本アルゴリズムの少なくとも一部をＧＰＵで実行すること（ＧＰＧＰＵ、General-Purpose computing on Graphics Processing Units）に最適化されている。つまり、以下で説明される各ステップは、模擬装置の中央処理装置、ＧＰＵ、記憶手段（メモリ、ハードディスク等）の協働的作用により実施される。なお、ＧＰＵは必須ではない。本アルゴリズムは、模擬装置のＣＰＵのみで実施することも可能である。本アルゴリズムを実行するためのプログラムは、半導体メモリ、磁気ディスク、光ディスク等に記憶されてよい。また、本アルゴリズムを実行するためのプログラムは、インターネット等を通じて配信されることも可能である。
【００２６】
（ステップ１）
切削する物体（医師や歯科医師が操作する物体、例えば、歯科バー）と切削される物体（医師や歯科医師に操作される物体、例えば、歯）をデジタル情報（点群、キューブ群、球群など）に変換する（図１参照）。デジタル情報（デジタルデータ）として、例えば、図２に示すような歯科バーの点群や、図３に示すような歯列のキューブ群（オクトツリー表現）や、図４に示すような、ＧＰＵのＺバッファと並列処理の機能で処理される直方体群や、軟組織を変形可能パーティクルで表現する場合のパーティクル群などが含まれる。
【００２７】
図１は、歯（被切削物）および歯科バーのドリル（切削具）をそれぞれ、キューブ（ボクセル）群のオクトツリー表現、および、点群で表現する方法を示す概念図である。図２は、点群で表現されたドリル、および、ドリルが取り付けられた歯科バーの例図である。図３は、ボクセル群のオクトツリーで表現された歯の例図である。
【００２８】
図４は、模擬装置の備えるＧＰＵのＺバッファリング機能を用いて歯１２の直方体群による表現を導出する概念図である。ここでは、直方体群で表現された物体も、デジタルデータで表現された物体に含まれる。図示しないＧＰＵは、Ｚバッファ２０に垂直な方向について、歯１２の存在範囲を取得し、記憶する。なお、ここでの歯１２は、例えば、ＳＴＬ（Standard Triangulated Language）形式で記述されたデータで表現される物体であるとする。これにより、Ｚバッファ２０には、歯１２を直方体群で表現したデータ（デジタルデータ）が蓄積される。また、図示しないＧＰＵは、直方体群をさらに小さなキューブ（ボクセル）に分割することも可能である。このとき、ＧＰＵは、各キューブと、Ｚバッファ２０に記憶された歯１２の存在範囲との関係により、各ボクセルを、歯１２内部のボクセル（図４（ｂ））、歯１２を構成しないボクセル（図４（ｃ））、または、歯１２の界面を構成するボクセル（図４（ｄ））のいずれかに区別して扱うことも可能である。また、歯科バーの先端部のドリル（図２）についても、同様に、ＳＴＬ形式で表現されたドリルのデータを、まず、ボクセル群に変換し、次に、それをボクセルの頂点群または重心群により点群で表現したデータ（デジタルデータ）に変換することができる。
【００２９】
このようにして、ステップ１では、模擬装置は力学的相互作用を模擬する対象となる物体のデジタルデータ表現を取得する。なお、図４で示したデジタルデータへの変換工程は必須ではない。模擬装置は、別の方法により模擬対象を表すデジタルデータを取得してよい。
【００３０】
（ステップ２）
次に模擬装置はステップ１で取得した、それらのデジタル情報（デジタルデータ）間の干渉をチェックする（図５）。例えば、図２の歯科バーの点を図３の歯列のキューブ群（オクトツリー）に落とし込んで、点とキューブの干渉を逐次的または並列的にチェックする。但し、干渉チェックする両物体の座標系は、事前に合致させておくと有利である。例えば、ＧＰＵが操作する直方体群が２群ある場合、それらの座標系を事前に合致させた後、共通の座標系に則ってそれらの干渉をチェックすることになる（図４、図１２、図１５、図１６等参照）。
【００３１】
なお、干渉のチェックは、上記の方法に限定されない。干渉が検出されると、模擬装置は、次のステップ３において、被切削物の切削容易性（硬さ等）および切削具の切削能力に基づいて切削具が被切削物にめり込む程度（両物体の相対的位置関係）を決定する。
【００３２】
（ステップ３）
次に模擬装置は、切削される物体（被切削物）の位置情報および硬さ（例えば、歯ボクセルは、エナメル質、象牙質、歯髄、う蝕などの材質ごとに異なった硬さデータを保持）、ならびに、切削する物体（切削具）の位置情報（これには、位置のほか、速度、加速度等を含んでよい。）および切削能力（物体の形状と別に切削領域を定義する。よく削れる部分とあまり削れない部分を持つもの、または、よく削れるものからあまり削れないものまで多様なものを用意）より、めり込み位置を決める（図５参照）。この際、模擬装置は、２つの物体の干渉状態を指標として、それらの動きを二分探索やニュートン法、もしくはそれらに類似の方法で探索し、めり込み位置（すなわち、めり込み量）を試行錯誤しながら高速に決定する。ここで、この指標としては、ケルビン・フォークト・モデルに基づいて計算された、両物体に作用する力の絶対値（大きさ）でよい。また、指標は、ケルビン・フォークト・モデル以外の粘弾性モデルに基づいて計算される力の絶対値（大きさ）でもよい。さらには、指標は、粘弾性モデル以外の力学的モデルから導出される量でもよい。あるいは、指標は、めり込み状態を関数で表現したものでもよいし、めり込み状態を関数で表現できなければ、それをルックアップテーブルで表現したものでもよい。
【００３３】
このようにして、模擬装置はステップ３において、被切削物と切削具の相対的位置関係を決定する。模擬装置は、ステップ４においては、ステップ３で決定した位置関係において切削具に作用する力（切削具が被切削物から受ける反力）を計算する。
【００３４】
（ステップ４）
模擬装置は、ステップ３で決定しためり込み量より、力（切削具が被切削物から受ける反力）の絶対値（大きさ）を決定する。この際によく用いられるのは、ケルビン・フォークト・モデルを用いる方法である。それは、めり込み量をバネ定数に乗算し、また、干渉直前の相対速度にダンパ定数を乗算し、それらの積を加算するものである。しかし、衝突物体同士のめり込み状態、および衝突直前の速度や加速度などを利用する限り、ケルビン・フォークト・モデルにとらわれるものではない。
【００３５】
例えば、模擬装置は、ケルビン・フォークト・モデルに基づいて、切削具に作用する力の絶対値（大きさ）を次のようにして決定する。先ず、模擬装置は、被切削物（歯）の変形にかかる抗力の係数（バネ定数ｋ）、および、変形速度に応じた抗力の係数（粘性定数ｃ）を求める。模擬装置は、バネ定数ｋを、
ｋ＝（Ｎｅ×ｋｅ＋Ｎｉ×ｋｉ＋Ｎｐ×ｋｐ）／（Ｎｅ＋Ｎｉ＋Ｎｐ）  ・・（式１）、
より決定する。ここで、Ｎｅは、切削具と干渉するエナメル質ボクセルの数であり、ｋｅは、エナメル質ボクセルのバネ定数であり、Ｎｉは、切削具と干渉する象牙質ボクセルの数であり、ｋｉは、象牙質ボクセルのバネ定数であり、Ｎｐは、切削具と干渉する歯髄ボクセルの数であり、ｋｐは、歯髄ボクセルのバネ定数である。また、模擬装置は、粘性定数ｃを、
ｃ＝（Ｎｅ×ｃｅ＋Ｎｉ×ｃｉ＋Ｎｐ×ｃｐ）／（Ｎｅ＋Ｎｉ＋Ｎｐ）  ・・（式２）、
より決定する。ここで、ｃｅは、エナメル質ボクセルの粘性定数であり、ｃｉは、象牙質ボクセルの粘性定数であり、ｃｐは、歯髄ボクセルの粘性定数である。次に、模擬装置は、ステップ３で求めた切削具（ドリル）のめり込み量ｄ、および、別途求めた切削具（ドリル）の被切削物に対する相対速度ｖに基づいて、反力ＦＲの大きさを、
ＦＲ＝ｋ×ｄ＋ｃ×ｖ                                            ・・・（式３）、
より決定する。
【００３６】
このようにして、模擬装置はステップ４において、切削具が受ける反力の大きさを決定することができる。模擬装置は、次のステップ５においては該反力の方向を決定する。
【００３７】
（ステップ５）
次に、模擬装置は、反力の方向を決定する。具体的には、模擬装置は、切削具および被切削物の相対的位置関係に基づいてデジタル法線を計算する。
【００３８】
まず、模擬装置は、後述する衝突検出領域Ｄおよび切削可能領域Ｃを設定する。次に、模擬装置は、衝突検出領域Ｄが他の物体（被切削物）とめり込む領域（「衝突領域」または「干渉領域」）を計算する。そして、模擬装置は、被切削物が図４に示したような直方体群で表現されている場合、めり込み領域（衝突領域）を微小要素に離散化（分割）し（元から被切削物の衝突領域が微小要素の集合に分割されているデジタルデータがあればそれを使用してもよい）、衝突領域を構成する微小要素群を細かい領域（キューブ（ボクセル）、球、点などのデジタルデータで表現される領域）の集合として表現する。
【００３９】
なお、衝突検出領域Ｄは、任意形状に設定可能な３次元領域である。例えば、衝突検出領域Ｄは、操作する物体（切削具）の形状と同じ形をした３次元領域である。また、衝突検出領域Ｄは、操作する物体（切削具）の形状と異なってもよい。例えば、図６（ａ）は物体（切削具）全体が衝突検出領域Ｄとなっており、図６（ｂ）（ｃ）（ｄ）は物体（切削具）とは違う形の領域（直方体、切削面のみ、楕円体）が衝突検出領域Ｄとなっている。模擬装置は、衝突検出領域Ｄに設定された領域について、被切削物との干渉（衝突）の有無を検出する。また、切削可能領域Ｃも、任意形状に設定可能である。切削可能領域Ｃは、衝突検出領域Ｄと同じ形状でよい。または、切削可能領域Ｃは、衝突検出領域Ｄと異なる形状でもよい。例えば、図７（ａ）、（ｂ）では、衝突領域（衝突ボクセル集合Ｂ）は３つの衝突ボクセルに分割される。そして、図７（ｃ）では、直方体の切削可能領域Ｃを設定しており、図７（ｄ）では、球形状の切削可能領域Ｃを設定しており、図７（ｅ）では、楕円体の切削可能領域Ｃを設定している。また、模擬装置は、切削可能領域Ｃに代表点Ｇｒを設定する。切削可能領域Ｃの代表点Ｇｒは、領域Ｃの重心、中心といった、領域Ｃの幾何形状にもとづく特徴点と一致させてよい（図８（ａ）（ｂ）（ｃ））。だが、領域Ｃの代表点Ｇｒと領域Ｃ自体との関係について特に制限はなく、特徴点Ｇｒは領域Ｃとの任意の関係性に基づいて設定可能である（図８（ａ）（ｄ）（ｅ）（ｆ））。
【００４０】
次に、模擬装置は、各々の細かい領域ごと（衝突領域を分割した微小要素ごと）に基礎ベクトル（デジタル法線ベクトルの計算において基礎となるベクトル）を計算する。図９を参照し、基礎ベクトルの計算方法を説明する。
【００４１】
図９はステップ３において決定しためり込み位置における基礎ベクトル導出の過程を説明する模式図である。図９（ａ）〜（ｄ）は均一な硬さを有する歯１２での基礎ベクトルの導出を説明する図であり、図９（ｅ）〜（ｈ）は、歯の内部組織に起因した硬さ（切削容易性）の不均一性を考慮しながら基礎ベクトルを導出する場合を説明する図である。このように、被切削物の一部に硬い部分と軟らかい部分が混在すると、例えば、重心点Ｇｃの位置を変えることで基礎ベクトルにバリエーションを与えることができる。但し、被切削物に硬い部分と軟らかい部分が混在することによる力の方向の変化はこれに限らない。
【００４２】
模擬装置は、ステップ３で決定しためり込み位置近傍において、図４に示したような直方体群で表現される歯１２（被切削物）を微小要素に分割する（図９（ａ））。微小要素は、例えば、ボクセルである。なお、微小要素は、点、球、といった要素でもよい。
【００４３】
次に、模擬装置は、衝突領域（ドリル１０と歯１２とが干渉し合っている領域）の歯ボクセル（衝突ボクセル）を特定する。図９（ｂ）では、衝突領域の歯ボクセルの集合を衝突ボクセル集合Ｂとしている。
【００４４】
そして模擬装置は、衝突ボクセル集合Ｂの各衝突ボクセルについて、それぞれ基礎ベクトルを求める。例えば、図９（ｂ）の集合Ｂにおける上から２段目で左から２つ目の衝突ボクセルについては、該衝突ボクセルを中心として切削可能領域Ｃを設定し、切削可能領域Ｃに含まれる歯ボクセルの重心Ｇｃを求める。（なお、一部が領域Ｃに含まれるボクセルも含めてよい。）そして、注目している衝突ボクセルを中心として設定される切削可能領域Ｃに含まれる歯ボクセルの重心Ｇｃから、当該領域Ｃの代表点Ｇｒへ、向かうベクトル（ベクトルＧｃＧｒ）を、注目している衝突ボクセルについての基礎ベクトルとする（図９（ｃ）（ｇ））。模擬装置は、同様にして他の衝突ボクセルについても基礎ベクトルを求める。図９（ｄ）（ｈ）は、集合Ｂの上から５段目で左から３つ目の衝突ボクセルについて求めた基礎ベクトルを例示する図である。
【００４５】
衝突ボクセル集合Ｂを構成する衝突ボクセルをｂｊ（ｊ：１、２、・・・、ｎ）とすれば、基礎ベクトルｆｊ（ｊ：１、２、・・・、ｎ）は、
【数１】
0005852384.tif 000002
・・・（式４）
である。ここで、Ｇｒｊは、衝突ボクセルｂｊを中心として設定した切削可能領域Ｃの代表点の位置であり、Ｇｃｊは、衝突ボクセルｂｊを中心として設定される切削可能領域Ｃに含まれる歯ボクセルの重心の位置である。ここで、切削可能領域Ｃの代表点Ｇｒｊは、あらゆるｊにおいて、衝突ボクセルｂｊとの間で所定の位置関係を満足することに留意されたい。なぜなら、領域Ｃの代表点Ｇｒは、領域Ｃに対して所定の位置（任意）にあり、領域Ｃは各衝突ボクセルｂｊについて所定の位置（任意、例えば、領域Ｃの中心と一致）に設定されるからである。また、ここでは、Ｇｒｊは、衝突ボクセルｂｊを中心として設定した衝突検出力領域Ｃの代表点Ｇｒの位置としている。基礎ベクトルｆｊの算出においては、衝突ボクセルｂｊの周囲に該ボクセルｂｊと所定の位置関係（任意）を満足するように設定された領域Ｃの代表点Ｇｒの位置Ｇｒｊを用いればよい。
【００４６】
模擬装置は、このようにして求めた基礎ベクトルｆｊ（ｊ：１、２、・・・、ｎ）の平均をとることにより、法線ベクトル（反力の方向と一致するベクトル）を導出する。具体的には、法線ベクトルＦは、
【数２】
0005852384.tif 000003
・・・（式５）
である。
【００４７】
なお、模擬装置は、基礎ベクトルの導出において、歯の内部組織に起因した各衝突ボクセルの切削容易性（硬さ）を考慮することもできる。この場合、歯ボクセルは、切削容易性（硬さ）に関する係数を保持すればよい。例えば、各ボクセルは、硬さが増大するにつれて増大する実数係数ｈ（ｈ＞０）を保持する。また、重心Ｇｃの計算においては、歯ボクセルの密度の違いを考慮することができる（図９）。この場合、歯ボクセルは、密度のデータを保持すればよい。例えば、図９（ｅ）〜（ｈ）を参照すれば、衝突領域は、エナメル質に対応する歯ボクセルから象牙質に対応する歯ボクセルに及んでいる。よって、衝突ボクセル集合は、エナメル質および象牙質の歯ボクセルで構成される。このとき、基礎ベクトルｆは、
【数３】
0005852384.tif 000004
・・・（式４’）
となる。ここで、前述のように、重心Ｇｃｊは、歯ボクセルの密度および容積を考慮して導出することもできる。
【００４８】
また、模擬装置は、基礎ベクトルの導出において、ドリル１０（切削具）の切削能力に、分布を与えることも可能である。例えば、ドリル１０の特定の部分（例えば、先端部の外縁）に比較的高い切削能力を与え、ドリル１０の別の部分（例えば、先端部の中央）には比較的低い切削能力を与えることができる。これによる効果は、上述の歯の硬さに関する補正係数ｈと同様の形式で基礎ベクトルの大きさに反映させることができる。この場合、模擬装置は、衝突ボクセルそれぞれが、ドリル１０のいずれの部分と衝突しているかをチェックし、その結果に応じて、式４’の右辺においてさらに、ドリルの切削能力に関する補正係数を乗じる。
【００４９】
そして、模擬装置は、ステップ４で求めた反力の大きさＦＲ、および、本ステップで求めた法線ベクトルＦに基づいて、反力を示すベクトルＦＲを導出する。例えば、反力ベクトルＦＲは、
【数４】
0005852384.tif 000005
・・・（式６）
である。なお、式６右辺のベクトルＦの絶対値を省略してもよい。この場合でも反力ベクトルＦＲの大きさは、反力の大きさに比例して変化することができる。また、切削可能領域Ｃの代表点Ｇｒの領域Ｃに対する関係の設定を変化させることにより、反力ベクトルＦＲの大きさを調整することができる。
【００５０】
本発明にかかる方法では、衝突領域における物体の法線の方向を、衝突領域内の注目する点（衝突ボクセルｂｊ）と、その近傍（領域Ｃ）の密度が不均一な物体質量の重心（Ｇｃｊ）と、に基づいて導出した基礎ベクトルの平均とすることで、表面に関する情報を有さないデジタルデータで表現された物体の法線を決定している。また、衝突検出領域Ｄの形状、切削可能領域Ｃの形状、領域Ｃの代表点Ｇｒｊの位置を変えることで、得られる力ベクトルに一定のバイアスを付与することができる。このバイアス量を調整することにより、後述するハプティック入出力装置への出力に一定のバイアスを付与し、ユーザがハプティック入出力装置から知覚する触覚を適切に調整することが可能となっている。
【００５１】
以上のステップにより、模擬装置は、デジタルデータで表現された物体間の力学的相互作用で物体に作用する力（ベクトル量）を高速に計算することが可能となっている。なお、衝突した２物体のめり込み領域のあたりに生じた力をニュートンの運動方程式で管理すると、２の物体の平行移動に関する物理量を決定することも可能である。また、生じた力を「力のモーメント」の考え方で処理したり、それと物体の慣性モーメントＩや角加速度αのあいだにあるニュートンの運動方程式とよく似た関係を利用すると、２つの物体の回転移動に関する物理量を決定することも可能である。
【００５２】
特に、本方法は、衝突検出領域Ｄ、切削可能領域Ｃ、代表点Ｇｒなどを自由に設定することが可能である。これにより、本方法では、複数の材質で構成される剛体や軟組織などに対しても法線ベクトルを高速に計算できる。
【００５３】
本方法では、物体のデジタルデータを用いているため、計算量を軽減することができる。計算により求めた反力は、触覚（力覚）を伝達可能なインターフェース装置を介して出力することにより、ユーザに物体の硬さや変形等を伝えることができる。上では、デジタルデータで表現される物体の例として、ドリル（切削具）と、歯（被切削物）の例を示した。しかしながら物体はこれに限定されず、例えば、切削具としては、メス、ドリル、柑子、スケーラー、注射針等が挙げられ、被切削物としては、骨、軟骨、内臓、筋肉、脂肪、表皮、血管、神経等が挙げられる。
【００５４】
また、本方法のステップ３で得ためり込み位置（めり込み量）の情報により、ドリルと歯の相互作用を視覚的に表現することも容易になる。また、めり込み位置（めり込み量）の情報により、ドリルによる切削によって歯が変形する場合も、もともとＧＰＵはＳＴＬ形式のデータ(三角面多面体)で表現された物体を表示するのに特化したプロセッサなので、歯の直方体群の変形とＳＴＬ形式のデータ（三角面多面体）の変形を連動させると、変形した歯の視覚的表現も容易になる。つまり、本方法は、仮想現実空間における切削加工等の模擬において触覚情報を高速かつ高品質に提供するうえで有用であるのみならず、当該模擬における視覚情報の生成においても一助となり得るものである。
【００５５】
＜具体的な応用例＞
上記のデジタル法線の計算法は下記の技術分野に適用できる。
【００５６】
（１）歯科教育用シミュレータ・手術支援ナビゲータの構築
・カリエス除去：虫歯を歯科バー（形状や能力に違いがある）で削り、削り残しや削り過ぎを評価する。
・支台形成：歯（エナメル質、象牙質）を歯科バー（形状や能力に違いがある）で削り、クラウンをうまく被せられる形に削れたか、歯（歯髄）などに切削が及んで失敗にならないかなどを評価する。
・歯石除去：歯石をスケーラーでスケーリングしたあと、ルートプレーニングで歯根表面の汚染・軟化されたエナメル質や象牙質を除去し、歯根面を硬く滑沢に仕上げる。
・歯周ポケット計測：歯と歯肉の間のポケットに探針を差し込んで深さを計測し、歯周病の進行状況（浅いとよいが深いと歯周病の可能性が高まる）を判断する。
など、仮想現実感より視覚・触覚・音声を模擬体感できる装置の構築に応用できる。
【００５７】
図１０は、上述のような用途で使用可能な模擬システムの構成を示すブロック図である。
【００５８】
模擬システムは、模擬装置１００と、ハプティック入出力装置４とで構成される。模擬装置１００は、ＣＰＵ１およびメモリ３を備えたコンピュータでよい。コンピュータは、さらに、ＧＰＵ２を備えることが望まれる。ＧＰＵ２が備わっている場合、物体の各微小要素（例えば、ボクセル）についての計算の大部分を並列的に高速に実行できるため、各物体に作用する力の大きさおよび方向の計算を高速化することができる。
【００５９】
ＣＰＵ１は、メモリ３に保持される模擬プログラムを読み出して実行することにより、模擬装置１００を制御するとともに、ハプティック入出力装置４への力覚データの出力やハプティック入出力装置４からの位置（変位）データの入力を管理する。
【００６０】
ＧＰＵ２は、互いに干渉しあう物体間の力学的相互作用を模擬する模擬装置１００の相互作用模擬部２を構成する。相互作用模擬部２は、上述のステップ１乃至５の全てまたは少なくとも一部を実行する手段を備える。具体的には、相互作用模擬部２は、デジタルデータ（点群、キューブ群、球群、直方体群等）形式の第１および第２の物体のデータを取得する取得手段と、第１の物体と第２の物体の干渉の有無をチェックするチェック手段と、第１の物体および第２の物体の位置に関する情報にもとづいて第１の物体が第２の物体にめり込む位置および量を決定するめり込み情報決定手段と、めり込む位置および量にもとづいて第１の物体に作用する力の大きさを決定する大きさ決定手段と、第１の物体と干渉する第２の物体の微小要素（点、キューブ（ボクセル）、球、等）それぞれについて、該微小要素と所定の位置関係を満足する領域に含まれる第２の物体の部分体の重心から、該微小要素と所定の位置関係を満足する代表点へ、向かうベクトルを基礎ベクトルとして求め、基礎ベクトルを総和してなるベクトルの方向にもとづいて第１の物体に作用する力の方向を決定する方向決定手段と、大きさ決定手段が決定した力の大きさと方向決定手段が決定した力の方向とにもとづいて、第１の物体に作用する力を決定して該力に関するデータを出力する出力手段と、を備える。なお、相互作用模擬部２の機能の全てまたは一部は、ＣＰＵ１が実行してもよい。
【００６１】
図１１は、模擬装置１００が実行する模擬プログラムによって実現される処理のフローチャートである。以下、図１１を参照し、模擬装置１００の動作について説明する。
【００６２】
模擬装置１００は、所定の時間周期でハプティック入出力装置４の先端部（参照点）の位置情報をサンプリングする（ステップＳ１１）。ハプティック入出力装置４の先端部は、仮想現実空間における歯科バー先端部のドリルに対応する。
【００６３】
模擬装置１００のＣＰＵ１は、ステップＳ１１においてサンプリングした位置情報にもとづいてハプティック入出力装置４の先端部の位置、速度、加速度等を導出する（ステップＳ１２）。
【００６４】
相互作用模擬部２の取得手段は、仮想現実空間におけるドリルおよび歯について、そのデジタルデータを生成する（ステップＳ１３）。
【００６５】
図１２は、取得手段によるデジタルデータ生成を説明する模式図である。取得手段は、ＳＴＬ形式のデータとして表現されたドリル１０、歯１２（エナメル質１２ｅ、象牙質１２ｉ、歯髄１２ｐ）、歯肉１２ｇ、血管１２ｖのデータを入力し、ＧＰＵ２のＺバッファ２０のＺバッファリング機能を用いて、デジタルデータ（直方体群）として表現されたドリル１０ｒ、歯（エナメル質１２ｅｒ、象牙質１２ｉｒ、歯髄１２ｐｒ）、歯肉１２ｇｒ、血管１２ｖｒのデータを取得する。ここでは、全ての構成は、同一の共通の座標軸においてＺバッファリングされる。
【００６６】
次に、相互作用模擬部２のチェック手段は、仮想現実空間におけるドリルと歯の干渉の有無をチェックする（ステップＳ１４）。
【００６７】
干渉が検出された場合（ステップＳ１４における「ＹＥＳ」）、相互作用模擬部２のめり込み情報決定手段は、ドリルが歯にめり込む位置および量を決定する（ステップＳ１５）。このステップは、先述のステップ３に対応する。
【００６８】
次に、相互作用模擬部２の大きさ決定手段は、ステップＳ１５で求めためり込む位置および量にもとづいて、ドリルに作用する力の大きさを決定する（ステップＳ１６）。
【００６９】
次に、相互作用模擬部２の方向決定手段は、ステップＳ１５で求めためり込む位置および量においてドリルに作用する力の方向を決定する（ステップＳ１７）。
【００７０】
図１３は、基礎ベクトル導出を説明する模式図である。本図では、衝突領域（衝突ボクセル集合Ｂ）は３つの衝突ボクセルに分割される（図１３（ｂ））。図１３（ｃ−１、２、３）は、各衝突ボクセルについての、切削可能領域Ｃおよびその代表点Ｇｒ１、Ｇｒ２、Ｇｒ３を示す図である。図１３（ｄ−１、２、３）は、各衝突ボクセルについての切削可能領域Ｃに含まれる歯ボクセルおよびその重心点Ｇｃ１、Ｇｃ２、Ｇｃ３を示す図である。この場合、基礎ベクトルは、ベクトルＧｃ１Ｇｒ１と、ベクトルＧｃ２Ｇｒ２と、ベクトルＧｃ３Ｇｒ３、の３つである。これらより、方向決定手段は、ドリルに作用する力の方向は、ベクトルＧｃ１Ｇｒ１、ベクトルＧｃ２Ｇｒ２、ベクトルＧｃ３Ｇｒ３を総和してなるベクトルの方向と一致するように決定する。
【００７１】
図１４は、切削具としてのドリル１０について、部位による切削能力の違いを考慮し、かつ被切削物としての歯１２について、部位による硬さ（切削容易性）の違いを考慮して基礎ベクトルを導出する場合を説明する模式図である。本図では、ドリル１０は、切削能力が高い部分１０ａと、切削能力が比較的低い部分１０ｂとを有するものとし、歯１２は、軟らかい部分１２ｓと硬い部分１２ｈとを有するものとしている。基礎ベクトルの算出においては、互いに干渉するドリルおよび歯の部位についてドリルの切削能力を表す実数係数と歯の硬さを表す実数係数の積をとり、それを基礎ベクトルＧｃｊＧｒｊ（ｊ：整数）に乗算する。そうすることで、ドリルに作用する力の方向に、ドリルの各部の切削能力や切削される歯の部分の硬さを反映させることができる。また、重心Ｇｃｊ（ｊ：整数）の算定において歯の組織の違いによる密度の違いを反映させてもよい（図９）。これにより、ドリルに作用する力の方向に、歯の部位による密度の違いを反映させることができる。
【００７２】
最後に、相互作用模擬部２の方向決定手段は、大きさ決定手段が決定した力の大きさと方向決定手段が決定した力の方向とにもとづいて、第１の物体に作用する力（反力）を決定し、出力する（ステップＳ１８）。このとき、この力ベクトルの起点は、以下のように重心点Ｇｃｊ（ｊ：１、２、・・・、ｎ）の平均としても良いし、ドリルの各部の切削能力や切削される歯の部分の硬さを反映させて、それらの加重平均をとっても良い。
【数５】
0005852384.tif 000006
・・・（式７）、
である。
【００７３】
模擬装置１００のＣＰＵ１は、方向決定手段が出力した反力の値および方向にもとづいて、ハプティック入出力装置４の制御モータを制御し、反力に相当する力覚をユーザに与える。
【００７４】
以上の処理が繰り返されることにより、模擬装置１００は、ハプティック入出力装置４を操作するユーザに対し、仮想現実空間においてドリルと歯が接触した際にドリルが歯から受ける反力に相当する力覚を提供する。
【００７５】
（２）医科教育用シミュレータ・手術支援ナビゲータの構築
・触診：腹部や肝臓などの臓器を触診し、その腫れ具合から病気の有無、および進行状況を判断する。
・臓器の切開：胃や肝臓などの臓器をレーザーメスなどで切開したり、ガンなどの腫瘍を摘出したり、ガンの転移が危惧されるリンパ節を除去する。
・臓器同士の癒着剥離：ガンなどの発生より隣接する臓器が癒着する際、レーザーメスや柑子などをもちいてその癒着を剥がす。これは触覚が重要な役割を果たす処理である。
・骨の切削：関節置換術などの整形外科において、患者の骨を切削および／または切除する。また、骨腫瘍を切削および／または切除する。
・関節内の異物除去：関節内の軟骨のかけら除去。
など、仮想現実感より視覚・触覚・音声を模擬体感できる装置の構築に応用できる。
【００７６】
図１０にその構成を図示した模擬システムは、上記した用途に応用することも容易である。
【００７７】
図１５および図１６は、ＳＴＬ形式で表現されたメスおよび臓器をＧＰＵのＺバッファリング機能で直方体群に変換する様子を示した模式図である。ＧＰＵのＺバッファリング機能により、ＳＴＬ形式で表現されたメスや臓器は、直方体群（ｒ１〜ｒ６）に変換される。ＧＰＵのＺバッファリング機能を利用すれば、メスと臓器を共通の座標軸に則って直方体群に高速に変換することができる。メスが臓器に接触した場合の処理は、上述したドリルによる歯の切削の模擬と同様の処理で行えばよい。
【００７８】
このように、本発明にかかる方法および装置によれば、デジタルデータ（点群、キューブ（ボクセル）群、球群、直方体群）で表現された物体同士の接触に伴う力学的相互作用において物体に作用する力の大きさおよび方向を高速かつ簡便に導出することができる。本発明においては、物体の表面を陽に規定しないデジタルデータから、直接的に（物体の表面を導出することなしに）、相互作用において物体に作用する力（反力等）の大きさおよび方向を導出することができる。本発明により、仮想現実空間における物体間の力学的相互作用により物体に作用する反力等をハプティック入出力装置を介してユーザに力覚として出力することが容易になる。
【００７９】
なお、動いている（変形しない）物体を点群、静止している（変形する）物体をボクセル群と定めているが、相対運動の考え方より動いている（変形しない）物体をボクセル群、静止している（変形する）物体を点群として表現してもよい。また、両物体ともに動く場合であっても、やはり相対運動の考え方よりどちらかを静止させることで、本発明にかかるアルゴリズムをそのまま利用できる。さらに、点群やボクセル群の一部を削除することで、衝突する物体の両方とも変形させることも可能である。
【００８０】
本発明にかかる方法は、デジタルデータを高速処理できるＧＰＵで動作させることで、その能力をいかんなく発揮できる。一般に、ＧＰＵは、動く物体の座標変換も高速に計算可能であるため、本方法で用いる座標変換計算とＧＰＵの機能との親和性は非常に高い。最後に、物体は点群、ボクセル群、球群などはもちろん、ＧＰＵのＺバッファ処理機能より短冊群に変換できる形式（通常はＳＴＬ形式、Standard Triangulated Language 形式）であれば、多面体はＳＴＬ形式（三角面多面体）でなくてもでもよい。
【００８１】
本発明は、歯科教育用シミュレータ・手術支援ナビゲータや医科教育用シミュレータ・手術支援ナビゲータ等の、仮想現実感より視覚・触覚・音声を模擬体感できる装置の構築に応用できる。
【産業上の利用可能性】
【００８２】
本発明は、触覚情報を出力可能な模擬装置として有用である。
【符号の説明】
【００８３】
１：    ＣＰＵ
２：    ＧＰＵ（ＧＰＧＰＵ）
３：    メモリ
４：    ハプティック入出力装置
１０：    ドリル
１０ｒ：  直方体群に変換されたドリル
１２：    歯
１２ｒ：  直方体群に変換された歯
１２ｅ：  エナメル質
１２ｅｒ：直方体群に変換されたエナメル質
１２ｉ：  象牙質
１２ｉｒ：直方体群に変換された象牙質
１２ｐ：  歯髄
１２ｐｒ：直方体群に変換された歯髄
１２ｇ：  歯肉
１２ｇｒ：直方体群に変換された歯肉
１２ｖ：  血管
１２ｖｒ：直方体群に変換された血管
２０：    Ｚバッファ
１００：    模擬装置
Ｃ：    切削可能領域
Ｄ：    衝突検出領域
Ｇｒ：  切削可能領域代表点
【図４】
0005852384.tif 000007
【図５】
0005852384.tif 000008
【図６】
0005852384.tif 000009
【図７】
0005852384.tif 000010
【図８】
0005852384.tif 000011
【図９】
0005852384.tif 000012
【図１０】
0005852384.tif 000013
【図１１】
0005852384.tif 000014
【図１２】
0005852384.tif 000015
【図１３】
0005852384.tif 000016
【図１４】
0005852384.tif 000017
【図１５】
0005852384.tif 000018
【図１６】
0005852384.tif 000019
【図１】
0005852384.tif 000020
【図２】
0005852384.tif 000021
【図３】
0005852384.tif 000022