変形可能な物体間の相互作用をモデル化する方法
本発明は、仮想現実シミュレーションにおいて第1の変形可能な物体と第2の変形可能な物体の衝突を判断する方法である。この方法は、第1の物体と第2の物体の近接度を求めることができる第1のテストを提供するステップと、第1の物体と第2の物体の近接度を求めることができる第2のテストを提供するステップとを含み、第2のテストは第1のテストよりも包括的であり、第2のテストは、第1のテストが肯定的な結果を返すと実施され得る。このより包括的なテストは、衝突が起きそうか、あるいは衝突が目前に迫っている(これは第1のテストによって判断される)ときにのみ実施されるので、シミュレーションを実施するプロセッサには過度な負荷がかからず、シミュレーションプログラムが必要とする他のタスクにリソースをあてることができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物理的な物体のコンピュータ生成モデルに関する。より詳細には、本発明は、仮想環境における変形可能な物体のコンピュータ生成モデル間の衝突をモデル化する改善された方法を提供する。
【背景技術】
【0002】
コンピュータはモデル化およびシミュレーションに不可欠なツールとなっている。こうした領域では、計算能力が向上するにつれ、ユーザや応用例が求める現実性のレベルは止まるところを知らない。この傾向は、複雑な物理的環境の状況でより高度な幾何形状や物理的な物体をモデル化するコンピュータグラフィックスで特に明らかである。
【0003】
特に、変形可能な物体をモデル化し操作し得ることが多くの応用例で極めて重要である。物体の変形をモデル化する手法は、個々の制御点または形状パラメータ、あるいは制御点群または形状パラメータ群を手作業で調整して形状の修正や設計を行う非物理的な方法から、物体の変形に対する材料特性、外力、および環境の制約の影響を説明する連続体力学に基づく方法にまで及んでいる。
【0004】
変形可能な物体のモデル化は、コンピュータグラフィックスにおいて、ある範囲の応用例にわたって20年以上も研究されてきた。コンピュータ援用設計やコンピュータ製図の応用例では、変形可能なモデルを用いて複雑な曲線、表面、および中実体を生成し修正する。コンピュータ援用アパレル設計では、変形可能なモデルを用いて布地のドレーピングやフォールディングをシミュレーションする。変形可能なモデルは、アニメーションやコンピュータグラフィックスで、特に、衣類のアニメーション、顔の表情、ならびに人間または動物のキャラクタで用いられてきた。
【0005】
コンピュータに基づく有用な変形可能モデルの開発を制約してきたのは、常にその時代のコンピュータハードウエアによって課される制限である。このことは、モデルが実時間で表現すべき動的なモデルである場合に特に問題である。
【0006】
変形可能な物体間の相互作用は複雑であり、膨大な計算能力が必要である。シミュレーション中に、2つ以上の変形可能な物体が衝突するとき(例えば、第1の物体が第2の物体上に落ちるとき)には、これらの物体が「物理的に」相互作用する必要があること多い。コンピュータグラフィックスやコンピュータによる視覚化では、多くの応用例で衝突検出は極めて重要である。典型的には、衝突検出アルゴリズムに入力されるのは、環境を構成する多数の幾何学的な物体に加えて、この環境内で動く1組の物体である。対になる物体間で生じる接触を正確に求めることに加えて、それを実時間で実行する必要がある。力覚フィードバックなどの応用例では、必要とされる衝突の回数が1000回を超えることがある。
【0007】
最小侵襲手術
コンピュータによるモデル化では上記の実時間機能を実装する問題が多くの応用例に当てはまるが、大きく注目を集めている領域の1つは、手術シミュレーションの実行を目的とした人体の解剖学構造のモデル化である。フライトシミュレータは50年もの間、安全が保証された状態でパイロットの訓練に使われてきた。それに対して、手術シミュレーションは現在、ある範囲の処置で用いられる技術に関して外科医を訓練するのに利用されているに過ぎない。これまでの切開手術では習得すべき技術が多数あったが、最小侵襲手術で用いる技術はさらに習得が難しい。
【0008】
いかなる形式の手術も人体にストレスを及ぼす。これまでの切開手術では、切開そのものが患者に対する感染、外傷、および回復期間に関するリスクを、手術を行うに至った原因である病状によるものよりも高めることになる。道具や器具の使用を最小限が抑えられたり、患者の体内を観察するビデオシステムが使用されたりという進歩の中で、最小侵襲手術用の技術が生み出されてきた。こうした手術で画期的なのは、切開が小規模に抑えられ、手術器具が静脈、動脈、または組織間空間に挿入されることである。器具が患者の体内に挿入されるときに器具から外科医に伝わる力覚、ならびにX線、テレビモニタその他のシステムによる視覚的な表示画像により体内を観察することができることを利用して、器具を位置決めし、心臓などの臓器の修復、閉塞組織の除去、ペースメーカのリード線の配置、内視鏡手術その他の処置などの必要な手術タスクを完了する。このタイプの手術では侵襲を最小限に抑えられることから、極めて短時間で、麻酔も少なく、入院期間も短くして手術を行うことができる。このタイプの手術手順のこうした性質を踏まえると、特に考慮にすべきことがいくつかある。患者の体内で器具を正しい方向に向けることに失敗したり、器具を通過させる組織を正しく認識できないと、器具によって静脈、動脈、臓器その他の内部組織構造に孔が開いたり、これらの構造が断裂したりすることがある。このような事態が起こると、ほぼ確実に患者に対して緊急の侵襲手術を行うことになり、状態が悪化し、死に至ることもある。
【0009】
経験の乏しい外科医にとって、所望の習熟度および技量のレベルを習得し、それによって必要とされる認定を得ることは難しい。さらに、めったに使われない手順もある。こうした操作は繰り返し行わない限り、定期的にこうした手順を行うことによってのみ得られる高度な技術を外科医は維持することができない。さらに、新しい方法、操作、および手順は生身の患者以外では行うことができない。したがって、現実の手術をシミュレーションするための効果的な手段が求められており、それによって、技能が伸ばされ、維持され、新しい技術が実施される。
【0010】
当技術分野ではここ数年間、コンピュータ技術に基づく最小侵襲手術のシミュレーションが知られている。そのほとんどは実時間では動作しないため、訓練者の動作と、訓練者がコンピュータスクリーン上で見るものとの間にいくらかの時間的なずれがある。これは明らかに最適なことではない。シミュレータの中には実時間で動作し得るものもあるが、膨大な処理能力または並列処理技術を必要とする。このような機器は高価であり、したがって広く普及することはない。
【0011】
子宮の両側の卵管、卵巣帯、および卵巣は自由に動く物体であり、互いに近接している。したがって、これらの間には衝突が頻繁に発生する。仮想環境では、こうした衝突を正確に検出し取り扱う必要がある。こうした状況下での衝突検出アルゴリズムおよび解剖学的移動モデルは、機器(すなわち剛体の物体)が解剖学構造と相互作用する場合に用いるものとは異なるものである必要がある。この違いは、2つの変形可能な物体が衝突するとき、これら物体の一方の幾何形状を1つの交差セグメントで簡単には表現できないことに由来するものである。これは、衝突が仮想機器などの剛体の物体上で起こる場合がそうである。
【0012】
本明細書を通して用いられる例は、手術シミュレーションの状況下で子宮と卵管を個別の解剖学的な物体としたときに、これらの間に生じる相互作用である。これは説明の都合によるものに過ぎず、本発明を何らかの特定の応用例に限定することを意図したものではない。
【発明の開示】
【発明が解決しようとする課題】
【0013】
上記に照らして、コンピュータ上で実時間で動作し、安価かつ入手が容易な手術シミュレータが求められていることが明らかである。先行技術には、仮想環境で2つの物体が衝突する時点を求めるのに使用するアルゴリズムの多くの例があるが、こうした先行技術による方法では、処理時間が比較的長く必要とされる。したがって、適度な実時間性能を得るためには極めて高度かつ高価なハードウエアが必要とされる。そのため、本発明では、変形可能な仮想物体間の衝突を定義する新しいアルゴリズムを提供することによって先行技術の問題を克服するか、あるいは問題の程度を低減する。
【0014】
本明細書に含まれる文書、行為、材料、装置、物品などの議論は、本発明の状況を実現するためだけのものである。本願の優先日以前にオーストラリア国に存在するものとして、上記の事項の一部または全部が先行技術の基礎の一部を形成すること、あるいは、本発明に該当する分野でよく知られた一般的な知識であることを示唆または表現するものではない。
【課題を解決するための手段】
【0015】
第1の態様では、本発明は、仮想現実シミュレーションにおいて第1の変形可能な物体と第2の変形可能な物体の衝突を判断する方法を提供する。この方法は、第1の物体と第2の物体の近接度を求めることができる第1のテストを提供するステップと、第1の物体と第2の物体の近接度を求めることができる第2のテストを提供するステップとを含み、第2のテストは第1のテストよりも包括的であり、第2のテストは、第1のテストが肯定的な結果を返すと実施され得る。
【0016】
本発明によれば、2つの変形可能な物体が衝突したかどうかに関する判断には少なくとも2つのステップが含まれる。第1のステップは、衝突が起きそうか、衝突が目前に迫っているか、あるいは衝突がすでに起きたかどうかを判断する簡易的なテストを含む。例えば、第1のテストでは、第1の物体の中心から第2の物体の中心までの距離を監視することができる。この距離が所定の値以下になったとき、第2のより包括的なテストが実施される。第2のテストの役割は、衝突が起きたかどうかをより正確に判断することであり、典型的には、一方または両方の物体の表面座標を考える。本発明の一形態では、第2のテストが肯定的な結果を返す場合に衝突が確定され、このソフトウエアは、一方または両方の物体がその形状および/または位置に関して適切に動くように指示する。当然のことながら、第1のテストが肯定的な結果を返した後で、2つ以上のテストを実施して衝突が起きたかどうかをより正確に判断してもよい。
【0017】
出願人は、第1の簡易的なテストを用いて2つの変形可能な物体間で衝突が起きそうか、衝突が目前に迫っているか、あるいは衝突が起きたところかどうかを判断し、次いで、より包括的なテストによって衝突をより正確に判断すると、動的なシミュレーションの動作中に、衝突テストに割り当てられているコンピュータのプロセッサのリソースが大きく節約されることを見いだした。第1のテストは概ね、応用例を通して継続的に動作し、第2のテストは、第1のテストが、衝突が起きそうか、あるいは起きたところであることを示すときにのみ実施される。
【0018】
本明細書で説明する方法は、変形可能な物体間の相互作用をモデル化するように設計されたソフトウエアで実施されることを意図している。そのため、本発明の一態様では、本明細書で説明する衝突判断方法を実施するコンピュータにより実行可能なプログラムが提供される。別の態様では、本発明により、本明細書で説明するコンピュータにより実行可能なプログラムを含むコンピュータが提供される。
【0019】
本明細書で説明する方法、コンピュータにより実行可能なプログラム、およびコンピュータは、任意の2つの変形可能な物体の衝突のコンピュータによるモデル化を必要とする広範な分野で使用することができる。ただし、本発明が適用可能な1つの特定の使用法は、臓器などの生物学的組織間の衝突のモデル化である。この適用例は、外科医の訓練で用いることができる仮想現実シミュレータ用のソフトウエアを設計するのに有用である。このように、本発明は、本明細書で説明するコンピュータを含む外科医訓練方法も提供する。
【発明を実施するための最良の形態】
【0020】
第1の態様では、本発明は、仮想現実シミュレーションにおいて第1の変形可能な物体と第2の変形可能な物体との衝突を判断する方法を提供する。この方法は、第1の物体と第2の物体の近接度を求めることができる第1のテストを提供するステップと、第1の物体と第2の物体の近接度を求めることができる第2のテストを提供するステップとを含む。第2のテストは第1のテストよりも包括的なものであり、第2のテストは、第1のテストが肯定的な結果を返すと実施することができる。
【0021】
出願人は、衝突テストに「2段階」手法を用いると、シミュレーションのフレームごとに不必要な詳細衝突テストを行わずにすむことを見いだした。この手法は、2つの変形可能な物体が静止状態では互いにかなり近づいており、そのため、かなり長い時間にわたってこれらの物体の境界ボリュームが重なり合う場合に特に有用である。簡易的な1次テストおよびより複雑な2次テストを実施することによって、コンピュータの1つ(または複数)のプロセッサにかかる計算負荷が少なくなる。こうすると、ほぼ実時間で動作し得るシミュレーションが得られ、かつ、仮想環境における変形可能な物体の形状および/または位置の変化のモデル化において許容可能な程度の現実性を提供し得るシミュレーションが得られる。
【0022】
本明細書では、「変形可能な物体」という用語は、形状および/または位置が変化し得る任意の仮想物体を指す。変形可能な物体の例には、結合してより大きな物体を形成する剛体の小物体の結合体を含めてもよい。変形可能な物体は、有限要素モデル法およびばねモデル法を含めて、当業者には周知の任意の方法によって生成することができる。
【0023】
「第1の変形可能な物体」および「第2の変形可能な物体」という用語は、2つの変形可能な物体を考えるということを明確にするために用いるに過ぎないことは明らかである。これらの用語は、本明細書の状況では交換可能としてよい。本明細書の状況では「〜の中または〜の上」という用語は、変形可能な物体の内部にあるか、あるいは、変形可能な物体の表面上にあるかを意味するためのものである。
【0024】
この方法は、3つ以上のテストを多段につなげてもよく、追加のテストはそれぞれその前のテストよりもより詳細なものである。ただし、この方法の一形態では、テストの数は2つであり、第2のテストが肯定的な結果を返すときに2つの物体が衝突したことが確定される。例えば、この方法が3つのテストを含む場合、第3のテストは、第2のテストが肯定的な結果を返してきた後で実施されることになり、第3のテストが肯定的な結果を返してきたときに衝突が確定されることになる。
【0025】
当業者なら、第1のテストとして適切なある範囲のテストについてよく知っていよう。本質的には、ある物体と別の物体の近接度を求めることができるものであればいかなるテストも本発明の状況で有用である。近接度は、第1の物体の任意の座標から第2の物体の任意の座標までの距離を考えるなど、任意のやり方で求めることができる。
【0026】
この方法の一実施形態では、第1のテストでは、第1または第2の変形可能な物体の表面座標は考えない。この方法の別の実施形態では、第1のテストでは、第1の変形可能な物体内の、またはその上の一座標から、第2の変形可能な物体内の、またはその上の一座標までの距離を考える。第1のテストでは、第1の物体内の、またはその上の一座標と、第2の物体内の、またはその上の複数の座標との距離を考えてもよい。
【0027】
この方法の一実施形態では、第1のテストは、各物体ごとの境界ボリュームを生成することと、ある制約関係を用いて境界ボリューム間の重なりを検出することとを含む。境界ボリュームは、任意のタイプのボリュームとし得るが、この方法の一実施形態では、球、円柱、定方位の境界ボックス、軸に沿って整列された境界ボックス、錐台、くさび、円錐、円環体、楕円体、および離散有向ポリトープからなる群から選択される。用いられる制約条件式は対象物体の幾何形状によって決まることはもちろんである。例えば、2つの物体がいずれも球である場合、制約関係として、球状境界ボリューム間の中心間距離を、球状境界ボリュームの半径の総和と比較して考えることになる。2つの球状境界ボリュームの中心間距離が半径の総和よりも短い場合、テストは肯定的な結果を返す。適切な第1のテストとしてのこれらの例は、計算が簡単なものであり、必要とされるプロセッサ時間が比較的短い。
【0028】
この方法では、第2のテストが第1のテストよりも包括的であることが必要である。第2のテストでは、第1の変形可能な物体内の、またはその上の2つ以上の座標と、第2の変形可能な物体内の、またはその上の2つ以上の座標との距離を考えてもよい。この方法の一実施形態では、第2のテストでは、第1の物体上の2つ以上の座標と、第2の物体上の2つ以上の座標との距離を考えてもよい。この方法の別の形態では、第2のテストでは、第2の物体内の2つ以上の座標と、第1の物体上の2つ以上の座標との距離を考える。変形可能な物体内の、またはそれらの上の2つ以上の座標を考慮することによって、第2のテストは、仮想環境において物体(または物体の表面の任意の部分)の形状および/または位置が変化する必要があるかどうかをより正確に判断することができる。こうすると、第1と第2の物体間の仮想的な相互作用のモデル化に際して、現実性の度合いがより大きくなる。
【0029】
第2のテストは、第1のテストが肯定的な結果を返してきたときに起動する。第1のテストが肯定的な結果を返す基準は、特定の状況によって決まる。当業者なら、第1のテストが所与の応用例に適切な肯定的な結果を返してくる特定な時点を特定することができよう。例えば、第1のテストは、第1の変形可能な物体が第2の変形可能な物体に向かって移動している間に肯定的な結果を返してくることがある。これら2つの物体が互いに離れているとき(したがって、シミュレーションの1秒あるいは数秒の間に衝突が起きる可能性が極めて低いとき)、第1のテストは否定的な結果を返す。第1と第2の物体間の距離が短くなっても、第1のテストは否定的な結果を返し続ける。所定の距離になったとき(典型的には、衝突が起きそうか、あるいは衝突が目前に迫っている距離のとき)、第1のテストは肯定的な結果を返し、それが第2のテストを実施するトリガになる。次いで、第2のテストは、2つの物体が実際に衝突したことをより確かに検出することになる。その後、この衝突情報を用いて、仮想環境におけるこれらの物体の形状および/または位置を現実的に変更する。
【0030】
別の例は、第1および第2の変形可能な物体がもっと早い時期にすでに衝突しており、互いに接触した状態で静止している状況を含む。この状況では、第1のテストは、第2のテストによってもっと早い時期に衝突したことが確定された後で肯定的な結果から切り替えられて、否定的な結果を返しているところである。第1のテストは、シミュレーションがたったいま開始されたばかりで、物体が初期静止状態にあるので、否定的な結果を返しているところかもしれない。第2のテストは、この状況では実施されない。というのは、物体がいずれも静止しており、したがって複雑な衝突テストを行う必要がないからである。
【0031】
この方法の一実施形態では、第1のテストは、あるレベルの仮想力が第1の物体に第2の物体から加えられたときに肯定的な結果を返す。これに該当する1つの状況は、第1の物体が第2の物体と接触した状態で静止している場合である。この状況で考えられることは、第1と第2の物体が衝突しそうもないことである。しかし、この状況は、第3の物体から第1の物体に仮想力が加えられる場合には変わることがある。仮想力が第1の物体に加えられると、第1の物体と第2の物体の近接度が変わることがある。近接度の変化は、第1の物体と第2の物体の境界ボリュームの重なり合う量の変化によって検出することができる。近接度は、第1のテストが肯定的な結果を返すように変化することがあり、その場合、第2のテストが実施される。第2のテストが起動すると、典型的には、表面座標を用いたより複雑な計算が実行され、それによって、衝突物体の表面全体にわたってより正確な衝突テストが行われる。このようにより正確な衝突テストを行うことにより、仮想環境における物体の形状および/または位置の変化を表現する際の現実性の度合いがより大きくなる。
【0032】
上記のことから、「衝突テスト」という用語は、2つの別個の物体の表面が仮想的に接触して、仮想環境においてこれらの物体の形状および/または位置が変化する必要があるかどうかを判断するのに用いられるテストを含むことを意図するものであることが理解されよう。この用語は、すでに仮想的に接触している2つの物体が、典型的にはこれらの物体の一方または両方に働く仮想力のために、仮想環境においてそれらの形状および/または位置が変化する必要があるかどうかを判断するのに用いられるテストを含むことも理解されよう。いずれの状況にも共通する態様は、このテストにより、第1の物体および/または第2の物体において、これら2つの物体間の何らかの相互作用の結果、形状および/または位置が変化する必要があるか否かが判断されるということである。
【0033】
本明細書で説明する本発明にいかなる制限も加えることなく、仮想手術の領域における特定の例を考える。この場合、仮想環境において卵巣および卵管が共存する。この例では、第1のテストは、卵巣の境界ボリュームの中心と、輸卵管の各セグメントの境界ボリュームの中心との距離を求めるものとし得る。この例では、第1のテストは、輸卵管が卵巣から離れている場合、あるいは卵巣上で静止している場合には否定的な結果を返すことになる。しかし、卵管が卵巣上で静止しているときに仮想機器から卵管に十分に大きな力が働く場合、卵巣の中心と、卵管の少なくとも1つのセグメントの中心との距離は、静止状態における距離の90%以下に減少する。距離の減少に伴って、第1のテストは肯定的な結果を返すことになり、それが第2のテストを実施するトリガになる。
【0034】
第2のテストが肯定的な結果を追認すると、衝突が確定され、このソフトウエアはサブルーチンを実行して、仮想環境において第1および/または第2の物体の形状および/または位置を変化させる。
【0035】
上記のことから、変形可能な物体が静止状態で接触しているときには本発明が有用であることが当業者には明らかであろう。第1および第2の物体の境界ボリュームは静止状態では重なり合っていることがあるので、複雑な衝突テストを絶えず実施する必要はない。したがって、第2のより複雑なテストは、第1のテストが肯定的な結果を返すまで実行されない。この利点は、例えば卵巣が卵管上で静止している場合の手術シミュレーションの状況で有用である。これら2つの物体は動いてもいないし、(重力を除く)何の仮想力も加えられておらず、これらの物体の境界ボリュームは重なり合っており、これらの物体の表面は接触している。この状態では、これら2つの変形可能な物体の形状および/または位置を現実的にモデル化するのに必要とされる複雑な衝突テストを実施する必要はない。例えば、ある機器が卵巣を押して境界ボリュームにおける重なり合いが増えた場合には、より複雑なテストが必要となろう。この状況では、力の移動の結果、卵巣の動きが卵管の形状および/または位置に影響を及ぼすことになる。そのため、重なり合いの閾値としてある値を設定することが可能であり、この閾値を越えた場合に第2のテストが起動する。
【0036】
本発明は、2つの物体が接触していなくても有用である。2つの物体が空間的に離れている場合(かつ、それらの境界ボリュームが重なり合っていない場合)、変形可能な物体の衝突をモデル化するのに必要とされる複雑な衝突テストを用いる意味はない。第2のより包括的なテストは、第1のテストが肯定的な結果を返すときにのみ実施される。この手法により、処理時間が大きく節約され、フレームレートがより速くなる。
【0037】
第2のテストは、第1のテストよりも包括的なものであり、第1のテストが肯定的な結果を返すときにのみ実施される。このより包括的なテストは、第1のテストよりも正確に衝突を検出するように設計されている。したがって、第2のテストは、衝突が生じたか、あるいは起きそうか否かを評価するのに、入力パラメータの数が第1のテストよりも多いか、複雑な入力パラメータの数が第1のテストよりも多いか、あるいは、第1のテストよりも関係する式の数が多いか、複雑な式の数が多いか、計算が多いか、複雑な計算が多いことがある。
【0038】
上記で論じたように、第2のテストの役割は、2つの物体の衝突のより現実的なモデルを提供することである。卵巣および卵管の例を用いると、第2のテストは、一方の物体(すなわち卵巣)における最大セグメントから、他方の物体(すなわち卵管)におけるセグメントの座標系原点までの交線を定義するというものであることがある。これらの線はそれぞれ卵巣の幾何形状と交わり、それによって、衝突部位における卵巣の表面の輪郭を定義する一群の点が生成される(図1参照)。
【0039】
第2のより包括的なテストは、第1のテストによって2つの物体間の所定のレベルの重なり合いが検出されるときにのみ起動する。この方法の一実施形態では、この重なり合いは、これら2つの物体の小さいほうの境界ボリュームの半径の割合に関して考えられる。この方法の一実施形態では、この割合は約10%〜約20%の重なり合いである。
【0040】
この方法の代替実施形態では、第2のテストを起動させるのに必要な重なり合いの閾値は、第1の物体の境界ボリュームの半径および第2の物体の境界ボリュームの周辺領域によって定義される。第2の物体の周辺領域が第1の物体の境界ボリュームの半径の所定の割合よりも大きく重なり合う場合、第2のテストが起動する。
【0041】
この手法は、卵巣および旋回した卵管の例を用いてさらに説明することができる。この応用例では、変形可能な物体間の衝突のテストは、セグメントの旋回点に基づくものであることがある。旋回した混成物体の境界ボリュームは静止状態で重なり合っているので、第2のテストを実施する必要はない。そのため、解剖学的構造はどれもその初期(静止)状態にあり、卵巣の境界球の中心と卵管上の各セグメントの旋回点との距離がわかる。これらの距離のいずれかが、その初期値の90%未満に減少した場合、第2の(より包括的な)テストが起動する。
【0042】
本発明の方法は、コンピュータにより実行可能なプログラムの形態で実施されることが企図されている。当業者なら、本明細書で説明する方法を、当技術分野で周知の多くのプログラミング言語の1つで実施することができよう。このような言語の例には、Fortran、Pascal、Ada、Cobol、C、C++、Eiffel、Visual C++、Visual Basic、またはこれらの任意の派生物が含まれるが、これらに限定されるものではない。このプログラムは、揮発形態で(例えば、ランダムアクセスメモリ)、または、(ハードドライブなどの)磁気記憶装置などのより恒久的な形態で、あるいは、CD-ROM上に記憶し得る。
【0043】
この方法の一実施形態では、第1および/または第2の物体は、当業者には周知の、Wavefront/Alias Maya、3DstudioMaxを含む群から選択されたソフトウエアパッケージ、または3D臓器曲面形状をモデル化するのに適した他の任意のソフトウエアパッケージを用いてモデル化される。
【0044】
本発明は、本明細書で説明するコンピュータにより実行可能なプログラムを含むコンピュータも提供する。この方法の一実施形態では、このコンピュータは、クロックスピードが約100、200、300、400、500、600、700、800、900、1000、1100、1200、1300、1400、1500、1600、1700、1800、1900、または2000 MHzよりも低い中央処理装置を有する中央処理装置を備える。この方法の一実施形態では、コンピュータの中央処理装置は、Pentium(登録商標) 1、Pentium(登録商標) 2、Pentium(登録商標) 3、Pentium(登録商標) 4、Celeron、MIPS、RISC、またはR10000からなる群から選択される。スピードが遅いプロセッサまたは高度化の度合いが低いプロセッサを有するコンピュータ上で複雑なシミュレーションを実行し得ることは、先行技術の方法に対する本発明の利点である。これは、より包括的な衝突テストがシミュレーション中に必要なときのみ用いられるからである。
【0045】
一実施形態では、コンピュータにより実行可能なプログラムは、コンピュータ上でほぼ実時間で動作し得る。仮想現実コンピュータシミュレーションの視覚要素の現実性は、モデル化法が視覚表示を1秒当たり十分に大きいフレーム数でリフレッシュできるかどうかによって決まる。この方法の一実施形態では、1秒当たり少なくとも24フレームのフレームレートが実現される。別の実施形態では、1秒当たり少なくとも30フレームのフレームレートが実現される。
【0046】
一実施形態では、この方法は、仮想現実システムのコンポーネントである。コンピュータ技術に基づく仮想現実システムは当技術分野ではよく知られている。このようなシステムは一般に、シミュレーションを実施するのに必要とされるコンピュータのハードウエアおよびソフトウエアをすべて含む中央処理装置を備える。動きセンサなどの入力デバイスおよび視覚表示ユニットなどの出力デバイスも含まれる。
【0047】
本発明は、衝突テストに係わる広範囲の仮想現実応用例に適用可能であることを理解されたい。
【0048】
一実施形態では、この仮想現実システムは、手術技術の訓練に用いられる。本発明の仮想現実システムは、ある範囲の手術技術の訓練に用いることができる。ただし、本発明の一実施形態では、この仮想現実システムは、婦人外科、胆嚢外科、神経外科、胸郭外科、眼球外科、および整形外科の訓練に用いられる。
【0049】
本明細書で説明する方法および/または仮想現実システムは、相互作用的な接触を含む視覚的および力的な特徴の階層セグメント化実装などの他の特徴を含み得ることが企図されており、それによって、仮想物体を、仮想機器がそれに接触したときに感知することができる。
【0050】
本明細書で説明する方法および/または仮想現実システムは、視覚表示ユニットで見ることができ、かつ、機器からの力覚フィードバックを介して感知することができる病理学的な特徴を含む解剖学的構造も含み得る。解剖学的領域を解剖学的物体にセグメント化し、各セグメントに異なる動的な属性を付与することによって異なる解剖学上の臓器の相互作用運動を実装する可能性も期待される。
【0051】
本明細書で説明する方法および/または仮想現実システムは、ある解剖学的物体の様々な部分の相互作用運動を組み込むこともできる。これは、仮想機器と解剖学的物体のあるセグメントとを接触点において相互作用させ、次いで、所定のルールにしたがって隣接するセグメントを移動させることによって行う。
【0052】
本発明の別の実施形態では、本明細書で説明する方法および/または仮想現実システムはさらに相互作用接触を含み得る。解剖学的物体の様々な部分の力覚フィードバックは、仮想機器と解剖学的物体のあるセグメントとを接触点において相互作用させ、この点においてモデルに適切な力覚フィードバックベクトルを定義させることによって実現される。
【0053】
本明細書で説明する方法および/または仮想現実システムは、各解剖学的物体の一群のセグメントに適用される組織病理学的な属性も含み得る。病理学からは、上記で説明したように、視覚および力覚の両方のモデルに入力が提供される。
【0054】
本発明の一形態は、(手術中に内視鏡カメラによって観察される)女性の骨盤の解剖学的領域を表す仮想現実システムを提供する。この複雑な解剖学的領域は、いくつかの臓器および構造からなり、それぞれが、異なる視覚的な、移動に関する、力覚的な、かつ疾患上の特性を有する。シミュレーションでは、この複雑な領域を、解剖学的構造を解剖学的物体(臓器その他の構造)、小物体、または臓器および構造のセグメントにセグメント化することによって表現する。次いで、視覚的な、移動に関する、力覚的な、かつ疾患上の特性が、モデルのあるセグメントによって表される解剖学的構造のそのセグメントに与えられる。モデルセグメントの特性は、隣接するセグメントの位置または移動から導き出すこともできる。
【0055】
解剖学的構造のセグメントが内視鏡機器によって移動する(感知される)ので、そのセグメントが存在するモデルの領域内に力覚機器が移動するときに解剖学的モデルは移動する(感知される)だけでよい。そのため、モデルの特定のセグメントに機器が近づくと、そのセグメントの移動および力覚的な属性が有効になる。臓器全体またはモデル全体が移動する、または感知される必要はない。そうではなくて、このセグメントにおける移動を可能にするルールによって、1つのセグメントから隣のセグメントに動きを伝えることができる場合には、そうすることができる。
【0056】
動きに関連して、どのセグメントも、機器その他のセグメントと交差したかをテストするのに用いられる境界ボリュームを有する。物体の動きは、剛体で変形可能なモデルの重ね合わせである。剛体移動とは、並進移動および回転などの物体の全体的な移動である。卵管や子宮靱帯などの筒状構造の場合、これらの物体は剛体ボリュームセグメントにさらに分割される。機器が特定のセグメントに接触/交差すると、同じ物体に属する他のすべてのセグメントは、あらかじめ定義された物理的/数学的なモデルにしたがって移動する。したがって、移動は、解剖学構造全体(例えば、単一のメッシュとしての生殖器)ではなく物体(例えば、左卵管、子宮、右卵巣など)に制限される。
【0057】
当業者には明らかなように、変形可能な動きのモデルは、臓器の表面が一群の点/質点になるように構築し得る。こうすると、手術機器との相互作用による表面の変形、例えば、へこみや引張りが局所化される。したがって、変形の影響が、機器との接触点から、接触力によって定まるあらかじめ定義された球状ボリューム内の仮想臓器内の隣接するすべての点に伝播する。このため、変形は、物体のメッシュ全体ではなく、その一部にしか影響を及ぼさないことがある。
【0058】
一実施形態では、本明細書で説明した仮想現実システムは、手術技術の訓練に用いられる。一実施形態では、こうした手術技術は、内視鏡手術などの侵襲を最小限に抑える技術である。そのため、この方法のある実施形態では、第1および第2の物体は人体の解剖学特徴のモデルである。この方法の一実施形態では、第1および/または第2の物体は臓器である。別の実施形態では、この臓器は、輸卵管、子宮、卵巣、および卵巣帯を含む群から選択される。
【0059】
本発明は、本明細書で説明した方法および/またはコンピュータおよび/または仮想現実システムを含めて、外科医を訓練する方法も提供する。この訓練方法は、訓練マニュアル、講義ノート、実演などの教育技術分野で周知の他の特徴も含み得る。
[実施例]
【実施例1】
【0060】
解剖学的構造が衝突する際の動き、卵巣が卵管を移動させる場合
図1は、本発明の一実施形態を示す一連の図の最初のものである。ここで、卵管は静止しており、卵巣は卵管に向かって移動している。図1には、最初の瞬間を示す。第1のテストでは、線O-Pの長さを参照してこれら2つの物体の近接度を求める。これら2つの物体が離れているときには、線O-Pの長さはどれも所定の値よりも大きく、第1のテストは否定的な結果を返す。卵巣が卵管に向かって移動すると、線O-Pの長さは減少するが、この長さが所定の値よりも大きい限り、第1のテストは依然として否定的な結果を返す。図1には、少なくとも1つの線O-Pが所定の値に等しく、第1のテストが肯定的な結果を返す瞬間を示す。
【0061】
この時点で、第2のテストが実施される。本実施形態の第2のテストでは、これら2つの物体が衝突したかどうかを判断するに当たって、卵巣の表面上の点C、ならびにこれらの点と卵巣の表面との関係を考慮し、それによって、物体の形状または位置のいずれかの変化が必要になる。第2のテストを実施すると、卵巣の表面上のいくつかの点Cは実際に卵管の壁と重なり合っており、したがってすでに衝突が起こっていることが明らかになる。この衝突は、簡易的な第1のテストでは確認されなかったものであるが、より複雑な第2のテストによってこの時点で確認される。
【0062】
卵管と卵巣の衝突が確認されると、衝突したこれらの物体は互いの幾何学的な配置から外される。この段階で、どちらの物体が他方を移動させるかを決めなければならない。
【0063】
・機器は卵管を押すが卵巣は押さない場合、卵管は卵巣を移動させる。その逆もある。
【0064】
・機器が卵管と卵巣の両方を押す場合、機器が最初に接触したほうが他方を押す。
【0065】
・卵管が卵巣上に落ちた場合、卵管が卵巣を移動させるか、またはその逆である。
【0066】
これらの運動モデルは、以下の2つの状況に基づくものとした。一方は、卵管が卵巣を移動させた場合であり、他方は、卵巣が卵管を移動させた場合である。これらは同じ原理に基づいているが、物体のセグメントのサイズの違いのために適用のされ方が異なっている。
【0067】
卵管のセグメントの各旋回点ごとに、卵巣の表面上の交点までの距離を求めた。これらの距離の最小値が、セグメントの境界ボリュームの半径の0.8倍よりも小さい場合に衝突を確定した(図2参照)。
【0068】
セグメントnが卵巣と交差する場合、
すべてのセグメントiに対して以下を行う。
【0069】
l=|P(n)-C(i)|
if (l<lmin)
lmin=l
交差した卵管の第1セグメントは、階層的にその上にある第2セグメントの旋回点の周りに回転するように選択されている(図3参照)。
【0070】
rをセグメントの境界球半径とする。
【0071】
このセグメントと卵巣が重なり合わないように、lは0.8rとすべきである。
【0072】
b=|C-P|
d=|B-P|
l=0.8r
三角形の恒等式を用いて、c2=a2+b2-2ab×cosC
l2=b2+d2-2bd×cosβ
∴β=arcos((b2+d2-l2)/2bd)
(C-P)(B-P)=|C-P||B-P|cosα
α=arcos((C-P)(B-P)/bd)
したがって、このセグメントはl=0.8rになるように(β-α)だけ回転すべきである。
【0073】
上記第2のセグメントの旋回点を第1のセグメントの上に選んだ理由は、卵管の曲がりをあまり大きくせず、それによって、より自然にするためである。交差したセグメントの新しい旋回点と、それに対応する卵巣の表面上の点との距離がこのセグメントの境界ボリュームの半径の0.8倍になるようにセグメントの旋回点を選択された回転点の周りに回転させる(図3参照)。回転した旋回点の下のセグメントの旋回点は横方向に並進移動させる(図4参照)。
【0074】
衝突が報告されなくなるまで同じプロセスを繰り返し、以前に卵巣と衝突した卵管内のセグメントはすべて卵巣の表面上に置かれている。図5〜図8に、衝突したセグメントを回転させるプロセスを示す。図9に、最終的な解を示す。
【実施例2】
【0075】
解剖学的構造が衝突する際の動き、卵管が卵巣を移動させる場合
卵管のセグメントの各旋回点ごとに、卵巣の表面上の交点までの距離を求めた。これらすべての距離の最小値から、卵巣の幾何形状内の幾何形状部分が最大であるセグメントを探し出した(図10参照)。このセグメントの表面上に移動することによって、卵管内の他のすべてのセグメントの幾何形状からも卵巣が外された。
【0076】
交差したセグメントの旋回点と卵巣の表面上の点との最小距離が、このセグメントの境界球の半径の0.8倍よりも小さい場合、このセグメントと卵巣は交差する(図10参照)。これら2つの点の距離がこのセグメントの境界球の半径の0.8倍になるように卵巣は回転しなければならない(図11参照)。次いで、卵巣をその軸の周りで図12に示す角度だけ回転させた。卵巣のこの回転により、卵巣と卵管がもはや交差していない最終解が生成された(図13参照)。
【0077】
最後に、本発明の趣旨または範囲を逸脱することなく、上記で説明した構成に多くの変形、改変、および変更を加えることができることを理解されたい。
【図面の簡単な説明】
【0078】
【図1】第1および第2のテストで考慮される距離および座標を示す図であり、距離O-Pは第1のテストで用いられ、点Cは第2のテストで用いられる。
【図2】図1の後続の図であり、第1の卵管セグメントが卵巣と交差したところを示す。
【図3】図2の後続の図であり、衝突後の卵管の回転角を示す。
【図4】図3の後続の図であり、交差したセグメントの回転および残りの旋回点の並進移動を示す。
【図5】図4の後続の図であり、卵管内の衝突した次のセグメントを示す。
【図6】図5の後続の図であり、衝突したセグメントの回転角および旋回点の並進移動を示す。
【図7】図6の後続の図であり、卵管内の衝突した次のセグメントを示す。
【図8】図7の後続の図であり、衝突したセグメントの回転角および旋回点の並進移動を示す。
【図9】図8の後続の図であり、衝突後の卵管および卵巣の最終的な位置を示す。
【図10】卵管が卵巣を移動させる状況を示す図であり、交差した第1のセグメントから卵巣上の点の1つまでの長さが最小値であることに留意されたい。
【図11】図10の後続の図であり、卵管との衝突の結果としての卵巣の回転角を示す。
【図12】図11の後続の図であり、卵管との衝突の結果としての卵巣の軸の周りの回転を示す。
【図13】図12の後続の図であり、衝突後の卵管および卵巣の最終位置を示す。
【技術分野】
【0001】
本発明は、物理的な物体のコンピュータ生成モデルに関する。より詳細には、本発明は、仮想環境における変形可能な物体のコンピュータ生成モデル間の衝突をモデル化する改善された方法を提供する。
【背景技術】
【0002】
コンピュータはモデル化およびシミュレーションに不可欠なツールとなっている。こうした領域では、計算能力が向上するにつれ、ユーザや応用例が求める現実性のレベルは止まるところを知らない。この傾向は、複雑な物理的環境の状況でより高度な幾何形状や物理的な物体をモデル化するコンピュータグラフィックスで特に明らかである。
【0003】
特に、変形可能な物体をモデル化し操作し得ることが多くの応用例で極めて重要である。物体の変形をモデル化する手法は、個々の制御点または形状パラメータ、あるいは制御点群または形状パラメータ群を手作業で調整して形状の修正や設計を行う非物理的な方法から、物体の変形に対する材料特性、外力、および環境の制約の影響を説明する連続体力学に基づく方法にまで及んでいる。
【0004】
変形可能な物体のモデル化は、コンピュータグラフィックスにおいて、ある範囲の応用例にわたって20年以上も研究されてきた。コンピュータ援用設計やコンピュータ製図の応用例では、変形可能なモデルを用いて複雑な曲線、表面、および中実体を生成し修正する。コンピュータ援用アパレル設計では、変形可能なモデルを用いて布地のドレーピングやフォールディングをシミュレーションする。変形可能なモデルは、アニメーションやコンピュータグラフィックスで、特に、衣類のアニメーション、顔の表情、ならびに人間または動物のキャラクタで用いられてきた。
【0005】
コンピュータに基づく有用な変形可能モデルの開発を制約してきたのは、常にその時代のコンピュータハードウエアによって課される制限である。このことは、モデルが実時間で表現すべき動的なモデルである場合に特に問題である。
【0006】
変形可能な物体間の相互作用は複雑であり、膨大な計算能力が必要である。シミュレーション中に、2つ以上の変形可能な物体が衝突するとき(例えば、第1の物体が第2の物体上に落ちるとき)には、これらの物体が「物理的に」相互作用する必要があること多い。コンピュータグラフィックスやコンピュータによる視覚化では、多くの応用例で衝突検出は極めて重要である。典型的には、衝突検出アルゴリズムに入力されるのは、環境を構成する多数の幾何学的な物体に加えて、この環境内で動く1組の物体である。対になる物体間で生じる接触を正確に求めることに加えて、それを実時間で実行する必要がある。力覚フィードバックなどの応用例では、必要とされる衝突の回数が1000回を超えることがある。
【0007】
最小侵襲手術
コンピュータによるモデル化では上記の実時間機能を実装する問題が多くの応用例に当てはまるが、大きく注目を集めている領域の1つは、手術シミュレーションの実行を目的とした人体の解剖学構造のモデル化である。フライトシミュレータは50年もの間、安全が保証された状態でパイロットの訓練に使われてきた。それに対して、手術シミュレーションは現在、ある範囲の処置で用いられる技術に関して外科医を訓練するのに利用されているに過ぎない。これまでの切開手術では習得すべき技術が多数あったが、最小侵襲手術で用いる技術はさらに習得が難しい。
【0008】
いかなる形式の手術も人体にストレスを及ぼす。これまでの切開手術では、切開そのものが患者に対する感染、外傷、および回復期間に関するリスクを、手術を行うに至った原因である病状によるものよりも高めることになる。道具や器具の使用を最小限が抑えられたり、患者の体内を観察するビデオシステムが使用されたりという進歩の中で、最小侵襲手術用の技術が生み出されてきた。こうした手術で画期的なのは、切開が小規模に抑えられ、手術器具が静脈、動脈、または組織間空間に挿入されることである。器具が患者の体内に挿入されるときに器具から外科医に伝わる力覚、ならびにX線、テレビモニタその他のシステムによる視覚的な表示画像により体内を観察することができることを利用して、器具を位置決めし、心臓などの臓器の修復、閉塞組織の除去、ペースメーカのリード線の配置、内視鏡手術その他の処置などの必要な手術タスクを完了する。このタイプの手術では侵襲を最小限に抑えられることから、極めて短時間で、麻酔も少なく、入院期間も短くして手術を行うことができる。このタイプの手術手順のこうした性質を踏まえると、特に考慮にすべきことがいくつかある。患者の体内で器具を正しい方向に向けることに失敗したり、器具を通過させる組織を正しく認識できないと、器具によって静脈、動脈、臓器その他の内部組織構造に孔が開いたり、これらの構造が断裂したりすることがある。このような事態が起こると、ほぼ確実に患者に対して緊急の侵襲手術を行うことになり、状態が悪化し、死に至ることもある。
【0009】
経験の乏しい外科医にとって、所望の習熟度および技量のレベルを習得し、それによって必要とされる認定を得ることは難しい。さらに、めったに使われない手順もある。こうした操作は繰り返し行わない限り、定期的にこうした手順を行うことによってのみ得られる高度な技術を外科医は維持することができない。さらに、新しい方法、操作、および手順は生身の患者以外では行うことができない。したがって、現実の手術をシミュレーションするための効果的な手段が求められており、それによって、技能が伸ばされ、維持され、新しい技術が実施される。
【0010】
当技術分野ではここ数年間、コンピュータ技術に基づく最小侵襲手術のシミュレーションが知られている。そのほとんどは実時間では動作しないため、訓練者の動作と、訓練者がコンピュータスクリーン上で見るものとの間にいくらかの時間的なずれがある。これは明らかに最適なことではない。シミュレータの中には実時間で動作し得るものもあるが、膨大な処理能力または並列処理技術を必要とする。このような機器は高価であり、したがって広く普及することはない。
【0011】
子宮の両側の卵管、卵巣帯、および卵巣は自由に動く物体であり、互いに近接している。したがって、これらの間には衝突が頻繁に発生する。仮想環境では、こうした衝突を正確に検出し取り扱う必要がある。こうした状況下での衝突検出アルゴリズムおよび解剖学的移動モデルは、機器(すなわち剛体の物体)が解剖学構造と相互作用する場合に用いるものとは異なるものである必要がある。この違いは、2つの変形可能な物体が衝突するとき、これら物体の一方の幾何形状を1つの交差セグメントで簡単には表現できないことに由来するものである。これは、衝突が仮想機器などの剛体の物体上で起こる場合がそうである。
【0012】
本明細書を通して用いられる例は、手術シミュレーションの状況下で子宮と卵管を個別の解剖学的な物体としたときに、これらの間に生じる相互作用である。これは説明の都合によるものに過ぎず、本発明を何らかの特定の応用例に限定することを意図したものではない。
【発明の開示】
【発明が解決しようとする課題】
【0013】
上記に照らして、コンピュータ上で実時間で動作し、安価かつ入手が容易な手術シミュレータが求められていることが明らかである。先行技術には、仮想環境で2つの物体が衝突する時点を求めるのに使用するアルゴリズムの多くの例があるが、こうした先行技術による方法では、処理時間が比較的長く必要とされる。したがって、適度な実時間性能を得るためには極めて高度かつ高価なハードウエアが必要とされる。そのため、本発明では、変形可能な仮想物体間の衝突を定義する新しいアルゴリズムを提供することによって先行技術の問題を克服するか、あるいは問題の程度を低減する。
【0014】
本明細書に含まれる文書、行為、材料、装置、物品などの議論は、本発明の状況を実現するためだけのものである。本願の優先日以前にオーストラリア国に存在するものとして、上記の事項の一部または全部が先行技術の基礎の一部を形成すること、あるいは、本発明に該当する分野でよく知られた一般的な知識であることを示唆または表現するものではない。
【課題を解決するための手段】
【0015】
第1の態様では、本発明は、仮想現実シミュレーションにおいて第1の変形可能な物体と第2の変形可能な物体の衝突を判断する方法を提供する。この方法は、第1の物体と第2の物体の近接度を求めることができる第1のテストを提供するステップと、第1の物体と第2の物体の近接度を求めることができる第2のテストを提供するステップとを含み、第2のテストは第1のテストよりも包括的であり、第2のテストは、第1のテストが肯定的な結果を返すと実施され得る。
【0016】
本発明によれば、2つの変形可能な物体が衝突したかどうかに関する判断には少なくとも2つのステップが含まれる。第1のステップは、衝突が起きそうか、衝突が目前に迫っているか、あるいは衝突がすでに起きたかどうかを判断する簡易的なテストを含む。例えば、第1のテストでは、第1の物体の中心から第2の物体の中心までの距離を監視することができる。この距離が所定の値以下になったとき、第2のより包括的なテストが実施される。第2のテストの役割は、衝突が起きたかどうかをより正確に判断することであり、典型的には、一方または両方の物体の表面座標を考える。本発明の一形態では、第2のテストが肯定的な結果を返す場合に衝突が確定され、このソフトウエアは、一方または両方の物体がその形状および/または位置に関して適切に動くように指示する。当然のことながら、第1のテストが肯定的な結果を返した後で、2つ以上のテストを実施して衝突が起きたかどうかをより正確に判断してもよい。
【0017】
出願人は、第1の簡易的なテストを用いて2つの変形可能な物体間で衝突が起きそうか、衝突が目前に迫っているか、あるいは衝突が起きたところかどうかを判断し、次いで、より包括的なテストによって衝突をより正確に判断すると、動的なシミュレーションの動作中に、衝突テストに割り当てられているコンピュータのプロセッサのリソースが大きく節約されることを見いだした。第1のテストは概ね、応用例を通して継続的に動作し、第2のテストは、第1のテストが、衝突が起きそうか、あるいは起きたところであることを示すときにのみ実施される。
【0018】
本明細書で説明する方法は、変形可能な物体間の相互作用をモデル化するように設計されたソフトウエアで実施されることを意図している。そのため、本発明の一態様では、本明細書で説明する衝突判断方法を実施するコンピュータにより実行可能なプログラムが提供される。別の態様では、本発明により、本明細書で説明するコンピュータにより実行可能なプログラムを含むコンピュータが提供される。
【0019】
本明細書で説明する方法、コンピュータにより実行可能なプログラム、およびコンピュータは、任意の2つの変形可能な物体の衝突のコンピュータによるモデル化を必要とする広範な分野で使用することができる。ただし、本発明が適用可能な1つの特定の使用法は、臓器などの生物学的組織間の衝突のモデル化である。この適用例は、外科医の訓練で用いることができる仮想現実シミュレータ用のソフトウエアを設計するのに有用である。このように、本発明は、本明細書で説明するコンピュータを含む外科医訓練方法も提供する。
【発明を実施するための最良の形態】
【0020】
第1の態様では、本発明は、仮想現実シミュレーションにおいて第1の変形可能な物体と第2の変形可能な物体との衝突を判断する方法を提供する。この方法は、第1の物体と第2の物体の近接度を求めることができる第1のテストを提供するステップと、第1の物体と第2の物体の近接度を求めることができる第2のテストを提供するステップとを含む。第2のテストは第1のテストよりも包括的なものであり、第2のテストは、第1のテストが肯定的な結果を返すと実施することができる。
【0021】
出願人は、衝突テストに「2段階」手法を用いると、シミュレーションのフレームごとに不必要な詳細衝突テストを行わずにすむことを見いだした。この手法は、2つの変形可能な物体が静止状態では互いにかなり近づいており、そのため、かなり長い時間にわたってこれらの物体の境界ボリュームが重なり合う場合に特に有用である。簡易的な1次テストおよびより複雑な2次テストを実施することによって、コンピュータの1つ(または複数)のプロセッサにかかる計算負荷が少なくなる。こうすると、ほぼ実時間で動作し得るシミュレーションが得られ、かつ、仮想環境における変形可能な物体の形状および/または位置の変化のモデル化において許容可能な程度の現実性を提供し得るシミュレーションが得られる。
【0022】
本明細書では、「変形可能な物体」という用語は、形状および/または位置が変化し得る任意の仮想物体を指す。変形可能な物体の例には、結合してより大きな物体を形成する剛体の小物体の結合体を含めてもよい。変形可能な物体は、有限要素モデル法およびばねモデル法を含めて、当業者には周知の任意の方法によって生成することができる。
【0023】
「第1の変形可能な物体」および「第2の変形可能な物体」という用語は、2つの変形可能な物体を考えるということを明確にするために用いるに過ぎないことは明らかである。これらの用語は、本明細書の状況では交換可能としてよい。本明細書の状況では「〜の中または〜の上」という用語は、変形可能な物体の内部にあるか、あるいは、変形可能な物体の表面上にあるかを意味するためのものである。
【0024】
この方法は、3つ以上のテストを多段につなげてもよく、追加のテストはそれぞれその前のテストよりもより詳細なものである。ただし、この方法の一形態では、テストの数は2つであり、第2のテストが肯定的な結果を返すときに2つの物体が衝突したことが確定される。例えば、この方法が3つのテストを含む場合、第3のテストは、第2のテストが肯定的な結果を返してきた後で実施されることになり、第3のテストが肯定的な結果を返してきたときに衝突が確定されることになる。
【0025】
当業者なら、第1のテストとして適切なある範囲のテストについてよく知っていよう。本質的には、ある物体と別の物体の近接度を求めることができるものであればいかなるテストも本発明の状況で有用である。近接度は、第1の物体の任意の座標から第2の物体の任意の座標までの距離を考えるなど、任意のやり方で求めることができる。
【0026】
この方法の一実施形態では、第1のテストでは、第1または第2の変形可能な物体の表面座標は考えない。この方法の別の実施形態では、第1のテストでは、第1の変形可能な物体内の、またはその上の一座標から、第2の変形可能な物体内の、またはその上の一座標までの距離を考える。第1のテストでは、第1の物体内の、またはその上の一座標と、第2の物体内の、またはその上の複数の座標との距離を考えてもよい。
【0027】
この方法の一実施形態では、第1のテストは、各物体ごとの境界ボリュームを生成することと、ある制約関係を用いて境界ボリューム間の重なりを検出することとを含む。境界ボリュームは、任意のタイプのボリュームとし得るが、この方法の一実施形態では、球、円柱、定方位の境界ボックス、軸に沿って整列された境界ボックス、錐台、くさび、円錐、円環体、楕円体、および離散有向ポリトープからなる群から選択される。用いられる制約条件式は対象物体の幾何形状によって決まることはもちろんである。例えば、2つの物体がいずれも球である場合、制約関係として、球状境界ボリューム間の中心間距離を、球状境界ボリュームの半径の総和と比較して考えることになる。2つの球状境界ボリュームの中心間距離が半径の総和よりも短い場合、テストは肯定的な結果を返す。適切な第1のテストとしてのこれらの例は、計算が簡単なものであり、必要とされるプロセッサ時間が比較的短い。
【0028】
この方法では、第2のテストが第1のテストよりも包括的であることが必要である。第2のテストでは、第1の変形可能な物体内の、またはその上の2つ以上の座標と、第2の変形可能な物体内の、またはその上の2つ以上の座標との距離を考えてもよい。この方法の一実施形態では、第2のテストでは、第1の物体上の2つ以上の座標と、第2の物体上の2つ以上の座標との距離を考えてもよい。この方法の別の形態では、第2のテストでは、第2の物体内の2つ以上の座標と、第1の物体上の2つ以上の座標との距離を考える。変形可能な物体内の、またはそれらの上の2つ以上の座標を考慮することによって、第2のテストは、仮想環境において物体(または物体の表面の任意の部分)の形状および/または位置が変化する必要があるかどうかをより正確に判断することができる。こうすると、第1と第2の物体間の仮想的な相互作用のモデル化に際して、現実性の度合いがより大きくなる。
【0029】
第2のテストは、第1のテストが肯定的な結果を返してきたときに起動する。第1のテストが肯定的な結果を返す基準は、特定の状況によって決まる。当業者なら、第1のテストが所与の応用例に適切な肯定的な結果を返してくる特定な時点を特定することができよう。例えば、第1のテストは、第1の変形可能な物体が第2の変形可能な物体に向かって移動している間に肯定的な結果を返してくることがある。これら2つの物体が互いに離れているとき(したがって、シミュレーションの1秒あるいは数秒の間に衝突が起きる可能性が極めて低いとき)、第1のテストは否定的な結果を返す。第1と第2の物体間の距離が短くなっても、第1のテストは否定的な結果を返し続ける。所定の距離になったとき(典型的には、衝突が起きそうか、あるいは衝突が目前に迫っている距離のとき)、第1のテストは肯定的な結果を返し、それが第2のテストを実施するトリガになる。次いで、第2のテストは、2つの物体が実際に衝突したことをより確かに検出することになる。その後、この衝突情報を用いて、仮想環境におけるこれらの物体の形状および/または位置を現実的に変更する。
【0030】
別の例は、第1および第2の変形可能な物体がもっと早い時期にすでに衝突しており、互いに接触した状態で静止している状況を含む。この状況では、第1のテストは、第2のテストによってもっと早い時期に衝突したことが確定された後で肯定的な結果から切り替えられて、否定的な結果を返しているところである。第1のテストは、シミュレーションがたったいま開始されたばかりで、物体が初期静止状態にあるので、否定的な結果を返しているところかもしれない。第2のテストは、この状況では実施されない。というのは、物体がいずれも静止しており、したがって複雑な衝突テストを行う必要がないからである。
【0031】
この方法の一実施形態では、第1のテストは、あるレベルの仮想力が第1の物体に第2の物体から加えられたときに肯定的な結果を返す。これに該当する1つの状況は、第1の物体が第2の物体と接触した状態で静止している場合である。この状況で考えられることは、第1と第2の物体が衝突しそうもないことである。しかし、この状況は、第3の物体から第1の物体に仮想力が加えられる場合には変わることがある。仮想力が第1の物体に加えられると、第1の物体と第2の物体の近接度が変わることがある。近接度の変化は、第1の物体と第2の物体の境界ボリュームの重なり合う量の変化によって検出することができる。近接度は、第1のテストが肯定的な結果を返すように変化することがあり、その場合、第2のテストが実施される。第2のテストが起動すると、典型的には、表面座標を用いたより複雑な計算が実行され、それによって、衝突物体の表面全体にわたってより正確な衝突テストが行われる。このようにより正確な衝突テストを行うことにより、仮想環境における物体の形状および/または位置の変化を表現する際の現実性の度合いがより大きくなる。
【0032】
上記のことから、「衝突テスト」という用語は、2つの別個の物体の表面が仮想的に接触して、仮想環境においてこれらの物体の形状および/または位置が変化する必要があるかどうかを判断するのに用いられるテストを含むことを意図するものであることが理解されよう。この用語は、すでに仮想的に接触している2つの物体が、典型的にはこれらの物体の一方または両方に働く仮想力のために、仮想環境においてそれらの形状および/または位置が変化する必要があるかどうかを判断するのに用いられるテストを含むことも理解されよう。いずれの状況にも共通する態様は、このテストにより、第1の物体および/または第2の物体において、これら2つの物体間の何らかの相互作用の結果、形状および/または位置が変化する必要があるか否かが判断されるということである。
【0033】
本明細書で説明する本発明にいかなる制限も加えることなく、仮想手術の領域における特定の例を考える。この場合、仮想環境において卵巣および卵管が共存する。この例では、第1のテストは、卵巣の境界ボリュームの中心と、輸卵管の各セグメントの境界ボリュームの中心との距離を求めるものとし得る。この例では、第1のテストは、輸卵管が卵巣から離れている場合、あるいは卵巣上で静止している場合には否定的な結果を返すことになる。しかし、卵管が卵巣上で静止しているときに仮想機器から卵管に十分に大きな力が働く場合、卵巣の中心と、卵管の少なくとも1つのセグメントの中心との距離は、静止状態における距離の90%以下に減少する。距離の減少に伴って、第1のテストは肯定的な結果を返すことになり、それが第2のテストを実施するトリガになる。
【0034】
第2のテストが肯定的な結果を追認すると、衝突が確定され、このソフトウエアはサブルーチンを実行して、仮想環境において第1および/または第2の物体の形状および/または位置を変化させる。
【0035】
上記のことから、変形可能な物体が静止状態で接触しているときには本発明が有用であることが当業者には明らかであろう。第1および第2の物体の境界ボリュームは静止状態では重なり合っていることがあるので、複雑な衝突テストを絶えず実施する必要はない。したがって、第2のより複雑なテストは、第1のテストが肯定的な結果を返すまで実行されない。この利点は、例えば卵巣が卵管上で静止している場合の手術シミュレーションの状況で有用である。これら2つの物体は動いてもいないし、(重力を除く)何の仮想力も加えられておらず、これらの物体の境界ボリュームは重なり合っており、これらの物体の表面は接触している。この状態では、これら2つの変形可能な物体の形状および/または位置を現実的にモデル化するのに必要とされる複雑な衝突テストを実施する必要はない。例えば、ある機器が卵巣を押して境界ボリュームにおける重なり合いが増えた場合には、より複雑なテストが必要となろう。この状況では、力の移動の結果、卵巣の動きが卵管の形状および/または位置に影響を及ぼすことになる。そのため、重なり合いの閾値としてある値を設定することが可能であり、この閾値を越えた場合に第2のテストが起動する。
【0036】
本発明は、2つの物体が接触していなくても有用である。2つの物体が空間的に離れている場合(かつ、それらの境界ボリュームが重なり合っていない場合)、変形可能な物体の衝突をモデル化するのに必要とされる複雑な衝突テストを用いる意味はない。第2のより包括的なテストは、第1のテストが肯定的な結果を返すときにのみ実施される。この手法により、処理時間が大きく節約され、フレームレートがより速くなる。
【0037】
第2のテストは、第1のテストよりも包括的なものであり、第1のテストが肯定的な結果を返すときにのみ実施される。このより包括的なテストは、第1のテストよりも正確に衝突を検出するように設計されている。したがって、第2のテストは、衝突が生じたか、あるいは起きそうか否かを評価するのに、入力パラメータの数が第1のテストよりも多いか、複雑な入力パラメータの数が第1のテストよりも多いか、あるいは、第1のテストよりも関係する式の数が多いか、複雑な式の数が多いか、計算が多いか、複雑な計算が多いことがある。
【0038】
上記で論じたように、第2のテストの役割は、2つの物体の衝突のより現実的なモデルを提供することである。卵巣および卵管の例を用いると、第2のテストは、一方の物体(すなわち卵巣)における最大セグメントから、他方の物体(すなわち卵管)におけるセグメントの座標系原点までの交線を定義するというものであることがある。これらの線はそれぞれ卵巣の幾何形状と交わり、それによって、衝突部位における卵巣の表面の輪郭を定義する一群の点が生成される(図1参照)。
【0039】
第2のより包括的なテストは、第1のテストによって2つの物体間の所定のレベルの重なり合いが検出されるときにのみ起動する。この方法の一実施形態では、この重なり合いは、これら2つの物体の小さいほうの境界ボリュームの半径の割合に関して考えられる。この方法の一実施形態では、この割合は約10%〜約20%の重なり合いである。
【0040】
この方法の代替実施形態では、第2のテストを起動させるのに必要な重なり合いの閾値は、第1の物体の境界ボリュームの半径および第2の物体の境界ボリュームの周辺領域によって定義される。第2の物体の周辺領域が第1の物体の境界ボリュームの半径の所定の割合よりも大きく重なり合う場合、第2のテストが起動する。
【0041】
この手法は、卵巣および旋回した卵管の例を用いてさらに説明することができる。この応用例では、変形可能な物体間の衝突のテストは、セグメントの旋回点に基づくものであることがある。旋回した混成物体の境界ボリュームは静止状態で重なり合っているので、第2のテストを実施する必要はない。そのため、解剖学的構造はどれもその初期(静止)状態にあり、卵巣の境界球の中心と卵管上の各セグメントの旋回点との距離がわかる。これらの距離のいずれかが、その初期値の90%未満に減少した場合、第2の(より包括的な)テストが起動する。
【0042】
本発明の方法は、コンピュータにより実行可能なプログラムの形態で実施されることが企図されている。当業者なら、本明細書で説明する方法を、当技術分野で周知の多くのプログラミング言語の1つで実施することができよう。このような言語の例には、Fortran、Pascal、Ada、Cobol、C、C++、Eiffel、Visual C++、Visual Basic、またはこれらの任意の派生物が含まれるが、これらに限定されるものではない。このプログラムは、揮発形態で(例えば、ランダムアクセスメモリ)、または、(ハードドライブなどの)磁気記憶装置などのより恒久的な形態で、あるいは、CD-ROM上に記憶し得る。
【0043】
この方法の一実施形態では、第1および/または第2の物体は、当業者には周知の、Wavefront/Alias Maya、3DstudioMaxを含む群から選択されたソフトウエアパッケージ、または3D臓器曲面形状をモデル化するのに適した他の任意のソフトウエアパッケージを用いてモデル化される。
【0044】
本発明は、本明細書で説明するコンピュータにより実行可能なプログラムを含むコンピュータも提供する。この方法の一実施形態では、このコンピュータは、クロックスピードが約100、200、300、400、500、600、700、800、900、1000、1100、1200、1300、1400、1500、1600、1700、1800、1900、または2000 MHzよりも低い中央処理装置を有する中央処理装置を備える。この方法の一実施形態では、コンピュータの中央処理装置は、Pentium(登録商標) 1、Pentium(登録商標) 2、Pentium(登録商標) 3、Pentium(登録商標) 4、Celeron、MIPS、RISC、またはR10000からなる群から選択される。スピードが遅いプロセッサまたは高度化の度合いが低いプロセッサを有するコンピュータ上で複雑なシミュレーションを実行し得ることは、先行技術の方法に対する本発明の利点である。これは、より包括的な衝突テストがシミュレーション中に必要なときのみ用いられるからである。
【0045】
一実施形態では、コンピュータにより実行可能なプログラムは、コンピュータ上でほぼ実時間で動作し得る。仮想現実コンピュータシミュレーションの視覚要素の現実性は、モデル化法が視覚表示を1秒当たり十分に大きいフレーム数でリフレッシュできるかどうかによって決まる。この方法の一実施形態では、1秒当たり少なくとも24フレームのフレームレートが実現される。別の実施形態では、1秒当たり少なくとも30フレームのフレームレートが実現される。
【0046】
一実施形態では、この方法は、仮想現実システムのコンポーネントである。コンピュータ技術に基づく仮想現実システムは当技術分野ではよく知られている。このようなシステムは一般に、シミュレーションを実施するのに必要とされるコンピュータのハードウエアおよびソフトウエアをすべて含む中央処理装置を備える。動きセンサなどの入力デバイスおよび視覚表示ユニットなどの出力デバイスも含まれる。
【0047】
本発明は、衝突テストに係わる広範囲の仮想現実応用例に適用可能であることを理解されたい。
【0048】
一実施形態では、この仮想現実システムは、手術技術の訓練に用いられる。本発明の仮想現実システムは、ある範囲の手術技術の訓練に用いることができる。ただし、本発明の一実施形態では、この仮想現実システムは、婦人外科、胆嚢外科、神経外科、胸郭外科、眼球外科、および整形外科の訓練に用いられる。
【0049】
本明細書で説明する方法および/または仮想現実システムは、相互作用的な接触を含む視覚的および力的な特徴の階層セグメント化実装などの他の特徴を含み得ることが企図されており、それによって、仮想物体を、仮想機器がそれに接触したときに感知することができる。
【0050】
本明細書で説明する方法および/または仮想現実システムは、視覚表示ユニットで見ることができ、かつ、機器からの力覚フィードバックを介して感知することができる病理学的な特徴を含む解剖学的構造も含み得る。解剖学的領域を解剖学的物体にセグメント化し、各セグメントに異なる動的な属性を付与することによって異なる解剖学上の臓器の相互作用運動を実装する可能性も期待される。
【0051】
本明細書で説明する方法および/または仮想現実システムは、ある解剖学的物体の様々な部分の相互作用運動を組み込むこともできる。これは、仮想機器と解剖学的物体のあるセグメントとを接触点において相互作用させ、次いで、所定のルールにしたがって隣接するセグメントを移動させることによって行う。
【0052】
本発明の別の実施形態では、本明細書で説明する方法および/または仮想現実システムはさらに相互作用接触を含み得る。解剖学的物体の様々な部分の力覚フィードバックは、仮想機器と解剖学的物体のあるセグメントとを接触点において相互作用させ、この点においてモデルに適切な力覚フィードバックベクトルを定義させることによって実現される。
【0053】
本明細書で説明する方法および/または仮想現実システムは、各解剖学的物体の一群のセグメントに適用される組織病理学的な属性も含み得る。病理学からは、上記で説明したように、視覚および力覚の両方のモデルに入力が提供される。
【0054】
本発明の一形態は、(手術中に内視鏡カメラによって観察される)女性の骨盤の解剖学的領域を表す仮想現実システムを提供する。この複雑な解剖学的領域は、いくつかの臓器および構造からなり、それぞれが、異なる視覚的な、移動に関する、力覚的な、かつ疾患上の特性を有する。シミュレーションでは、この複雑な領域を、解剖学的構造を解剖学的物体(臓器その他の構造)、小物体、または臓器および構造のセグメントにセグメント化することによって表現する。次いで、視覚的な、移動に関する、力覚的な、かつ疾患上の特性が、モデルのあるセグメントによって表される解剖学的構造のそのセグメントに与えられる。モデルセグメントの特性は、隣接するセグメントの位置または移動から導き出すこともできる。
【0055】
解剖学的構造のセグメントが内視鏡機器によって移動する(感知される)ので、そのセグメントが存在するモデルの領域内に力覚機器が移動するときに解剖学的モデルは移動する(感知される)だけでよい。そのため、モデルの特定のセグメントに機器が近づくと、そのセグメントの移動および力覚的な属性が有効になる。臓器全体またはモデル全体が移動する、または感知される必要はない。そうではなくて、このセグメントにおける移動を可能にするルールによって、1つのセグメントから隣のセグメントに動きを伝えることができる場合には、そうすることができる。
【0056】
動きに関連して、どのセグメントも、機器その他のセグメントと交差したかをテストするのに用いられる境界ボリュームを有する。物体の動きは、剛体で変形可能なモデルの重ね合わせである。剛体移動とは、並進移動および回転などの物体の全体的な移動である。卵管や子宮靱帯などの筒状構造の場合、これらの物体は剛体ボリュームセグメントにさらに分割される。機器が特定のセグメントに接触/交差すると、同じ物体に属する他のすべてのセグメントは、あらかじめ定義された物理的/数学的なモデルにしたがって移動する。したがって、移動は、解剖学構造全体(例えば、単一のメッシュとしての生殖器)ではなく物体(例えば、左卵管、子宮、右卵巣など)に制限される。
【0057】
当業者には明らかなように、変形可能な動きのモデルは、臓器の表面が一群の点/質点になるように構築し得る。こうすると、手術機器との相互作用による表面の変形、例えば、へこみや引張りが局所化される。したがって、変形の影響が、機器との接触点から、接触力によって定まるあらかじめ定義された球状ボリューム内の仮想臓器内の隣接するすべての点に伝播する。このため、変形は、物体のメッシュ全体ではなく、その一部にしか影響を及ぼさないことがある。
【0058】
一実施形態では、本明細書で説明した仮想現実システムは、手術技術の訓練に用いられる。一実施形態では、こうした手術技術は、内視鏡手術などの侵襲を最小限に抑える技術である。そのため、この方法のある実施形態では、第1および第2の物体は人体の解剖学特徴のモデルである。この方法の一実施形態では、第1および/または第2の物体は臓器である。別の実施形態では、この臓器は、輸卵管、子宮、卵巣、および卵巣帯を含む群から選択される。
【0059】
本発明は、本明細書で説明した方法および/またはコンピュータおよび/または仮想現実システムを含めて、外科医を訓練する方法も提供する。この訓練方法は、訓練マニュアル、講義ノート、実演などの教育技術分野で周知の他の特徴も含み得る。
[実施例]
【実施例1】
【0060】
解剖学的構造が衝突する際の動き、卵巣が卵管を移動させる場合
図1は、本発明の一実施形態を示す一連の図の最初のものである。ここで、卵管は静止しており、卵巣は卵管に向かって移動している。図1には、最初の瞬間を示す。第1のテストでは、線O-Pの長さを参照してこれら2つの物体の近接度を求める。これら2つの物体が離れているときには、線O-Pの長さはどれも所定の値よりも大きく、第1のテストは否定的な結果を返す。卵巣が卵管に向かって移動すると、線O-Pの長さは減少するが、この長さが所定の値よりも大きい限り、第1のテストは依然として否定的な結果を返す。図1には、少なくとも1つの線O-Pが所定の値に等しく、第1のテストが肯定的な結果を返す瞬間を示す。
【0061】
この時点で、第2のテストが実施される。本実施形態の第2のテストでは、これら2つの物体が衝突したかどうかを判断するに当たって、卵巣の表面上の点C、ならびにこれらの点と卵巣の表面との関係を考慮し、それによって、物体の形状または位置のいずれかの変化が必要になる。第2のテストを実施すると、卵巣の表面上のいくつかの点Cは実際に卵管の壁と重なり合っており、したがってすでに衝突が起こっていることが明らかになる。この衝突は、簡易的な第1のテストでは確認されなかったものであるが、より複雑な第2のテストによってこの時点で確認される。
【0062】
卵管と卵巣の衝突が確認されると、衝突したこれらの物体は互いの幾何学的な配置から外される。この段階で、どちらの物体が他方を移動させるかを決めなければならない。
【0063】
・機器は卵管を押すが卵巣は押さない場合、卵管は卵巣を移動させる。その逆もある。
【0064】
・機器が卵管と卵巣の両方を押す場合、機器が最初に接触したほうが他方を押す。
【0065】
・卵管が卵巣上に落ちた場合、卵管が卵巣を移動させるか、またはその逆である。
【0066】
これらの運動モデルは、以下の2つの状況に基づくものとした。一方は、卵管が卵巣を移動させた場合であり、他方は、卵巣が卵管を移動させた場合である。これらは同じ原理に基づいているが、物体のセグメントのサイズの違いのために適用のされ方が異なっている。
【0067】
卵管のセグメントの各旋回点ごとに、卵巣の表面上の交点までの距離を求めた。これらの距離の最小値が、セグメントの境界ボリュームの半径の0.8倍よりも小さい場合に衝突を確定した(図2参照)。
【0068】
セグメントnが卵巣と交差する場合、
すべてのセグメントiに対して以下を行う。
【0069】
l=|P(n)-C(i)|
if (l<lmin)
lmin=l
交差した卵管の第1セグメントは、階層的にその上にある第2セグメントの旋回点の周りに回転するように選択されている(図3参照)。
【0070】
rをセグメントの境界球半径とする。
【0071】
このセグメントと卵巣が重なり合わないように、lは0.8rとすべきである。
【0072】
b=|C-P|
d=|B-P|
l=0.8r
三角形の恒等式を用いて、c2=a2+b2-2ab×cosC
l2=b2+d2-2bd×cosβ
∴β=arcos((b2+d2-l2)/2bd)
(C-P)(B-P)=|C-P||B-P|cosα
α=arcos((C-P)(B-P)/bd)
したがって、このセグメントはl=0.8rになるように(β-α)だけ回転すべきである。
【0073】
上記第2のセグメントの旋回点を第1のセグメントの上に選んだ理由は、卵管の曲がりをあまり大きくせず、それによって、より自然にするためである。交差したセグメントの新しい旋回点と、それに対応する卵巣の表面上の点との距離がこのセグメントの境界ボリュームの半径の0.8倍になるようにセグメントの旋回点を選択された回転点の周りに回転させる(図3参照)。回転した旋回点の下のセグメントの旋回点は横方向に並進移動させる(図4参照)。
【0074】
衝突が報告されなくなるまで同じプロセスを繰り返し、以前に卵巣と衝突した卵管内のセグメントはすべて卵巣の表面上に置かれている。図5〜図8に、衝突したセグメントを回転させるプロセスを示す。図9に、最終的な解を示す。
【実施例2】
【0075】
解剖学的構造が衝突する際の動き、卵管が卵巣を移動させる場合
卵管のセグメントの各旋回点ごとに、卵巣の表面上の交点までの距離を求めた。これらすべての距離の最小値から、卵巣の幾何形状内の幾何形状部分が最大であるセグメントを探し出した(図10参照)。このセグメントの表面上に移動することによって、卵管内の他のすべてのセグメントの幾何形状からも卵巣が外された。
【0076】
交差したセグメントの旋回点と卵巣の表面上の点との最小距離が、このセグメントの境界球の半径の0.8倍よりも小さい場合、このセグメントと卵巣は交差する(図10参照)。これら2つの点の距離がこのセグメントの境界球の半径の0.8倍になるように卵巣は回転しなければならない(図11参照)。次いで、卵巣をその軸の周りで図12に示す角度だけ回転させた。卵巣のこの回転により、卵巣と卵管がもはや交差していない最終解が生成された(図13参照)。
【0077】
最後に、本発明の趣旨または範囲を逸脱することなく、上記で説明した構成に多くの変形、改変、および変更を加えることができることを理解されたい。
【図面の簡単な説明】
【0078】
【図1】第1および第2のテストで考慮される距離および座標を示す図であり、距離O-Pは第1のテストで用いられ、点Cは第2のテストで用いられる。
【図2】図1の後続の図であり、第1の卵管セグメントが卵巣と交差したところを示す。
【図3】図2の後続の図であり、衝突後の卵管の回転角を示す。
【図4】図3の後続の図であり、交差したセグメントの回転および残りの旋回点の並進移動を示す。
【図5】図4の後続の図であり、卵管内の衝突した次のセグメントを示す。
【図6】図5の後続の図であり、衝突したセグメントの回転角および旋回点の並進移動を示す。
【図7】図6の後続の図であり、卵管内の衝突した次のセグメントを示す。
【図8】図7の後続の図であり、衝突したセグメントの回転角および旋回点の並進移動を示す。
【図9】図8の後続の図であり、衝突後の卵管および卵巣の最終的な位置を示す。
【図10】卵管が卵巣を移動させる状況を示す図であり、交差した第1のセグメントから卵巣上の点の1つまでの長さが最小値であることに留意されたい。
【図11】図10の後続の図であり、卵管との衝突の結果としての卵巣の回転角を示す。
【図12】図11の後続の図であり、卵管との衝突の結果としての卵巣の軸の周りの回転を示す。
【図13】図12の後続の図であり、衝突後の卵管および卵巣の最終位置を示す。
【特許請求の範囲】
【請求項1】
仮想現実シミュレーションにおいて第1の変形可能な物体と第2の変形可能な物体の衝突を判断する方法であって、
前記第1の物体と前記第2の物体の近接度を求めることができる第1のテストを提供するステップと、
前記第1の物体と前記第2の物体の近接度を求めることができる第2のテストを提供するステップとを含み、
前記第2のテストは前記第1のテストよりも包括的であり、
前記第2のテストは、前記第1のテストが肯定的な結果を返すと実施され得る、方法。
【請求項2】
前記第2のテストは、衝突が起きたか、あるいは起きそうか否かを評価する際に、前記第1のテストと比較して、より多くの入力パラメータまたはより複雑な入力パラメータを必要とする、請求項1または2に記載の方法。
【請求項3】
前記第2のテストは、衝突が起きたか、あるいは起きそうか否かを評価する際に、前記第1のテストと比較して、より多くの計算またはより複雑な計算が係わる、請求項1〜3のいずれか一項に記載の方法。
【請求項4】
前記第2のテストは、衝突が起きたか、あるいは起きそうか否かを評価する際に、前記第1のテストよりも計算量が多い、請求項1〜3のいずれか一項に記載の方法。
【請求項5】
前記近接度は、前記第1の物体の任意の座標から前記第2の物体の任意の座標までの距離を考えることによって求められる、請求項1〜4のいずれか一項に記載の方法。
【請求項6】
前記第1のテストでは、前記第1の物体または前記第2の物体の表面座標を考えない、請求項1〜5のいずれか一項に記載の方法。
【請求項7】
前記第1のテストでは、前記第1の変形可能な物体中またはその上の1座標と、前記第2の変形可能な物体中またはその上の1座標との距離を考える、請求項1〜6のいずれか一項に記載の方法。
【請求項8】
前記第1のテストは、前記第1および第2の物体の境界ボリュームを生成することと、前記境界ボリューム間の重なりの有無を検出することとを含む、請求項1〜7のいずれか一項に記載の方法。
【請求項9】
前記第2のテストは、前記2つの物体間の重なりが所定のレベルになったことが前記第1のテストによって検出されたときに実施される、請求項1〜8のいずれか一項に記載の方法。
【請求項10】
境界ボリュームの少なくとも1つは、球、円柱、定方位の境界ボックス、軸に沿って整列された境界ボックス、錐台、くさび、円錐、円環体、楕円体、および離散有向ポリトープからなる群から選択される、請求項8または9に記載の方法。
【請求項11】
前記境界ボリュームの重なり合いは制約式によって求められる、請求項8〜10のいずれか一項に記載の方法。
【請求項12】
前記重なり合いは、前記2つの物体の小さいほうの前記境界ボリュームの半径の割合に関して考えられる、請求項8〜11のいずれか一項に記載の方法。
【請求項13】
前記割合の重なり合いは約10%〜約20%である、請求項12に記載の方法。
【請求項14】
前記第2のテストでは、前記第1の変形可能な物体中またはその上の2つ以上の座標と、前記第2の変形可能な物体中またはその上の2つ以上の座標との距離を考える、請求項1〜13のいずれか一項に記載の方法。
【請求項15】
前記第2のテストでは、前記第1の物体上の2つ以上の座標と、前記第2の物体上の2つ以上の座標との距離を考える、請求項1〜14のいずれか一項に記載の方法。
【請求項16】
前記第2のテストでは、前記第2の物体中の2つ以上の座標と、前記第1の物体上の2つ以上の座標との距離を考える、請求項1〜15のいずれか一項に記載の方法。
【請求項17】
前記第1のテストは、前記第1および第2の変形可能な物体がすでに互いに接触しているときには否定的な結果を返す、請求項1〜16のいずれか一項に記載の方法。
【請求項18】
前記第2のテストが肯定的な結果を返すときには衝突が確定され、ソフトウエアはサブルーチンを実行して前記第1および/または第2の物体の形状および/または位置を変更する、請求項1〜17のいずれか一項に記載の方法。
【請求項19】
前記第1および/または第2の物体は有限要素モデル法またはばねモデル法で生成される、請求項1〜18のいずれか一項に記載の方法。
【請求項20】
請求項1〜19のいずれか一項に記載の方法を実施することができるコンピュータにより実行可能なプログラム。
【請求項21】
請求項20に記載のコンピュータにより実行可能なプログラムを含むコンピュータ。
【請求項22】
ほぼ実時間で前記仮想現実シミュレーションを表現することができる、請求項21に記載のコンピュータ。
【請求項23】
1秒当たり少なくとも24フレームのリフレッシュレートで前記仮想現実シミュレーションを表現することができる、請求項21または22に記載のコンピュータ。
【請求項24】
1秒当たり少なくとも30フレームのリフレッシュレートで前記仮想現実シミュレーションを表現することができる、請求項21または22に記載のコンピュータ。
【請求項25】
請求項21〜24のいずれか一項に記載のコンピュータを含む仮想現実システム。
【請求項26】
請求項25に記載の仮想現実システムを含む外科医を訓練する方法。
【請求項1】
仮想現実シミュレーションにおいて第1の変形可能な物体と第2の変形可能な物体の衝突を判断する方法であって、
前記第1の物体と前記第2の物体の近接度を求めることができる第1のテストを提供するステップと、
前記第1の物体と前記第2の物体の近接度を求めることができる第2のテストを提供するステップとを含み、
前記第2のテストは前記第1のテストよりも包括的であり、
前記第2のテストは、前記第1のテストが肯定的な結果を返すと実施され得る、方法。
【請求項2】
前記第2のテストは、衝突が起きたか、あるいは起きそうか否かを評価する際に、前記第1のテストと比較して、より多くの入力パラメータまたはより複雑な入力パラメータを必要とする、請求項1または2に記載の方法。
【請求項3】
前記第2のテストは、衝突が起きたか、あるいは起きそうか否かを評価する際に、前記第1のテストと比較して、より多くの計算またはより複雑な計算が係わる、請求項1〜3のいずれか一項に記載の方法。
【請求項4】
前記第2のテストは、衝突が起きたか、あるいは起きそうか否かを評価する際に、前記第1のテストよりも計算量が多い、請求項1〜3のいずれか一項に記載の方法。
【請求項5】
前記近接度は、前記第1の物体の任意の座標から前記第2の物体の任意の座標までの距離を考えることによって求められる、請求項1〜4のいずれか一項に記載の方法。
【請求項6】
前記第1のテストでは、前記第1の物体または前記第2の物体の表面座標を考えない、請求項1〜5のいずれか一項に記載の方法。
【請求項7】
前記第1のテストでは、前記第1の変形可能な物体中またはその上の1座標と、前記第2の変形可能な物体中またはその上の1座標との距離を考える、請求項1〜6のいずれか一項に記載の方法。
【請求項8】
前記第1のテストは、前記第1および第2の物体の境界ボリュームを生成することと、前記境界ボリューム間の重なりの有無を検出することとを含む、請求項1〜7のいずれか一項に記載の方法。
【請求項9】
前記第2のテストは、前記2つの物体間の重なりが所定のレベルになったことが前記第1のテストによって検出されたときに実施される、請求項1〜8のいずれか一項に記載の方法。
【請求項10】
境界ボリュームの少なくとも1つは、球、円柱、定方位の境界ボックス、軸に沿って整列された境界ボックス、錐台、くさび、円錐、円環体、楕円体、および離散有向ポリトープからなる群から選択される、請求項8または9に記載の方法。
【請求項11】
前記境界ボリュームの重なり合いは制約式によって求められる、請求項8〜10のいずれか一項に記載の方法。
【請求項12】
前記重なり合いは、前記2つの物体の小さいほうの前記境界ボリュームの半径の割合に関して考えられる、請求項8〜11のいずれか一項に記載の方法。
【請求項13】
前記割合の重なり合いは約10%〜約20%である、請求項12に記載の方法。
【請求項14】
前記第2のテストでは、前記第1の変形可能な物体中またはその上の2つ以上の座標と、前記第2の変形可能な物体中またはその上の2つ以上の座標との距離を考える、請求項1〜13のいずれか一項に記載の方法。
【請求項15】
前記第2のテストでは、前記第1の物体上の2つ以上の座標と、前記第2の物体上の2つ以上の座標との距離を考える、請求項1〜14のいずれか一項に記載の方法。
【請求項16】
前記第2のテストでは、前記第2の物体中の2つ以上の座標と、前記第1の物体上の2つ以上の座標との距離を考える、請求項1〜15のいずれか一項に記載の方法。
【請求項17】
前記第1のテストは、前記第1および第2の変形可能な物体がすでに互いに接触しているときには否定的な結果を返す、請求項1〜16のいずれか一項に記載の方法。
【請求項18】
前記第2のテストが肯定的な結果を返すときには衝突が確定され、ソフトウエアはサブルーチンを実行して前記第1および/または第2の物体の形状および/または位置を変更する、請求項1〜17のいずれか一項に記載の方法。
【請求項19】
前記第1および/または第2の物体は有限要素モデル法またはばねモデル法で生成される、請求項1〜18のいずれか一項に記載の方法。
【請求項20】
請求項1〜19のいずれか一項に記載の方法を実施することができるコンピュータにより実行可能なプログラム。
【請求項21】
請求項20に記載のコンピュータにより実行可能なプログラムを含むコンピュータ。
【請求項22】
ほぼ実時間で前記仮想現実シミュレーションを表現することができる、請求項21に記載のコンピュータ。
【請求項23】
1秒当たり少なくとも24フレームのリフレッシュレートで前記仮想現実シミュレーションを表現することができる、請求項21または22に記載のコンピュータ。
【請求項24】
1秒当たり少なくとも30フレームのリフレッシュレートで前記仮想現実シミュレーションを表現することができる、請求項21または22に記載のコンピュータ。
【請求項25】
請求項21〜24のいずれか一項に記載のコンピュータを含む仮想現実システム。
【請求項26】
請求項25に記載の仮想現実システムを含む外科医を訓練する方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公表番号】特表2009−531745(P2009−531745A)
【公表日】平成21年9月3日(2009.9.3)
【国際特許分類】
【出願番号】特願2009−501785(P2009−501785)
【出願日】平成19年3月30日(2007.3.30)
【国際出願番号】PCT/AU2007/000410
【国際公開番号】WO2007/112486
【国際公開日】平成19年10月11日(2007.10.11)
【出願人】(304044531)モナシュ ユニバーシティー (9)
【Fターム(参考)】
【公表日】平成21年9月3日(2009.9.3)
【国際特許分類】
【出願日】平成19年3月30日(2007.3.30)
【国際出願番号】PCT/AU2007/000410
【国際公開番号】WO2007/112486
【国際公開日】平成19年10月11日(2007.10.11)
【出願人】(304044531)モナシュ ユニバーシティー (9)
【Fターム(参考)】
[ Back to top ]