(57)【要約】【課題】実体モデルに連動して仮想空間内の３次元モデルを変形できるようにする。【解決手段】可視化装置１０は、器官の実体モデル１を撮影して得られた画像に基づいて、実体モデル１の形状の変化を検出する。次に可視化装置１０は、人体の器官の３次元形状を示す３次元モデルデータ１１ａに基づいて、器官の形状を仮想空間内で再現した３次元モデル４を生成する。さらに可視化装置１０は、実体モデル１の形状の変化に応じて３次元モデル４の形状を変形する。そして可視化装置１０は、変形後の３次元モデル４の画像を出力する。【選択図】図１
2020000649.tif 000002
【特許請求の範囲】
【請求項１】
人体の器官の３次元形状を示す３次元モデルデータを記憶する記憶部と、
前記器官の実体モデルを撮影して得られた画像に基づいて、前記実体モデルの形状の変化を検出し、前記３次元モデルデータに基づいて、前記器官の形状を仮想空間内で再現した３次元モデルを生成し、前記実体モデルの形状の変化に応じて前記３次元モデルの形状を変形し、変形後の前記３次元モデルの画像を出力する処理部と、
を有する可視化装置。
【請求項２】
前記処理部は、前記実体モデルの形状の変化に応じた物理量の値を算出し、変形後の前記３次元モデルの形状変化部分の表示態様を、算出した前記物理量の値に応じて変更する、
請求項１記載の可視化装置。
【請求項３】
前記処理部は、前記実体モデルの一部に荷重が加えられた場合、前記荷重に伴う前記実体モデルの変形に応じて、前記３次元モデルを変形すると共に、前記荷重による変形箇所に生じる応力を算出し、前記応力を可視化した前記３次元モデルの画像を出力する、
請求項２記載の可視化装置。
【請求項４】
前記記憶部は、さらに、前記３次元モデルデータを用いた第１の物理量のシミュレーション結果を示す物理量データを記憶し、
前記処理部は、前記物理量データに基づいて、前記実体モデルの形状の変化に応じた第２の物理量の値を算出する、
請求項２または３記載の可視化装置。
【請求項５】
前記物理量データは、前記器官内の血液の圧力を示すデータであり、
前記処理部は、前記実体モデルが切開された場合、前記物理量データに基づいて、切開部から噴出する血液を表す粒子の速度または加速度を算出する、
請求項４記載の可視化装置。
【請求項６】
コンピュータが、
人体の器官の実体モデルを撮影して得られた画像に基づいて、前記実体モデルの形状の変化を検出し、
前記器官の３次元形状を示す３次元モデルデータに基づいて、前記器官の形状を仮想空間内で再現した３次元モデルを生成し、
前記実体モデルの形状の変化に応じて前記３次元モデルの形状を変形し、
変形後の前記３次元モデルの画像を出力する、
可視化方法。
【請求項７】
コンピュータに、
人体の器官の実体モデルを撮影して得られた画像に基づいて、前記実体モデルの形状の変化を検出し、
前記器官の３次元形状を示す３次元モデルデータに基づいて、前記器官の形状を仮想空間内で再現した３次元モデルを生成し、
前記実体モデルの形状の変化に応じて前記３次元モデルの形状を変形し、
変形後の前記３次元モデルの画像を出力する、
処理を実行させる可視化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、可視化装置、可視化方法、および可視化プログラムに関する。
【背景技術】
【０００２】
人体の器官の動きをコンピュータでシミュレーションすることができる。例えば仮想空間内で患者の心臓の３次元モデルを作成し、その３次元モデルを用いた心臓シミュレーションを行うことで、患者の心筋の挙動や虚血の状態をコンピュータ上で再現することができる。シミュレーションの結果は、例えばＡＲ（Augmented Reality）または／ＶＲ（Virtual Reality）などの技術を利用して可視化される。
【０００３】
他方、患者の器官の形状の把握には、器官の３次元の模型（実体モデル）を利用することができる。器官の実体モデルは、３Ｄプリンタを用いて生成可能である。例えば患者の心臓の３次元モデルデータに基づいて、患者の心臓と同じ形状の実体モデルを、３Ｄプリンタで生成することができる。３Ｄプリンタで実体モデルを作成することで、例えば医師が手術をする前に、実際の患者の心臓のサイズや患部の位置を、正確に把握することが可能となる。
【０００４】
臓器の３次元模型を用いた医療支援技術としては、例えば直感的な操作による実用性の高い観察支援を実現する医用観察支援システムがある。この医用観察支援システムでは、指示部が臓器の３次元模型を指し示す操作を、臓器の画像に反映させることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−１６８０７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
医師は、患者の器官の形状を再現した実体モデルの一部を押したり、切開したりして、実体モデルを変形させることで、手術前に器官の変形の様子を確認することができる。しかし、従来技術では、実体モデルを変形させたときに、実体モデルの変形に連動させて、コンピュータ内の３次元モデルを変形させることができない。そのため、変形後の器官の形状を、コンピュータ内の３次元モデルで正確に再現することができない。
【０００７】
１つの側面では、本件は、実体モデルに連動して仮想空間内の３次元モデルを変形できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
１つの案では、以下に示す記憶部と処理部とを有する可視化装置が提供される。
記憶部は、人体の器官の３次元形状を示す３次元モデルデータを記憶する。処理部は、器官の実体モデルを撮影して得られた画像に基づいて、実体モデルの形状の変化を検出する。次に処理部は、３次元モデルデータに基づいて、器官の形状を仮想空間内で再現した３次元モデルを生成する。さらに処理部は、実体モデルの形状の変化に応じて３次元モデルの形状を変形する。そして処理部は、変形後の３次元モデルの画像を出力する。
【発明の効果】
【０００９】
１態様によれば、実体モデルに連動して仮想空間内の３次元モデルを変形することができる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施の形態に係る可視化方法による可視化の一例を示す図である。
【図２】第２の実施の形態のシステム構成の一例を示す図である。
【図３】コンピュータのハードウェアの一例を示す図である。
【図４】コンピュータが有する機能の一例を示すブロック図である。
【図５】３次元モデルデータ記憶部のデータ構造の一例を示す図である。
【図６】シミュレーション結果データの一例を示す図である。
【図７】実体モデルと３次元モデルとの連動制御の一例を示す図である。
【図８】実体モデルと３次元モデルとの連係処理の手順の一例を示すフローチャートである。
【図９】応力解析・変形処理の手順の一例を示すフローチャートである。
【図１０】応力の可視化の一例を示す図である。
【図１１】切開部形状変形処理の手順の一例を示すフローチャートである。
【図１２】移動ベクトル算出の一例を示す図である。
【図１３】弾性変形シミュレーションを説明する図である。
【図１４】切開部の表示例を示す図である。
【図１５】流体漏れの表示例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第１の実施の形態〕
まず、第１の実施の形態について説明する。
【００１２】
図１は、第１の実施の形態に係る可視化方法による可視化の一例を示す図である。第１の実施の形態では、例えば可視化装置１０を用いて、人体の器官の実体モデル１を変形させたとき、変形後の形態を３次元モデル４によって可視化する。そのために、可視化装置１０は、記憶部１１と処理部１２とを有する。記憶部１１は、例えば可視化装置１０が有するメモリ、またはストレージ装置である。処理部１２は、例えば可視化装置１０が有するプロセッサ、または演算回路である。可視化装置１０は、例えば可視化処理が記述された可視化プログラムをプロセッサで実行することにより、可視化方法を実現する。
【００１３】
記憶部１１は、人体の器官の３次元形状を示す３次元モデルデータ１１ａを記憶する。処理部１２は、器官の実体モデル１をセンサ２で撮影して得られた画像に基づいて、実体モデル１の形状の変化を検出する。例えばセンサ２は、距離画像センサである。距離画像センサは、実体モデル１までの距離を計測することができ、距離画像センサから取得した画像データには、実体モデル１の凹凸が表される。なお、実体モデル１は、例えば３次元モデルデータ１１ａに基づいて３Ｄプリンタによって作成することができる。
【００１４】
次に処理部１２は、３次元モデルデータ１１ａに基づいて、器官の形状を仮想空間内で再現した３次元モデル４を生成する。さらに処理部１２は、実体モデル１の形状の変化に応じて３次元モデル４の形状を変形する。例えば処理部１２は、センサ２から取得した画像データに基づいて、実体モデル１の凹凸を認識し、その凹凸が変化すると、３次元モデル４の対応箇所を、実体モデル１と同じ形状に変形する。
【００１５】
そして処理部１２は、変形後の３次元モデル４の画像を出力する。例えば処理部１２は、モニタ３に、３次元モデル４の画像を表示させる。
これにより、実体モデル１の変形に連動して、仮想空間内の３次元モデル４を変形することができる。その結果、実体モデル１と３次元モデル４との、より高度な連携が可能となる。
【００１６】
実体モデル１と３次元モデル４との高度な連携が行われることで、医師による患部の把握や手術箇所の事前確認作業が容易となる。すなわち、医師が、患者の器官の実体モデル１を用いて、サイズ感、切断面の位置を把握する。例えば患者の臓器の実体モデル１を３Ｄプリンタにより適切な材質で作成することで、医師は、実体モデル１を用いて、臓器のサイズや柔らかさなどを、手術前に実体験によって確認することができる。このとき医師は、患者の臓器の切開位置の確認のため、実際にメスを用いて実体モデル１を切開することもできる。
【００１７】
この際、可視化装置１０は、医師が実体モデル１に対して行った操作の結果をインタラクティブに３次元モデル４に反映させる。例えば可視化装置１０は、実体モデル１が切開されると、３次元モデル４を切開した形状に変形する。３次元モデル４は、内部構造も含めて詳細に再現することが可能であるため、例えば医師は、実体モデル１と連携して変形した３次元モデル４により、切開の幅や深さが適切か（例えば切るべきでない部分が切れていないか）などを、詳細に確認することができる。
【００１８】
また、可視化装置１０は、実体モデル１が変形することで生じる物理量を可視化することができる。例えば処理部１２は、実体モデル１の形状の変化の影響を受ける物理量を算出し、変形後の３次元モデル４の形状変化部分の表示態様を、算出した物理量に応じて変更する。
【００１９】
計算する物理量としては、例えば実体モデル１に荷重を加えた場合に発生する応力がある。処理部１２は、実体モデル１の一部に荷重が加えられた場合、荷重に伴う実体モデル１の変形に応じて、３次元モデル４を変形すると共に、荷重による変形箇所に生じる応力を計算する。そして処理部１２は、応力を可視化した３次元モデル４の画像を出力する。例えば処理部１２は、応力を、３次元モデル上に等値線で表示する。
【００２０】
また可視化装置１０は、３次元モデルデータ１１ａを用いたシミュレーションの結果を用いて、物理量を計算することができる。その場合、記憶部１１は、３次元モデルデータ１１ａを用いた第１の物理量のシミュレーション結果を示す物理量データを、予め記憶する。処理部１２は、物理量データに基づいて、実体モデル１の形状の変化に応じた第２の物理量の値を算出する。例えば、物理量データに示される第１の物理量は、器官内の血液の圧力である。この場合、処理部１２は、実体モデル１が切開された場合に、物理量データに基づいて、切開部から噴出する血液を表す粒子の速度または加速度を、第２の物理量として算出する。
【００２１】
このように、実体モデル１の変形に応じてシミュレーション結果に基づく物理量の計算を行い、その物理量を仮想空間内の３次元モデル上で可視化することで、実体モデル１に対して行った操作による影響を、容易に把握することができる。例えば実体モデル１に荷重を加えれば、その応力がモニタ３に表示される。また実体モデル１を切開すれば、切開部からの出血状況が、モニタ３に表示される。その結果、実体モデル１に対するインタラクティブな操作を入力として、現実に近い情報を医師に提供することが可能となる。
【００２２】
〔第２の実施の形態〕
次に第２の実施の形態について説明する。第２の実施の形態は、３次元モデルデータから３Ｄプリンタにより実体モデルを生成し、その実体モデルと仮想空間内の３次元モデルとを連動させるようにしたものである。
【００２３】
図２は、第２の実施の形態のシステム構成の一例を示す図である。コンピュータ１００には、モニタ２１、３Ｄプリンタ２８、センサ装置２９が接続されている。コンピュータ１００には、患者の器官（例えば大動脈）の３次元モデルデータが格納されている。コンピュータ１００は、３Ｄプリンタ２８を制御し、３次元モデルデータに基づいて、３Ｄプリンタ２８に患者の器官の実体モデルを作成させる。
【００２４】
センサ装置２９は、実空間内の物体の形状を検知する機器である。例えばセンサ装置２９は、ビデオカメラ、距離画像センサ、赤外線センサなどを用いて、物体の形状を捉える。
【００２５】
コンピュータ１００は、３Ｄプリンタから出力した実体モデルの回転・変形に応じて、仮想空間内の３次元モデルに対する回転・変形などの情報の反映を行う。またコンピュータ１００は、応力シミュレーションにより、応力・歪値などの定量的な情報を３次元モデル上に可視化することもできる。例えばコンピュータ１００は、スケール情報、変曲点の座標情報、応力・歪の等値線情報、流体（血液）の圧力などの変動に関する情報などを表示することができる。なおコンピュータ１００は、第１の実施の形態に示した可視化装置１０の一例である。
【００２６】
図３は、コンピュータのハードウェアの一例を示す図である。コンピュータ１００は、プロセッサ１０１によって装置全体が制御されている。プロセッサ１０１には、バス１０９を介してメモリ１０２と複数の周辺機器が接続されている。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、またはＤＳＰ（Digital Signal Processor）である。プロセッサ１０１がプログラムを実行することで実現する機能の少なくとも一部を、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）などの電子回路で実現してもよい。
【００２７】
メモリ１０２は、コンピュータ１００の主記憶装置として使用される。メモリ１０２には、プロセッサ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ１０２には、プロセッサ１０１による処理に利用する各種データが格納される。メモリ１０２としては、例えばＲＡＭ（Random Access Memory）などの揮発性の半導体記憶装置が使用される。
【００２８】
バス１０９に接続されている周辺機器としては、ストレージ装置１０３、グラフィック処理装置１０４、入力インタフェース１０５、光学ドライブ装置１０６、機器接続インタフェース１０７およびネットワークインタフェース１０８がある。
【００２９】
ストレージ装置１０３は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置１０３は、コンピュータの補助記憶装置として使用される。ストレージ装置１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置１０３としては、例えばＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）を使用することができる。
【００３０】
グラフィック処理装置１０４には、モニタ２１が接続されている。グラフィック処理装置１０４は、プロセッサ１０１からの命令に従って、画像をモニタ２１の画面に表示させる。モニタ２１としては、有機ＥＬ（Electro Luminescence）を用いた表示装置や液晶表示装置などがある。
【００３１】
入力インタフェース１０５には、キーボード２２とマウス２３とが接続されている。入力インタフェース１０５は、キーボード２２やマウス２３から送られてくる信号をプロセッサ１０１に送信する。なお、マウス２３は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００３２】
光学ドライブ装置１０６は、レーザ光などを利用して、光ディスク２４に記録されたデータの読み取りを行う。光ディスク２４は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク２４には、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００３３】
機器接続インタフェース１０７は、コンピュータ１００に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース１０７には、メモリ装置２５、メモリリーダライタ２６、３Ｄプリンタ２８、センサ装置２９などを接続することができる。メモリ装置２５は、機器接続インタフェース１０７との通信機能を搭載した記録媒体である。メモリリーダライタ２６は、メモリカード２７へのデータの書き込み、またはメモリカード２７からのデータの読み出しを行う装置である。メモリカード２７は、カード型の記録媒体である。
【００３４】
ネットワークインタフェース１０８は、ネットワーク２０に接続されている。ネットワークインタフェース１０８は、ネットワーク２０を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【００３５】
コンピュータ１００は、以上のようなハードウェア構成によって、第２の実施の形態の処理機能を実現することができる。なお、第１の実施の形態に示した装置も、図３に示したコンピュータ１００と同様のハードウェアにより実現することができる。
【００３６】
コンピュータ１００は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施の形態の処理機能を実現する。コンピュータ１００に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、コンピュータ１００に実行させるプログラムをストレージ装置１０３に格納しておくことができる。プロセッサ１０１は、ストレージ装置１０３内のプログラムの少なくとも一部をメモリ１０２にロードし、プログラムを実行する。またコンピュータ１００に実行させるプログラムを、光ディスク２４、メモリ装置２５、メモリカード２７などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ１０１からの制御により、ストレージ装置１０３にインストールされた後、実行可能となる。またプロセッサ１０１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００３７】
図３に示したようなハードウェアにより、コンピュータ１００は、３次元モデルデータに基づく実体モデルの作成、および実体モデルに連動した仮想空間内での３次元モデルの変形を行うことができる。
【００３８】
図４は、コンピュータが有する機能の一例を示すブロック図である。コンピュータ１００は、記憶部１１０、プリント制御部１２０、３次元モデル制御部１３０、物理量計算部１４０、物理量可視化部１５０、および表示制御部１６０を有する。
【００３９】
記憶部１１０は、３次元モデルデータ１１１とシミュレーション結果データ１１２とを有する。３次元モデルデータ１１１は、患者の臓器の立体形状を示すデータである。例えば３次元モデルデータ１１１は、多面体要素またはポリゴンによって立体形状を表現している。シミュレーション結果データ１１２は、患者の心臓などの臓器のコンピュータシミュレーションによって得られた物理量のデータである。例えばシミュレーション結果データ１１２には、血管内の圧力の値が示されている。
【００４０】
プリント制御部１２０は、３Ｄプリンタ２８を制御し、３次元モデルデータ１１１で表された形状の実体モデルを、３Ｄプリンタ２８に作成させる。
３次元モデル制御部１３０は、センサ装置２９で検知した実体モデルの形状に従って、３次元モデルデータ１１１に示される形状を変形する。３次元モデル制御部１３０は、変形した形状の３次元モデルを示す３次元モデルデータ１１１を、物理量計算部１４０と表示制御部１６０とに送信する。
【００４１】
物理量計算部１４０は、シミュレーション結果データ１１２に基づいて、３次元モデルの変形に応じた物理量（応力、出血する血液の粒子の速度または加速度など）を計算する。物理量計算部１４０は、算出した物理量を、物理量可視化部１５０に送信する。
【００４２】
物理量可視化部１５０は、物理量計算部１４０が算出した物理量を可視化する画像データを生成する。物理量可視化部１５０は、生成した画像データを表示制御部１６０に送信する。
【００４３】
表示制御部１６０は、３次元モデル制御部１３０から送られた３次元モデル（例えばポリゴンモデル）を示すデータに基づいて、変形された３次元モデルをモニタ２１に表示する。また表示制御部１６０は、物理量可視化部１５０から物理量を示す画像データに基づいて、３次元モデルの画像に、物理量を示す画像データを重畳表示する。
【００４４】
なお、図４に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図４に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
【００４５】
次に、記憶部１１０に格納されているデータについて、詳細に説明する。
図５は、３次元モデルデータ記憶部のデータ構造の一例を示す図である。３次元モデルデータ１１１には、例えば節点情報テーブル１１１ａと要素情報テーブル１１１ｂとが含まれる。節点情報テーブル１１１ａには、節点ごとに、節点番号と、節点の位置を示す座標とが設定されている。節点情報テーブル１１１ａにおける各節点の座標は、シミュレーション実行前の状態における節点の位置を示している。要素情報テーブル１１１ｂには、要素ごとに、要素番号と、４面体の要素の頂点となる節点の節点番号とが設定されている。
【００４６】
図５に示した記憶部１１０に格納されたデータに基づいて、大動脈の３次元モデルが生成できる。図５に示す３次元モデルデータ１１１では、多面体要素で３次元モデルを表しているが、３次元モデル制御部１３０は、３次元モデルの外部との境界にある面にポリゴンを設定することで、３次元モデルデータ１１１からポリゴンモデルを生成することができる。
【００４７】
図６は、シミュレーション結果データの一例を示す図である。シミュレーション結果データ１１２には、１回分のシミュレーション結果の記録時点を１タイムステップとし、タイムステップごとの大動脈データ１１２ａ，１１２ｂ，１１２ｃ，・・・が格納されている。大動脈データ１１２ａ，１１２ｂ，１１２ｃ，・・・は、タイムステップのときの大動脈の状態を示す情報である。
【００４８】
例えば大動脈データ１１２ａ，１１２ｂ，１１２ｃ，・・・には、要素・節点ＩＤに対応付けて、要素または節点の位置、および１または複数の物理量（例えば圧力）の値が設定されている。なお要素の位置は、例えば４面体の要素の重心位置である。また１つの物理量に関し、要素と節点の両方に値が設定されていてもよく、要素または節点の一方にのみ値が設定されていてもよい。
【００４９】
以上のようなシステムを用いて、実体モデルと仮想空間内での３次元モデルとを連動させることができる。
図７は、実体モデルと３次元モデルとの連動制御の一例を示す図である。コンピュータ１００は、ユーザからの入力に基づいて、３Ｄプリンタ２８に対して、３次元モデルデータ１１１に基づく実体モデル３０の生成を指示する。３Ｄプリンタ２８は、指示に従って実体モデル３０を出力する。
【００５０】
実体モデル３０に対応する３次元モデルの表示入力が行われると、コンピュータ１００は、センサ装置２９で取得した画像により、実体モデル３０の位置、向き、形状を把握する。そしてコンピュータ１００は、３次元モデルデータ１１１に基づいて、実体モデル３０の位置、向き、形状に対応する３次元モデル４０を、仮想空間内に生成し、その３次元モデル４０をモニタ２１に表示する。
【００５１】
以下、実体モデル３０と仮想空間内の３次元モデル４０との連係処理の手順について、具体的に説明する。
図８は、実体モデルと３次元モデルとの連係処理の手順の一例を示すフローチャートである。以下、図８に示す処理をステップ番号に沿って説明する。
【００５２】
［ステップＳ１０１］３次元モデル制御部１３０は、センサ装置２９から実体モデル３０の映像を取得する。
［ステップＳ１０２］３次元モデル制御部１３０は、実体モデル３０に連動させて、３次元モデル４０の移動・回転・拡大・縮小を行うか否かを判断する。例えば３次元モデル制御部１３０は、実体モデル３０の位置が移動または回転していれば、３次元モデル４０を移動または回転させると判断する。例えば３次元モデル制御部１３０は、センサ装置２９に内蔵されたビデオカメラ、距離画像センサ、赤外線センサなどから取得した画像に基づいて、実体モデル３０の位置、向き、形状を判断する。そして３次元モデル制御部１３０は、実体モデル３０の位置が、直前の位置と異なっていれば、実体モデル３０が移動したと判断する。また３次元モデル制御部１３０は、実体モデル３０の向きが、直前の向きと異なっていれば、実体モデル３０が回転したと判断する。また３次元モデル制御部１３０は、ユーザのマウス操作などにより、拡大または縮小の指示が入力されたとき、３次元モデル４０を拡大または縮小すると判断する。
【００５３】
３次元モデル制御部１３０は、移動・回転・拡大・縮小を行う場合、処理をステップＳ１０３に進める。また３次元モデル制御部１３０は、移動・回転・拡大・縮小を行わない場合、処理をステップＳ１０６に進める。
【００５４】
［ステップＳ１０３］３次元モデル制御部１３０は、３次元モデル４０の移動・回転・拡大・縮小の座標変換を行う。例えば３次元モデル制御部１３０は、仮想空間内での視点となる仮想カメラの位置を移動させることで、仮想カメラに対する３次元モデル４０の相対位置を変化させる。そして３次元モデル制御部１３０は、３次元モデル４０の各節点の座標を、仮想カメラを基準とする座標系における座標に変換する。この座標変換は、例えば、行列を用いた写像変換を実行することにより実現することができる。
【００５５】
［ステップＳ１０４］３次元モデル制御部１３０は、３次元モデル４０の表面のメッシュに、カラーマップを反映する。例えば３次元モデル制御部１３０には、予め３次元モデル４０の表面の色が設定されている。そして３次元モデル制御部１３０は、予め指定された色に、３次元モデル４０の表面のメッシュの色を設定する。
【００５６】
［ステップＳ１０５］３次元モデル制御部１３０は、３次元モデル４０のレンダリングを行う。レンダリングにより、３次元モデル４０を表す画像データが生成される。そして３次元モデル制御部１３０は、３次元モデル４０を表す画像データを、表示制御部１６０に送信する。表示制御部１６０は、３次元モデル４０の画像データに基づいて、３次元モデル４０の画像をモニタ２１に表示する。
【００５７】
［ステップＳ１０６］３次元モデル制御部１３０は、３次元モデル４０に押された部分があるか否かを判断する。例えば３次元モデル制御部１３０は、ユーザのマウス操作などにより、３次元モデル４０上の特定の部分が指定されたとき、その位置が押されたと判断する。また３次元モデル制御部１３０は、センサ装置２９から、ユーザの指先の画像を取得し、ユーザが指先で実体モデル３０の特定の部分を押したとき、その部分に対応する３次元モデル４０の部分が押されたと判断する。
【００５８】
３次元モデル制御部１３０は、押された部分がある場合、処理をステップＳ１０７に進める。また３次元モデル制御部１３０は、押された部分がない場合、処理をステップＳ１０９に進める。
【００５９】
なお押された部分がある場合、３次元モデル制御部１３０は、３次元モデル４０の押された部分の位置、および押下量を物理量計算部１４０に送信する。３次元モデル制御部１３０は、例えば、押された位置がマウスで指定された場合、マウスのボタンの押下時間に比例した値を、押下量とする。また３次元モデル制御部１３０は、実体モデル３０をユーザが指先で押した場合、ユーザが実体モデル３０の表面を押し込んだ量を、押下量とする。
【００６０】
［ステップＳ１０７］３次元モデル制御部１３０、物理量計算部１４０、および物理量可視化部１５０が連携し、押された部分の応力解析・変形処理を行う。応力解析処理の詳細は、後述する（図９参照）。
【００６１】
［ステップＳ１０８］表示制御部１６０は、一部が押された３次元モデル４０に、応力を示す画像を重ねて表示する。
［ステップＳ１０９］３次元モデル制御部１３０は、センサ装置２９から取得した画像に基づいて、実体モデル３０の切開箇所があるか否かを判断する。３次元モデル制御部１３０は、切開箇所がある場合、処理をステップＳ１１０に進める。また３次元モデル制御部１３０は、切開箇所がない場合、処理をステップＳ１１５に進める。
【００６２】
［ステップＳ１１０］３次元モデル制御部１３０は、切開部形状変形処理を行う。切開部形状変形処理の詳細は後述する（図１１参照）。
［ステップＳ１１１］３次元モデル制御部１３０は、切開部について、開いた形状に基づく弾性変形シミュレーションを行う。
【００６３】
［ステップＳ１１２］３次元モデル制御部１３０は、切開部の断面に、シミュレーション結果データ１１２に示される物理量（例えば変形応力）の値を設定する。また３次元モデル制御部１３０は、弾性変形シミュレーションの結果を、３次元モデル４０に反映する。例えば３次元モデル制御部１３０は、弾性変形シミュレーションによって得られた物理量の値を、シミュレーション結果データ１１２に示される物理量の値に加算する。
【００６４】
［ステップＳ１１３］物理量計算部１４０は、シミュレーション結果データ１１２に、血液の流体シミュレーションの結果が含まれている場合、切開部からの流体漏れ計算を行う。例えば物理量計算部１４０は、切開部から噴出する血液の量や、噴出する加速度を計算する。
【００６５】
ここで、求めたい粒子の加速度ベクトルをａとすると、密度ρ、粒子体積Ｖ、漏れ出る面積Ｓ（流体の境界ポリゴンの面積）、任意の要素の圧力ｐ、ポリゴンの法線方向ベクトルｎとする。この場合、物理量計算部１４０は、下記の式（１）を加速度ベクトルａについて解いた式（２）により加速度ベクトルａを求める。
【００６６】
【数１】
2020000649.tif 000003
【００６７】
【数２】
2020000649.tif 000004
【００６８】
密度ρは、例えば血液の密度の代表値１．０５ｇ／ｃｍ３とする。粒子体積Ｖは、ユーザが与える一定値である。
この結果、流体境界面に存在するポリゴンごとに、加速度ａに基づく粒子が、ユーザの設定した粒子数分出力される。ユーザの設定する粒子数は、次のように定義する。
【００６９】
【数３】
2020000649.tif 000005
【００７０】
ｍは粒子数、Δｔはユーザが設定する単位時間、ｌは単位時間当たりに映像として出力する粒子数である。この方法により、ｍが決まると上記の加速度ａに基づき粒子が法線方向ベクトルｎに向かって射出される。なお物理量計算部１４０は、重力を考慮に入れる計算を行うこともできる。重力を考慮に入れる場合、物理量計算部１４０は、例えば加速度ａに対して重力加速度との合成ベクトルを計算する。また物理量計算部１４０は、血管の半径に応じた距離だけ粒子を加速させ、粒子が３次元モデル４０の外部に放出された後は、重力に基づき自然落下するように粒子の軌跡を計算してもよい。
【００７１】
物理量可視化部１５０は、算出した血液の漏れ状況を表す画像を示す画像データを生成し、生成した画像データを表示制御部１６０に送信する。
［ステップＳ１１４］表示制御部１６０は、液体漏れを示す画像のレンダリングを行い、３次元モデル４０に重ねて表示する。
【００７２】
［ステップＳ１１５］表示制御部１６０は、ユーザから表示終了の指示が入力されたか否かを判断する。表示制御部１６０は、表示終了の指示が入力された場合、３次元モデル４０の表示処理を終了する。表示制御部１６０は、表示終了の指示が入力されていなければ、処理をステップＳ１０１に進める。
【００７３】
このようにして、ユーザが実体モデル３０に対して行った行為の結果が、仮想空間内の３次元モデル４０に反映される。
次に、応力解析・変形処理の手順について詳細に説明する。
【００７４】
図９は、応力解析・変形処理の手順の一例を示すフローチャートである。以下、図９に示す処理をステップ番号に沿って説明する。
［ステップＳ１２１］３次元モデル制御部１３０は、荷重箇所、方向、荷重の量（力の大きさ）を、例えば押下操作から取得する。例えば３次元モデル制御部１３０は、マウス操作によって３次元モデル４０に対する押下が行われた場合、マウスポインタで指定された３次元モデル４０の箇所を荷重箇所とし、荷重箇所から大動脈内部へ向かう方向を荷重の方向とする。３次元モデル制御部１３０は、例えば予め設定された所定値を荷重の量とする。また３次元モデル制御部１３０は、マウスのボタンが押下された時間に比例する値を、荷重の量としてもよい。
【００７５】
［ステップＳ１２２］物理量計算部１４０は、３次元モデル４０において、荷重箇所から半径Ｒ（Ｒは正の実数）の球内に含まれるシェル要素を、計算対象として抽出する。シェル要素は、三角形の平面要素であり、例えばポリゴンモデルにおけるポリゴンに対応する。例えば物理量計算部１４０は、３次元モデル４０の表面の節点の中から、荷重箇所からＲ以内の距離にある複数の節点を抽出し、抽出した複数の節点の組み合わせで構成される面を、計算対象のシェル要素とする。
【００７６】
［ステップＳ１２３］物理量計算部１４０は、抽出したシェル要素の１つ外側のシェル要素を、固定境界条件とする。すなわち物理量計算部１４０は、抽出したシェル要素の１つ外側のシェル要素の位置などの値を固定とする。
【００７７】
［ステップＳ１２４］物理量計算部１４０は、抽出したシェル要素の弾性計算を行う。物理量計算部１４０は、例えば平面シェル要素の弾塑性解析により弾性計算を行う。その場合、物理量計算部１４０は、相当応力を以下の式で定義する。
【００７８】
【数４】
2020000649.tif 000006
【００７９】
σxは、垂直応力のｘ軸成分である。σyは、垂直応力のｙ軸成分である。τxyは、ｙ軸を法線とする面のｘ軸方向のせん断応力である。また物理量計算部１４０は、荷重増分ベクトルΔＦを以下の通りとする。
【００８０】
【数５】
2020000649.tif 000007
【００８１】
Ｆは、荷重箇所に加えた荷重である。Δλは、予め設定された荷重増分倍率である。Δλは、１／１００、１／１０００といった１以下の実数である。物理量計算部１４０は、まず次の接線剛性方程式を変位増分ベクトルＵについて解く。
【００８２】
【数６】
2020000649.tif 000008
【００８３】
Ｋは弾性剛性マトリクスである。物理量計算部１４０は、変位増分ベクトルＵに基づいて、各シェル要素のガウス積分点における各軸方向の応力増分Δσx，Δσy，Δτxyを計算する。物理量計算部１４０は、荷重増分ベクトルΔＦずつ荷重を増加させるごとに応力増分Δσx，Δσy，Δτxyを求め、それまでの応力増分Δσx，Δσy，Δτxyの合計をσx，σy，τxyとして式（４）に代入し、相当応力を計算する。物理量計算部１４０は、計算上加えた荷重に応じた相当応力を、最終的な各シェル要素の応力とする。また物理量計算部１４０は、荷重増分ベクトルΔＦずつ荷重を増加させるごとに得られる変位増分ベクトルＵに基づいて、最終的なシェル要素の変位（位置の移動量）を求める。シェル要素の変位は、３次元モデル４０の形状の変形量を表している。
【００８４】
［ステップＳ１２５］３次元モデル制御部１３０は、物理量計算部１４０が算出した変形量を、３次元モデル４０の形状に反映する。すなわち３次元モデル制御部１３０は、算出された変形量だけ、３次元モデル４０の荷重箇所の周囲を変形させる。また物理量可視化部１５０は、変形した箇所の応力を示す画像データを生成する。例えば物理量可視化部１５０は、変形した箇所に、応力に応じた色を設定する。
【００８５】
このようにして３次元モデル４０が応力に応じて変形されると共に、応力の可視化処理が行われる。
図１０は、応力の可視化の一例を示す図である。図１０の上段は、３次元モデル４０に対する荷重箇所を指定する様子を示している。図１０の下段は、応力の可視化例を示している。図１０の例では、応力が強い領域ほど濃い色で表示している。このように実体モデル３０と連動して表示されている３次元モデル４０上に、荷重箇所周辺の応力を可視化することで、医師は、例えば実体モデル３０の触感を確認しながら、実体モデル３０の一部を押した場合の応力を確認できる。
【００８６】
例えば３次元モデル制御部１３０は、実体モデル３０に触っている医師の指先の位置を検知し、その位置を荷重箇所と判断することもできる。その場合、医師が、実体モデル３０の任意の箇所を押すことで、押された箇所の周囲の応力がモニタ２１に表示される。
【００８７】
次に、切開部形状変形処理について詳細に説明する。
図１１は、切開部形状変形処理の手順の一例を示すフローチャートである。以下、図１１に示す処理をステップ番号に沿って説明する。
【００８８】
［ステップＳ１３１］３次元モデル制御部１３０は、センサ装置２９から切開部の画像を取得する。
［ステップＳ１３２］３次元モデル制御部１３０は、切開部断面を生成する。例えば３次元モデル制御部１３０は、切開部に沿って新たな節点と、その節点を含むメッシュとを生成する。
【００８９】
［ステップＳ１３３］３次元モデル制御部１３０は、断面の縁の移動ベクトルを算出する。
［ステップＳ１３４］３次元モデル制御部１３０は、移動ベクトルに基づいて、切開部の節点の位置を算出する。
【００９０】
［ステップＳ１３５］３次元モデル制御部１３０は、変形量を３次元モデル４０の形状に反映する。
図１２は、移動ベクトル算出の一例を示す図である。例えば３次元モデル制御部１３０は、３次元モデル４０の切開部４１上の節点５１，５２を特定する。次に３次元モデル制御部１３０は、センサ装置２９からの画像に基づいて実体モデル３０の切開部の端部の移動を認識すると、切開部４１上の節点５１，５２からの切開部の端部の移動ベクトルを生成する。例えば節点５１を移動元とする２つの移動ベクトル４２，４３が生成される。次に３次元モデル制御部１３０は、節点５１，５２から移動ベクトルに従って移動させた位置に、新たな節点５３〜５６を生成する。
【００９１】
実体モデル３０の切開部の端部がさらに移動すれば、３次元モデル制御部１３０は、再度、実体モデル３０の切開部の端部の移動を認識すると、切開部４１上の節点５１，５２からの切開部の端部の移動ベクトルを生成する。例えば節点５１を移動元とする２つの移動ベクトル４４，４５が生成される。次に３次元モデル制御部１３０は、節点５１，５２から移動ベクトルに従って移動させた位置へ、節点５３〜５６を移動する。
【００９２】
切開部の形状が変化すると、物理量計算部１４０により切開部の弾性変形シミュレーションが行われる。
図１３は、弾性変形シミュレーションを説明する図である。図１３の面ａｂｄｅｃの移動において、ｖ１，ｖ２の移動速度ベクトルが定義されたものとする。この場合、３次元モデル４０の切開部４１は、面ａｂｄｅｃを構成するポリゴンを辺ｂｄｅにおいて変形する。物理量計算部１４０は、面ａｂｄｅｃに接触しているポリゴンとの間でシェル要素による弾性解析を行う。この場合の変形応力は、ｖ１／ｔ，ｖ２／ｔ（ｔは変形完了までの時間）に依存する。
【００９３】
このように医師が実体モデル３０を切開すると、その形状が仮想空間内の３次元モデル４０に反映されると共に、３次元モデル４０上には、弾性変形シミュレーションにより計算された変形応力を表示することができる。医師は、変形応力が表示された場合、変形応力の範囲に基づいて、切開部の位置が適切か否かを判断できる。例えば医師は、変形応力がかかる範囲に梗塞部位が含まれる場合、その切開部で切開を行うのは不適切であると判断できる。
【００９４】
図１４は、切開部の表示例を示す図である。例えば医師は、メス６１により実体モデル３０を切開する。切開部の形状はセンサ装置２９で撮像され、コンピュータ１００に送られる。コンピュータ１００では３次元モデル制御部１３０によって、実体モデル３０の切開部と同じ形状となるように、３次元モデル４０が変形される。そして変形された３次元モデル４０がモニタ２１に表示される。表示された３次元モデル４０には、例えば変形応力が、色の違いによって表現される。
【００９５】
また切開されたことにより、物理量計算部１４０によって流体漏れ計算が行われる。そして切開部から流体（血液）が漏れる様子を、モニタ２１に表示することができる。
図１５は、流体漏れの表示例を示す図である。図１５に示すように、例えば切開された直後は、内部の血圧に応じて、血液が勢いよく噴出する画像が表示される。血圧が下がると、血液の噴出速度が減少した画像に変わる。
【００９６】
このようにして、シミュレーション結果データ１１２を用いて得られる物理量を、実体モデル３０に連動した３次元モデル４０上に、視覚的に分かりやすく表示することができる。
【００９７】
〔その他の実施の形態〕
第２の実施の形態では、実体モデル３０にマーカを設けていないが、実体モデル３０の主要部分にマーカを設けることもできる。実体モデル３０にマーカを付けた場合、３次元モデル制御部１３０は、マーカの位置に基づいて、実体モデル３０の形状や向きを判断することができる。また医師の指先にマーカを付けることで、医師が実体モデル３０に指先で荷重を加えたときの荷重箇所を容易に特定できる。
【００９８】
なお図６に示したように、シミュレーション結果データ１１２として、時系列のデータが存在する場合、実体モデル３０への操作とは別に、３次元モデル４０を、シミュレーション結果データ１１２に基づいて動作させてもよい。例えば、心臓の動作シミュレーションの結果がある場合、心臓を示す３次元モデルにより、心臓の拍動する様子をモニタ２１で表示させることができる。そして医師が心臓の実体モデルに対して操作を行うと、コンピュータ１００は、拍動する心臓の３次元モデルを、実体モデルと連動して変形させる。これにより、医師は、実際の手術時の状況を、正確に把握することができる。
【００９９】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【符号の説明】
【０１００】
１  実体モデル
２  センサ
３  モニタ
４  ３次元モデル
１０  可視化装置
１１  記憶部
１１ａ  ３次元モデルデータ
１２  処理部
【図１】
2020000649.tif 000009
【図２】
2020000649.tif 000010
【図３】
2020000649.tif 000011
【図４】
2020000649.tif 000012
【図５】
2020000649.tif 000013
【図６】
2020000649.tif 000014
【図７】
2020000649.tif 000015
【図８】
2020000649.tif 000016
【図９】
2020000649.tif 000017
【図１０】
2020000649.tif 000018
【図１１】
2020000649.tif 000019
【図１２】
2020000649.tif 000020
【図１３】
2020000649.tif 000021
【図１４】
2020000649.tif 000022
【図１５】
2020000649.tif 000023