(57)【特許請求の範囲】
【請求項１】
複数のノード、２つのノード間を接続する複数のエッジ、および３つ以上のノードを頂点とする複数の面を用いて３次元形状を表した３次元メッシュモデルを記憶する記憶部と、
前記複数のエッジそれぞれの長さに基づいて、長さが短いほど低い値となる評価値を前記複数のエッジそれぞれについて計算し、前記評価値が低い順に前記複数のエッジそれぞれを第１エッジとして選択し、選択された前記第１エッジの両端の第１ノードの少なくとも一方を頂点として有する第１面とノード配置点との距離を用いた計算式の値が閾値以下になる特定ノード配置点が存在する場合、前記第１エッジ、前記第１ノード、および前記第１面を前記３次元メッシュモデルから消去すると共に、前記特定ノード配置点に配置された第２ノード、前記第２ノードを一方の端部とする第２エッジ、および前記第２ノードを頂点として有する第２面を前記３次元メッシュモデルに追加する処理部と、
を有するモデリング装置。
【請求項２】
前記処理部は、
さらに、前記第２エッジの追加後に前記第２エッジの長さに基づいて前記第２エッジの前記評価値を計算し、
前記選択では、前記第２エッジと前記複数のエッジのうちの未選択のエッジとを、前記第１エッジとして前記評価値が低い順に選択する、
請求項１記載のモデリング装置。
【請求項３】
前記処理部は、前記評価値の計算では、前記３次元メッシュモデルの円筒形の部分に含まれる計算対象エッジの長さに、前記円筒形の半径に応じた第１の重みを乗算した値を、前記計算対象エッジの前記評価値とする、
請求項１または２のいずれかに記載のモデリング装置。
【請求項４】
前記処理部は、前記評価値の計算では、前記計算対象エッジの両端のノードそれぞれが属する部分の前記円筒形の半径に応じた重み値の平均を、前記第１の重みとする、
請求項３記載のモデリング装置。
【請求項５】
前記処理部は、前記３次元メッシュモデルの円筒形の部分に前記第１エッジが含まれるとき、前記円筒形の半径に応じた第２の重みを、前記第１面と前記特定ノード配置点との距離に応じた値に乗算する式を、前記計算式とする、
請求項１ないし４のいずれかに記載のモデリング装置。
【請求項６】
前記処理部は、前記第１エッジの両端の前記第１ノードそれぞれが属する部分の前記円筒形の半径に応じた重み値の平均を、前記第２の重みとする、
請求項５記載のモデリング装置。
【請求項７】
コンピュータが、
複数のノード、２つのノード間を接続する複数のエッジ、および３つ以上のノードを頂点とする複数の面を用いて３次元形状を表した３次元メッシュモデルを参照し、前記複数のエッジそれぞれの長さに基づいて、長さが短いほど低い値となる評価値を前記複数のエッジそれぞれについて計算し、
前記評価値が低い順に前記複数のエッジそれぞれを第１エッジとして選択し、
選択された前記第１エッジの両端の第１ノードの少なくとも一方を頂点として有する第１面とノード配置点との距離を用いた計算式の値が閾値以下になる特定ノード配置点が存在する場合、前記第１エッジ、前記第１ノード、および前記第１面を前記３次元メッシュモデルから消去すると共に、前記特定ノード配置点に配置された第２ノード、前記第２ノードを一方の端部とする第２エッジ、および前記第２ノードを頂点として有する第２面を前記３次元メッシュモデルに追加する、
モデリング方法。
【請求項８】
コンピュータに、
複数のノード、２つのノード間を接続する複数のエッジ、および３つ以上のノードを頂点とする複数の面を用いて３次元形状を表した３次元メッシュモデルを参照し、前記複数のエッジそれぞれの長さに基づいて、長さが短いほど低い値となる評価値を前記複数のエッジそれぞれについて計算し、
前記評価値が低い順に前記複数のエッジそれぞれを第１エッジとして選択し、
選択された前記第１エッジの両端の第１ノードの少なくとも一方を頂点として有する第１面とノード配置点との距離を用いた計算式の値が閾値以下になる特定ノード配置点が存在する場合、前記第１エッジ、前記第１ノード、および前記第１面を前記３次元メッシュモデルから消去すると共に、前記特定ノード配置点に配置された第２ノード、前記第２ノードを一方の端部とする第２エッジ、および前記第２ノードを頂点として有する第２面を前記３次元メッシュモデルに追加する、
処理を実行させるモデリングプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モデリング装置、モデリング方法、およびモデリングプログラムに関する。
【背景技術】
【０００２】
近年、数値シミュレーション解析により、生体における力学現象や電気現象等を再現する様々な研究が行われている。例えば心臓が正常に拍動するためには、酸素やエネルギーとなる栄養が豊富に含まれた血液が、心筋に供給されていることが重要である。数値シミュレーション解析を用いれば、左心室から拍出された血液の一部を心臓に張り巡らされた冠動脈がそれぞれどの程度血液を供給しているかについての血流動態を、予測することが可能である。このような予測は、血管の一部に狭窄があるような疾患において、十分な血液が心筋に供給されているのかといった診断の補助となる。現在、血管ごとの血流量の測定はカテーテルを体内に入れることで行われており、非侵襲性のシミュレーションによる代替が期待されている。【０００３】
患者固有の冠動脈のシミュレーションの入力の一つとなる冠動脈モデルは、大動脈および冠動脈の形状を形成する三角形の面（以下、メッシュと呼ぶ）と四面体のボリューム要素で構成されており、各要素には部位ごとに異なる材料番号が付されている。冠動脈モデルを生成するコンピュータでは、最初に医療画像から心血管領域を抽出する。そしてコンピュータは、抽出した心血管領域を参照して三角形の面を表すメッシュにより心臓形状や境界面を構築し、それをもとにボリューム要素を生成する。【０００４】
例えば冠動脈モデルを作成するコンピュータは、心血管の形状は個人によって形状が異なるため、ＣＴ（Computed Tomography）やＭＲＩ（Magnetic Resonance Imaging）などの医療画像から、患者の心血管の形状を抽出する。そしてコンピュータは、抽出した領域を参照し三角形のメッシュにより冠動脈モデルを構築する。このとき、構築したい形状に対してメッシュが大きい場合、本来なめらかな形状が冠動脈モデルでは凸凹となってしまう場合がある。また、本来離れた２つの形状が、冠動脈モデルでは接続されていることもある。そのため、最初に十分に小さいメッシュで冠動脈モデルを構築した後、冠動脈モデルの形状に合わせてメッシュ数を削減する方法がよくとられる。【０００５】
メッシュ数の削減方法として、例えば、生成されている三角形の等値面データについて、任意に設定された削減率に応じて、削減しても精度にあまり支障が生じないように元の三次元データで検証しつつ、小さい三角形から順次選択して削減する方法がある。また、隣接する２つのノードを重ねて一つのノードにマージする方法がある。エッジを一つ消去し、両端のノードを結合して新しいノードを生成するため、この操作をエッジ消去（Edge Contraction）と呼ぶ。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−３２３６３７号公報
【非特許文献】
【０００７】
【非特許文献１】M.Garland and P.S.Heckbert, "Surface Simplification Using Quadric Error Metrics", SIGGRAPH '97 Proceedings of the 24th annual conference on Computer graphics and interactive techniques, ACM Press, New York, 3-8 August 1997, pp.209-216
【発明の概要】
【発明が解決しようとする課題】
【０００８】
エッジ消去によりメッシュ数を削減するとき、エッジ消去後の新しいノードの座標をどのように設定するのかが重要となる。例えばエッジを構成する２つのノードの中点を新しい座標とすると、メッシュの削減が進むに連れて元の形状から大きく異なるところに新しい座標が設定され元の形状が失われてしまう。上記非特許文献１では、元の形状をできるだけ保つために、各ノードにおけるノードを含む隣接面との距離の自乗和（ＱＥＭ：Quadric Error Metric）を最小化する手法が用いられている。ただし、この手法では、消去後のＱＥＭの変化が小さいエッジから消去していくため、冠動脈のような細長い形状の場合は細長いメッシュとなりやすく、早い段階で大きなメッシュ（一辺の長いメッシュ）になってしまう。細長くなったメッシュをさらに削減していくと、元の形状と大きく異なる形状になってしまう。このような問題は、心臓シミュレーションに用いる冠動脈モデルにおけるメッシュ数の削減時に限らず、３次元メッシュモデルのメッシュ数を削減する場合に共通の問題である。【０００９】
１つの側面では、本件は、メッシュ数を削減することによる元の形状からの乖離を少なく抑えることを目的とする。
【課題を解決するための手段】
【００１０】
１つの案では、記憶部と処理部とを有するモデリング装置が提供される。
記憶部は、複数のノード、２つのノード間を接続する複数のエッジ、および３つ以上のノードを頂点とする複数の面を用いて３次元形状を表した３次元メッシュモデルを記憶する。【００１１】
処理部は、複数のエッジそれぞれの長さに基づいて、長さが短いほど低い値となる評価値を複数のエッジそれぞれについて計算する。次に処理部は、評価値が低い順に複数のエッジそれぞれを第１エッジとして選択する。そして処理部は、選択された第１エッジの両端の第１ノードの少なくとも一方を頂点として有する第１面とノード配置点との距離を用いた計算式の値が閾値以下になる特定ノード配置点が存在する場合、第１エッジ、第１ノード、および第１面を３次元メッシュモデルから消去すると共に、特定ノード配置点に配置された第２ノード、第２ノードを一方の端部とする第２エッジ、および第２ノードを頂点として有する第２面を３次元メッシュモデルに追加する。
【発明の効果】
【００１２】
１態様によれば、メッシュ数を削減することによる元の形状からの乖離を少なく抑えることができる。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
【図面の簡単な説明】
【００１３】
【図１】第１の実施の形態に係るモデリング装置の構成の一例を示す図である。
【図２】第２の実施の形態のシステム構成の一例を示す図である。
【図３】モデリング装置のハードウェアの構成の一例を示す図である。
【図４】モデリング装置の機能を示すブロック図である。
【図５】冠動脈モデルの一例を示す図である。
【図６】４面体要素の一例を示す図である。
【図７】３次元メッシュモデルのデータ構造の一例を示す図である。
【図８】エッジ消去によるメッシュ数の削減例を示す図である。
【図９】ノードのＱＥＭの値と平面との関係を示す図である。
【図１０】血管の太さに応じた重み付けの一例を示す図である。
【図１１】エッジ削減用のキューの一例を示す図である。
【図１２】メッシュリダクション処理の手順の一例を示すフローチャートである。
【図１３】細長い形状のモデルに対するメッシュ数削減の一例を示す図である。
【図１４】メッシュ削減時のモデル形状の遷移例を示す図である。
【図１５】太さの異なる部分を有する３次元メッシュモデルに対するメッシュリダクションの例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第１の実施の形態〕
まず第１の実施の形態について説明する。
【００１５】
図１は、第１の実施の形態に係るモデリング装置の構成の一例を示す図である。第１の実施の形態に係るモデリング装置１０は、記憶部１１と処理部１２とを有する。記憶部１１は、例えばモデリング装置１０が有するメモリまたはストレージ装置である。処理部１２は、例えばモデリング装置１０が有するプロセッサなどの演算回路である。
【００１６】
記憶部１１は、複数のノード、２つのノード間を接続する複数のエッジ、および３つ以上のノードを頂点とする複数の面（メッシュ）を用いて３次元形状を表した３次元メッシュモデル１を記憶する。３次元メッシュモデル１は、例えば細長い形状を表している。
【００１７】
処理部１２は、エッジを消去していくことにより、３次元メッシュモデル１のメッシュ数（面の数）を削減する。メッシュ数を削減する際、処理部１２は、まず３次元メッシュモデル１の複数のエッジそれぞれの長さに基づいて、長さが短いほど低い値となる評価値を複数のエッジそれぞれについて計算する。
【００１８】
次に処理部１２は、評価値が低い順に、複数のエッジそれぞれを第１エッジ２として選択する。第１エッジ２は、消去候補のエッジである。処理部１２は、第１エッジ２を選択するごとに、以下の処理を行う。
【００１９】
処理部１２は、選択した第１エッジ２の両端のノード（第１ノード３）のいずれかを頂点として有する面（第１面４）を特定する。図１の例では、網掛けで示した１０個の面が、第１面４として特定される。次に処理部１２は、第１面４それぞれとノード配置点との距離を用いた計算式の値が閾値以下になるノード配置点が存在するか否かを判断する。計算式は、例えば第１面４を包含する平面とノード配置点との距離の自乗和を計算する距離関数である。このような距離関数は、ＱＥＭとも呼ばれる。ノード配置点は、例えば距離関数の値が最小値となる点である。そして処理部１２は、そのノード配置点における距離関数の値（最小値）が閾値以下か否かを判断する。
【００２０】
ノード配置点における計算式の値が閾値以下となるようなノード配置点（特定ノード配置点）がある場合、処理部１２は、第１エッジ２、第１ノード３、および第１面４を３次元メッシュモデル１から消去する。また処理部１２は、特定ノード配置点に配置された第２ノード５、第２ノード５を一方の端部とする第２エッジ７、および第２ノード５を頂点として有する第２面６を３次元メッシュモデル１に追加する。これにより、第１エッジ２を消去した３次元メッシュモデル１ａが生成される。図１の例では、第１エッジ２を消去したことに伴い、１０個の第１面４が消去され、８個の第２面６が生成されている。その結果、面が２つ減っている。
【００２１】
以後、処理部１２は、消去候補となる第１エッジ２を選択するごとに、消去可能な第１エッジ２を消去していき、消去可能な全エッジを消去する。その結果、メッシュ数を削減した３次元メッシュモデル１ｂが生成される。
【００２２】
このようにして生成された３次元メッシュモデル１ｂは、新たに追加されたノードが、元の形状から大きく離れない位置にあり、しかも短いエッジから順に消去したことで、３次元メッシュモデル１ｂ内のメッシュ形状が正三角形に近くなる。その結果、メッシュ数を大きく削減しても、メッシュ削減後の３次元メッシュモデル１ｂの形状が、オリジナルの３次元メッシュモデル１の形状から大きく乖離せずに済んでいる。すなわち、メッシュ数を削減することによる元の形状からの乖離が少なく抑えられている。
【００２３】
なお、追加した第２エッジ７も消去の対象とすることができる。その場合、処理部１２は、第２エッジ７の追加後に、第２エッジ７の長さに基づいて第２エッジ７の評価値を計算する。そして処理部１２は、消去候補とする第１エッジを選択する際には、第２エッジ７と、オリジナルの３次元メッシュモデル１に含まれていた複数のエッジのうちの未選択のエッジとを、第１エッジ２として評価値が低い順に選択する。これにより、より多くのエッジを消去することができる。
【００２４】
また評価値の計算対象のエッジが、３次元メッシュモデル１の円筒形の部分に含まれるとき、そのエッジの長さに、そのエッジが含まれる部分の半径に応じた第１重みを乗算した値を、そのエッジの評価値としてもよい。例えば３次元メッシュモデル１の円筒形の部分に含まれるノードについて、予め円筒形の半径に応じた第１の重みを設定しておく。第１の重みは、半径が小さい程大きな値とする。処理部１２は、例えば、エッジの両端のノードの第１の重みの平均値をエッジの長さに乗算し、乗算結果を評価値とする。これにより、細い部分のエッジは太い部分のエッジよりも重みが大きくなり、同じ長さであっても評価値が高くなる。その結果、細い部分のエッジは、消去候補である第１エッジ２として選択される順番が後になる。選択される順番が後になるほど、そのエッジを削除する際の距離関数の値が大きくなる可能性が高くなり、その結果、削除されずに残される可能性が高くなる。
【００２５】
また処理部１２は、３次元メッシュモデル１ｂのメッシュ数が所定数にまで減ったら、エッジの消去処理を停止することもできる。この場合、選択される順番が後のエッジが、消去されずに残される可能性がより高くなる。
【００２６】
太い部分のエッジを優先的に消去し、細い部分のエッジが残りやすくすることで、細い部分においてエッジを過剰に消去してしまい、元の形状から大きく乖離してしまうことを抑止できる。
【００２７】
また、３次元メッシュモデル１の円筒形の部分に第１エッジ２が含まれるとき、円筒形の半径に応じた第２の重みを、第１面４とノード配置点との距離に応じた値に乗算する式を、上記の計算式としてもよい。例えば３次元メッシュモデル１の円筒形の部分に含まれるノードについて、予め円筒形の半径に応じた第２の重みを設定しておくことができる。第２の重みは、半径が小さい程大きな値とする。第２の重みは、上記の第１の重みと同じ値でもよい。
【００２８】
処理部１２は、距離に応じた値に、第１エッジ２の両端の第１ノードの第２の重みの平均を乗算した結果が閾値以下の場合に、第１エッジ、第１ノード、および第１面の消去と、第２ノード、第２エッジ、および第２面の追加とを実施する。
【００２９】
これにより、細い部分のエッジは消去されにくくなり、細い部分においてエッジが過剰に消去されることを抑止できる。
しかも、エッジの評価値の計算に用いる第１の重みや、第１エッジを消去するか否かの判定に用いる第２の重みを、エッジの両端のノードの重みの平均とすることで、半径が異なる部分の境界でも、適切にエッジを消去することができる。すなわち、３次元メッシュモデル１における太い部分と細い部分との境界のエッジについては、太い部分の重みと細い部分の重みとの平均が、第１の重みまたは第２の重みとして用いられる。これにより、太さが異なる部分の境界において、メッシュのサイズを徐々に変えることができる。その結果、メッシュ数削減後の３次元メッシュモデル１ｂにおいて、境界部分が不自然になることを抑止できる。
【００３０】
〔第２の実施の形態〕
次に第２の実施の形態について説明する。
第２の実施の形態は、心臓シミュレーションに用いる心臓の冠動脈モデルのメッシュ数を削減するものである。
【００３１】
冠動脈モデルのメッシュ数を削減する際、以下の３つの要件を満たすことが重要である。
（第１の要件）メッシュを削減する際、元の形状はできるだけ保持する。
（第２の要件）三角形のメッシュはできる限り正三角形に近い形状で構築する。
（第３の要件）血管の太さに合わせてメッシュの大きさを適切に設定する。
【００３２】
第１の要件は、心臓シミュレーションを高精度に実施するために重要となる。メッシュ削減後の冠動脈モデルの形状が元の形状と大きく異なっていたのでは、心臓シミュレーションを高精度に実施することができない。
【００３３】
第２の要件も、心臓シミュレーションを高精度に実施するために重要である。心臓シミュレーションでは、心臓の拍動に伴い心臓のモデルが変形し、同時に冠動脈モデルも変形する。メッシュが細長い形状だと、冠動脈モデルを滑らかに変形させることができず、心臓シミュレーションの精度を低下させてしまう。
【００３４】
第３の要件は、心臓シミュレーションの計算量を十分に削減するために重要である。大動脈の直径が３ｃｍ程度あるのに対して、冠動脈は抹消や狭窄領域で１ｍｍに満たない場合がある。細い血管領域のメッシュサイズを大きくするとなめらかな形状が失われ、大動脈のように太い血管を小さなメッシュで構成すると、心臓シミュレーションの計算量が膨大になる。血管の大きさに合わせて三角形の大きさを設定することで、なめらかな形状を損なわずに、多くのメッシュ削減が可能となる。
【００３５】
図２は、第２の実施の形態のシステム構成の一例を示す図である。モデリング装置１００は、ネットワーク２０を介して心臓シミュレータ２００に接続されている。モデリング装置１００では、心臓の３次元モデルを作成し、その３次元モデルを心臓シミュレータ２００に送信する。心臓シミュレータ２００は、心臓の３次元モデルに基づいて、例えば心臓の冠循環シミュレーションを実施する。
【００３６】
図３は、モデリング装置のハードウェアの構成の一例を示す図である。モデリング装置１００は、プロセッサ１０１によって装置全体が制御されている。プロセッサ１０１には、バス１０９を介してメモリ１０２と複数の周辺機器が接続されている。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ（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）を使用することができる。
【００４０】
グラフィック処理装置１０４には、モニタ２１が接続されている。グラフィック処理装置１０４は、プロセッサ１０１からの命令に従って、画像をモニタ２１の画面に表示させる。モニタ２１としては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【００４１】
入力インタフェース１０５には、キーボード２２とマウス２３とが接続されている。入力インタフェース１０５は、キーボード２２やマウス２３から送られてくる信号をプロセッサ１０１に送信する。なお、マウス２３は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００４２】
光学ドライブ装置１０６は、レーザ光などを利用して、光ディスク２４に記録されたデータの読み取りを行う。光ディスク２４は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク２４には、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００４３】
機器接続インタフェース１０７は、モデリング装置１００に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース１０７には、メモリ装置２５やメモリリーダライタ２６を接続することができる。メモリ装置２５は、機器接続インタフェース１０７との通信機能を搭載した記録媒体である。メモリリーダライタ２６は、メモリカード２７へのデータの書き込み、またはメモリカード２７からのデータの読み出しを行う装置である。メモリカード２７は、カード型の記録媒体である。
【００４４】
ネットワークインタフェース１０８は、ネットワーク２０に接続されている。ネットワークインタフェース１０８は、ネットワーク２０を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【００４５】
以上のようなハードウェア構成によって、第２の実施の形態の処理機能を実現することができる。なお、第１の実施の形態に示したモデリング装置１０も、図３に示したモデリング装置１００と同様のハードウェアにより実現することができる。
【００４６】
モデリング装置１００は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施の形態の処理機能を実現する。モデリング装置１００に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、モデリング装置１００に実行させるプログラムをストレージ装置１０３に格納しておくことができる。プロセッサ１０１は、ストレージ装置１０３内のプログラムの少なくとも一部をメモリ１０２にロードし、プログラムを実行する。またモデリング装置１００に実行させるプログラムを、光ディスク２４、メモリ装置２５、メモリカード２７などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ１０１からの制御により、ストレージ装置１０３にインストールされた後、実行可能となる。またプロセッサ１０１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００４７】
図４は、モデリング装置の機能を示すブロック図である。モデリング装置１００は、記憶部１１０、モデル作成部１２０、メッシュリダクション部１３０、およびモデル送信部１４０を有する。
【００４８】
記憶部１１０は、心臓の３次元メッシュモデル１１１を記憶する。３次元メッシュモデル１１１には、心臓の形状を表す構造メッシュモデルや冠動脈モデルが含まれる。
モデル作成部１２０は、細かなメッシュによる３次元メッシュモデル１１１を作成する。例えばモデル作成部１２０は、患者のＣＴやＭＲＩなどの医療画像から、その患者の心血管の形状を抽出する。そしてモデル作成部１２０は、抽出した心血管の領域に基づいて、三角形のメッシュにより冠動脈モデルを作成する。
【００４９】
メッシュリダクション部１３０は、上記の３つの要件を満たすように、冠循環モデルのメッシュ数を削減する。例えばメッシュリダクション部１３０は、３次元メッシュモデル１１１内のメッシュのうち、消去するメッシュの情報に、無効であることを示すフラグを設定する。またメッシュリダクション部１３０は、メッシュ数の削減のために、統合した新たなメッシュを生成した場合、３次元メッシュモデル１１１に生成したメッシュを追加する。
【００５０】
モデル送信部１４０は、メッシュ数を削減した３次元メッシュモデル１１１を、心臓シミュレータ２００に送信する。
なお、図４に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
【００５１】
次に、冠動脈モデルの構造について具体的に説明する。
図５は、冠動脈モデルの一例を示す図である。冠動脈モデル３０は、大動脈基部３１（大動脈弁周辺の大動脈）と冠動脈３２との形状を表す３次元メッシュモデルである。冠動脈モデル３０は、多数の４面体要素の集合で表されている。
【００５２】
図６は、４面体要素の一例を示す図である。４つの３角形メッシュで囲まれている４面体要素４１は、４つの頂点（ｖｅｒｔｅｘ）、６つのエッジ（ｅｄｇｅ）、および４つの面（ｆａｃｅ）を有する。４面体要素４１は、オブジェクトと呼ぶこともある。頂点は、ノードと呼ぶこともある。
【００５３】
図７は、３次元メッシュモデルのデータ構造の一例を示す図である。３次元メッシュモデル１１１は、頂点情報１１１ａ、エッジ情報１１１ｂ、面情報１１１ｃ、およびオブジェクト情報１１１ｄを有する。
【００５４】
頂点情報１１１ａは、３次元メッシュモデル１１１内の頂点（ノード）ごとに設けられており、それぞれに頂点の識別子（ｖＩＤ）が付与されている。頂点情報１１１ａには、頂点の座標（ｘ，ｙ，ｚ）、頂点を共有するエッジの識別子（ｅｄｇｅＩＤ）、エッジ削減時に使用するＱＥＭの係数（Ｋ）、およびノードが持つ重み（ｗｅｉｇｈｔ）が含まれる。
【００５５】
エッジ情報１１１ｂは、３次元メッシュモデル１１１内のエッジごとに設けられており、それぞれにエッジの識別子（ｅｄｇｅＩＤ）が付与されている。エッジ情報１１１ｂには、エッジの始点となる頂点の識別子（ｐｒｅｖ＿ｖＩＤ）、エッジの終点となる頂点の識別子（ｎｅｘｔ＿ｖＩＤ）、およびエッジを共有する面の識別子（ｆａｃｅＩＤ）が含まれる。
【００５６】
面情報１１１ｃは、３次元メッシュモデル１１１内の面ごとに設けられており、それぞれに面の識別子（ｆａｃｅＩＤ）が付与されている。面情報１１１ｃには、三角形を構築する頂点の識別子（ｖＩＤ１，ｖＩＤ２，ｖＩＤ３）が含まれる。
【００５７】
オブジェクト情報１１１ｄは、３次元メッシュモデル１１１に含まれるオブジェクト（４面体要素）ごとに設けられており、それぞれにオブジェクトの識別子（ｏｂｊｅｃｔＩＤ）が付与されている。オブジェクト情報１１１ｄには、オブジェクトを構成する頂点の集合（ｖＩＤ１，ｖＩＤ２，・・・）、オブジェクトを構成するエッジの集合（ｅｄｇｅＩＤ１，ｅｄｇｅＩＤ２，・・・）、およびオブジェクトを構成する面の集合（ｆａｃｅＩＤ１，ｆａｃｅＩＤ２，・・・）が含まれる。
【００５８】
このようなデータ構造で、３次元メッシュモデル１１１が表現されている。３次元メッシュモデル１１１におけるオブジェクトの三角形の面（ｆａｃｅ）がメッシュであり、メッシュを接合して一つのサーフェス面が構築される。三角形のメッシュは、３つの頂点（ｖｅｒｔｅｘ）とそれをつなぐ３つのエッジ（ｅｄｇｅ）によって表記される。
【００５９】
メッシュリダクション部１３０は、メッシュ数を削減するため、隣接する２つのノードを重ねて一つのノードにマージする。具体的にはメッシュリダクション部１３０は、マージしたノード間のエッジを一つ消去し、両端のノードを結合して新しいノードを生成する。
【００６０】
図７に示すようなデータ構造により、各ノードの頂点情報１１１ａから、そのノードが所属するエッジやメッシュの識別子を取得可能となる。ただし、３次元メッシュモデル１１１のメッシュ数が多すぎると、３次元メッシュモデル１１１のデータ量も膨大となり、シミュレーションを高速に行うことが難しくなる。そこで、メッシュ数の削減が行われる。第２の実施の形態に係るモデリング装置１００は、エッジ消去によりメッシュ数を削減する。
【００６１】
図８は、エッジ消去によるメッシュ数の削減例を示す図である。例えばノードｖ１とノードｖ２とをマージすることで、エッジ４２を消去することができる。この場合、ノードｖ１とノードｖ２とは消去され、新たなノードｖ３が生成される。ノードｖ１とノードｖ２とに接続されていたエッジは消去され、新たに生成されたノードｖ３に接続された新たなエッジが生成される。これにより、エッジ４２を共有する２つのメッシュが消去されている。
【００６２】
ここで、エッジ消去によるメッシュ数削減は、新しく作られるノードｖ３の座標を求める方法が重要となる。例えば消去するエッジを構成する２つのノードの中点を新しい座標とすると、メッシュの削減が進むに連れて元の形状から大きく異なるところに新しい座標が設定される。その結果、元の形状が失われてしまう。そこでメッシュリダクション部１３０は、元の形状をできるだけ保つために、最初の形状を記憶しながら最適な座標を計算する。以下、初期状態の３次元メッシュモデル１１１に含まれるメッシュを、オリジナルのメッシュと呼ぶ。
【００６３】
最初の形状を記憶しながら最適な座標を計算する手法としては、各ノードにおける、該当ノードにマージされたノードを含む面との距離の自乗和（ＱＥＭ）を最小化する手法を用いることができる。ＱＥＭの計算方法は以下の通りである。
【００６４】
あるメッシュを含む平面をａｘ＋ｂｙ＋ｃｚ＋ｄ＝０とする。ａ，ｂ，ｃは、実数であり、ａ2＋ｂ2＋ｃ2＝１とする。この場合、ある座標（ｘ，ｙ，ｚ）と平面との距離は、｜ａｘ＋ｂｙ＋ｃｚ＋ｄ｜となる。
【００６５】
よって、ノードｖのＱＥＭはｖ＝［ｖx  ｖy  ｖz  １］T、ｐ＝［ａ  ｂ  ｃ  ｄ］Tとしたとき、下記のように表せる。
【００６６】
【数１】
0006748368.tif 000002
【００６７】
ｗfはメッシュｆの面積などによる、そのメッシュに対する重み付けである。Ｋfは以下のような行列である。
【００６８】
【数２】
0006748368.tif 000003
【００６９】
メッシュ削減前から存在するノードｖのＱＥＭは、そのノードｖを保持するメッシュを含む平面と、そのノードｖとの距離の自乗和である。そのためメッシュ削減前から存在するノードｖのＱＥＭは、すべて０となる。エッジを消去することで生成されるノードのＱＥＭは、消去するエッジ両端の２つのノードおよびそのノードにマージされたノードのいずれかを保持するオリジナルのメッシュを含む平面に対するＱＥＭの和となる。
【００７０】
図９は、ノードのＱＥＭの値と平面との関係を示す図である。図９には、消去するエッジ両端の２つのノードおよびそのノードにマージされたノードのいずれかを保持するオリジナルのメッシュを含む複数の平面４３が示されている。そしてエッジを消去することで新たに生成するノードの座標の２つの候補が、点で示されている。複数の平面４３から離れた位置の点はＱＥＭが大きく、複数の平面４３の近くの点はＱＥＭが小さくなる。
【００７１】
そこで、メッシュリダクション部１３０は、生成されたノードの座標を、このＱＥＭを最小にする座標とする。つまり、消去するエッジ両端の２つのノードおよびそのノードにマージされたノードのいずれかを保有するメッシュとの距離を最小にする座標が、新しいノードの座標となる。
【００７２】
ＱＥＭを最小とする座標は、Ｋｖ＝０を満たすｖを求めることで算出できる。式で表すと、以下の通りである。
【００７３】
【数３】
0006748368.tif 000004
【００７４】
新しいノードを生成するごとにこのような計算を繰り返すことで、生成されたノードに関わるオリジナルのメッシュのすべてとの距離を最小となる座標にそのノードが配置され、形状を精度よく保つことができる。各メッシュとの距離の自乗和は上記式（１）の通り４×４で表される係数Ｋ（式（１）のΣＫf）のみ記憶することで計算可能となる。そのため、非常に少ない情報量の保持と簡素な計算でメッシュリダクションを実行できる。
【００７５】
このようにＱＥＭを用いて新たに生成するノードの座標を計算することで、「元の形状はできるだけ保持する」という第１の要件を満たすことができる。なお第１の要件を満たすだけでよければ、新たに生成するノードのＱＥＭが小さいエッジから順に消去することになる。この場合、冠動脈のような細長い形状の場合は細長いメッシュとなりやすい。すなわち、「三角形のメッシュはできる限り正三角形に近い形状で構築する。」という第２の要件を満たせなくなってしまう。また、新たに生成されるノードのＱＥＭ値の小さいエッジのみを消去すると、曲率に従ってメッシュのサイズにばらつきができてしまう。その結果、「血管の太さに合わせてメッシュの大きさを適切に設定する。」という第３の要件を満たすことができなくなる。
【００７６】
そこでメッシュリダクション部１３０は、各エッジについて、長さが短いほど低い値となる評価値を付与し、評価値が低い順にエッジを消去することで、エッジ消去後の三角形のメッシュが極端に細長くなることを抑止する。さらに、メッシュリダクション部１３０は、評価値の算出の際、エッジの長さに、エッジが属する血管の太さに応じた重みを掛けることで、メッシュの大きさを、血管の太さに合わせた適切なサイズにする。
【００７７】
第１〜第３の要件を満たすため、メッシュリダクション部１３０は、リダクションを行うための準備として、すべてのノードにＱＥＭの係数Ｋを格納する４×４の行列と、ｄｏｕｂｌｅ型の重みｎｏｄｅ＿ｗｅｉｇｈｔとを格納する領域をもたせる。そしてメッシュリダクション部１３０は、係数Ｋと重みｎｏｄｅ＿ｗｅｉｇｈｔとの初期値を求める。ノードの重みｎｏｄｅ＿ｗｅｉｇｈｔは、例えば血管の太さや、その結果の種別などによって決定される。第２の実施の形態では、大動脈を冠動脈の３倍の大きさのメッシュで構成するものとする。この場合、メッシュリダクション部１３０は、冠動脈に所属するメッシュの重みｗfを３．０とし、大動脈に属するメッシュの重みｗfを１．０とする。そしてメッシュリダクション部１３０は、ノードの重みｎｏｄｅ＿ｗｅｉｇｈｔとして、そのノードを共有するすべてのメッシュのｗfの平均値を格納する。
【００７８】
メッシュリダクション部１３０は、ノードの重みｎｏｄｅ＿ｗｅｉｇｈｔを用いて、消去するエッジの順番を決定するための評価値を計算する。例えばメッシュリダクション部１３０は、エッジの両端のノードの重みｎｏｄｅ＿ｗｅｉｇｈｔの平均を、そのエッジの長さ（ｅｄｇｅ＿ｌｅｎｇｔｈ）に乗算した値（ｅｄｇｅ＿ｌｅｎｇｔｈ×ｗｅｉｇｈｔ）を、そのエッジの評価値とする。
【００７９】
図１０は、血管の太さに応じた重み付けの一例を示す図である。大動脈基部３１の形状を表すノードの重みは１．０であり、冠動脈３２の形状を表すノードの重みは３．０である。この場合、大動脈基部３１のエッジの長さがＬ１（Ｌ１は正の実数）の場合、そのエッジの評価値は「Ｌ１×１．０」となる。また冠動脈３２のエッジの長さがＬ２（Ｌ２は正の実数）の場合、そのエッジの評価値は「Ｌ２×３．０」となる。
【００８０】
大動脈基部３１のエッジと冠動脈３２のエッジとが同じ長さであれば、冠動脈３２のエッジの方が評価値が高くなる。この場合、評価値の低いエッジを優先的に消去していくことで、大動脈のエッジを優先的に消去していくことができる。
【００８１】
メッシュリダクション部１３０は、評価値が低いエッジを効率的に選択するために、キューを用いる。
図１１は、エッジ削減用のキューの一例を示す図である。エッジ削減用のキュー５１には、評価値とエッジの識別子（ｅｄｇｅＩＤ）とを含む消去候補エッジ情報５２が登録されている。キュー５１内の消去候補エッジ情報５２は、評価値によって昇順にソートされている。
【００８２】
メッシュリダクション部１３０は、キュー５１に新たな消去候補エッジ情報５３を追加するとき、既に登録されている消去候補エッジ情報５２の評価値と、追加する消去候補エッジ情報５３の評価値とを比較する。そして、メッシュリダクション部１３０は、追加する消去候補エッジ情報５３よりも評価値が小さい消去候補エッジ情報５２と、追加する消去候補エッジ情報５３よりも評価値が大きい消去候補エッジ情報５２との間に、消去候補エッジ情報５３を追加する。またメッシュリダクション部１３０は、キュー５１から１つの消去候補エッジ情報を取り出すとき、キュー５１内の先頭（評価値の値が小さい方）の消去候補エッジ情報５４を取り出す。
【００８３】
このようにキュー５１を用いることで、評価値の値が小さいエッジから優先的に取り出すことができる。メッシュリダクション部１３０は、取り出したエッジを消去しても、消去後に生成するノードのＱＥＭが閾値以内であれば、取り出したエッジを消去する。
【００８４】
これにより、短いエッジから順に消去され、「三角形のメッシュはできる限り正三角形に近い形状で構築する。」という第２の要件を満たすことができる。すなわち、エッジを消去することでメッシュ数を削減すると、周囲のエッジの長さが長くなる。短いエッジを残したまま長いエッジを消去してしまうと、エッジ消去後の周囲のメッシュは、細長くなってしまう。それに対して、短いエッジを優先的に消去すれば、エッジ消去後の周囲のメッシュが正三角形に近くなることが期待できる。
【００８５】
しかもエッジの評価値の計算に用いられる重みは、そのエッジを含むメッシュが属する血管の太さによって決められている。すなわち血管が細いほど、重みが大きくなる。重みの値が大きいほど、その重みを利用して計算されるエッジの評価値の値も大きくなる。エッジの評価値の値が大きければ、そのエッジが消去候補として取り出される順番が後になり、消去される可能性が低くなる。これにより、「血管の太さに合わせてメッシュの大きさを適切に設定する。」という第３の要件を満たすことができる。
【００８６】
なお、エッジの削減は、まず削減したいエッジとそれに隣接するすべてのエッジを一旦消去し、新しく一つのノードとそれに繋がるエッジを生成することで行われる。そのためキュー５１には既に存在しないエッジの消去候補エッジ情報が残っている可能性がある。既に消去されたエッジの削減処理は行えないため、メッシュリダクション部１３０は、キュー５１から消去候補エッジ情報を取り出した際に、対応するエッジが消去できるかどうかを判断する。メッシュリダクション部１３０は、キュー５１から取り出した消去候補エッジ情報に対応するエッジが消去できない場合は、また新しい消去候補エッジ情報をキュー５１から取り出す。
【００８７】
また、ＱＥＭ値が大きいほど元の冠動脈モデルの形状との乖離が大きくなるため、メッシュリダクション部１３０は、閾値によってエッジを消去するか判定する。例えばメッシュリダクション部１３０は、エッジを一つ消去し、新しく生成したノードのノード情報にＱＥＭの係数Ｋと重みｎｏｄｅ＿ｗｅｉｇｈｔとを格納する。係数Ｋと重みｎｏｄｅ＿ｗｅｉｇｈｔは、消去された２つのノードが持つそれぞれの値の重み付きの平均である。続けてメッシュリダクション部１３０は、新しくできたノードをつなぐ複数のエッジを生成しキューに格納する。キューに格納する際の評価値はエッジが保有する２つのノードのｎｏｄｅ＿ｗｅｉｇｈｔの重み付き平均をエッジの長さに掛けたものである。
【００８８】
次に、メッシュリダクション処理の手順について詳細に説明する。
図１２は、メッシュリダクション処理の手順の一例を示すフローチャートである。以下、図１２に示す処理をステップ番号に沿って説明する。
【００８９】
［ステップＳ１０１］メッシュリダクション部１３０は、すべてのノードのＱＥＭの係数Ｋ（式（１）のΣＫf）を計算する。メッシュリダクション部１３０は、ノードの係数Ｋの値を計算すると、計算結果をそのノードの頂点情報１１１ａ（図７参照）に設定する。
【００９０】
［ステップＳ１０２］メッシュリダクション部１３０は、すべてのエッジの評価値を計算する。例えばメッシュリダクション部１３０は、エッジの長さにエッジが保有する２つのノードの重みｎｏｄｅ＿ｗｅｉｇｈｔの平均を乗算した値を、そのエッジの評価値とする。
【００９１】
［ステップＳ１０３］メッシュリダクション部１３０は、評価値が、評価値の閾値以下のエッジに対応する消去候補エッジ情報をキューに登録する。消去候補エッジ情報には、対応するエッジの評価値とそのエッジの識別子（ｅｄｇｅＩＤ）とが含まれる。メッシュリダクション部１３０は、各消去候補エッジ情報を、評価値が低い順にキューに登録する。
【００９２】
［ステップＳ１０４］メッシュリダクション部１３０は、キューの先頭から順に消去候補エッジ情報を１つずつ取り出し、ステップＳ１０５〜Ｓ１１０のエッジ削減処理を実行する。ステップＳ１０５〜Ｓ１１０では、消去候補エッジ情報に示されるエッジが削減可能なエッジかの判定と、消去可能なときの消去処理とが行われる。
【００９３】
［ステップＳ１０５］メッシュリダクション部１３０は、取り出し消去候補エッジ情報に対応するエッジを消去候補とし、そのエッジを消去した後に生成するノードのＱＥＭを計算する。
【００９４】
［ステップＳ１０６］メッシュリダクション部１３０は、消去候補のエッジを消去可能か否かを判断する。例えば消去候補のエッジの周囲のエッジが消去された際に、消去候補のエッジも合わせて消去されていることがある。このような場合、消去候補のエッジは既に消去されており、今回の処理で消去することはできない。メッシュリダクション部１３０は、消去候補のエッジを消去可能であれば、処理をステップＳ１０７に進める。またメッシュリダクション部１３０は、消去候補のエッジを消去できなければ、処理をステップＳ１１１に進める。
【００９５】
［ステップＳ１０７］メッシュリダクション部１３０は、消去候補のエッジを消去した場合に生成されるノードのＱＥＭに重みを乗算した値が、ＱＥＭの閾値（ｍａｘｃｏｓｔ）未満か否かを判断する。例えばメッシュリダクション部１３０は、消去候補のエッジの両端のノードのノード情報から係数Ｋを取得する。次にメッシュリダクション部１３０は、ノードごとの係数Ｋの和を、新たに生成するノードの係数Ｋとする。さらにメッシュリダクション部１３０は、式（３）により、新たなノードのＱＥＭが最小となるノードｖの座標を算出する。メッシュリダクション部１３０は、ＱＥＭが最小となるノードｖの座標を用いて、式（１）により、新たに生成されるノードのＱＥＭを計算する。
【００９６】
そしてメッシュリダクション部１３０は、計算したＱＥＭに重みを乗算して、その結果とＱＥＭの閾値とを比較する。新たに生成するノードの重みは、例えば消去候補のエッジの両端のノードの重みの平均である。
【００９７】
メッシュリダクション部１３０は、ＱＥＭに重みを乗算した結果がＱＥＭの閾値未満であれば、処理をステップＳ１０８に進める。またメッシュリダクション部１３０は、ＱＥＭに重みを乗算した結果がＱＥＭの閾値以上であれば、処理をステップＳ１１１に進める。
【００９８】
［ステップＳ１０８］メッシュリダクション部１３０は、消去候補のエッジを消去し、新たなノードを生成する。例えばメッシュリダクション部１３０は、消去候補のエッジ、および消去候補のエッジを消去することで消去される他の要素（エッジ、ノード、メッシュ、オブジェクト）を消去する。さらにメッシュリダクション部１３０は、消去候補のエッジの両端のノードをマージした新たなノードをＱＥＭが最小となる位置に生成する。そしてメッシュリダクション部１３０は、新たに生成したノードに接続するエッジの生成、生成したエッジを有するメッシュの生成、生成したメッシュを有するオブジェクトの生成を行う。
【００９９】
［ステップＳ１０９］メッシュリダクション部１３０は、生成したノードの係数Ｋと重み（ｗｅｉｇｈｔ）とを計算する。
［ステップＳ１１０］メッシュリダクション部１３０は、生成したエッジの評価値を計算する。そしてメッシュリダクション部１３０は、計算した評価値が、評価値の閾値以下であれば、そのエッジに対応する消去候補エッジ情報をキューに格納する。
【０１００】
［ステップＳ１１１］メッシュリダクション部１３０は、キュー内に未処理の消去候補エッジがあれば、ステップＳ１０５〜Ｓ１１０の処理を繰り返す。メッシュリダクション部１３０は、キュー内に未処理の消去候補エッジがなければ、メッシュリダクション処理を終了する。
【０１０１】
このようにして、上記の第１〜第３の要件を満たすようなメッシュリダクションが実現される。第１〜第３の要件が満たされることで、メッシュ数を削減しても、元の冠動脈モデルに近い形状を維持できる。
【０１０２】
図１３は、細長い形状のモデルに対するメッシュ数削減の一例を示す図である。図１３には、円筒形の３次元メッシュモデル６１に対するメッシュリダクション処理を、エッジの長さに基づいて実施した例（第２の実施の形態を適用）と、ＱＥＭの値に基づいて実施した例（比較例）とを示している。なおいずれのメッシュリダクション処理においても、エッジ消去後のノードの位置は、ＱＥＭが最小となる位置である。
【０１０３】
ＱＥＭの値に基づいてエッジを消去する場合、エッジ消去後に生成するノードのＱＥＭが低いエッジから順に消去される。この際、エッジ消去後のメッシュの形状は考慮されない。すると図１３に示すように、エッジの消去を繰り返すことで、細長い三角形のメッシュになってしまう。それに対して、エッジの長さに基づき、短いエッジから消去することで、消去後のメッシュの形状が正三角形に近い形となる。
【０１０４】
メッシュの形状が正三角形から乖離すると、メッシュ数を削減し続けたときに、元の形状を維持するのが困難となる。
図１４は、メッシュ削減時のモデル形状の遷移例を示す図である。図１４には、ドーナツ型の３次元メッシュモデル６２に対するメッシュリダクション処理を、エッジの長さに基づいて実施した例（第２の実施の形態を適用）と、ＱＥＭの値に基づいて実施した例（比較例）とを示している。なおいずれのメッシュリダクション処理においても、エッジ消去後のノードの位置は、ＱＥＭが最小となる位置である。
【０１０５】
オリジナルの３次元メッシュモデル６２のノード数は４０３２である。この３次元メッシュモデル６２に対するメッシュリダクション処理を行うことでノード数が徐々に減少すると共に、モデルの形状が変化する。エッジ消去後に生成するノードのＱＥＭの値が小さいエッジから順に消去した場合（図１４中の右側）、ノード数の減少に伴ってドーナツ型が維持できなくなっている。それに対して、長さが短いエッジから消去した場合（図１４中の左側）、ノード数が少なくなってもドーナツ型が維持されている。
【０１０６】
第２の実施の形態では、メッシュリダクションにより、細い部分のメッシュサイズが大きくなりすぎないように、血管の太さに応じた重み付けを行っている。その結果、太い部分と細い部分とが混在する３次元メッシュモデルについても、元の形状を大きく崩さずに、メッシュ数を削減することができる。
【０１０７】
図１５は、太さの異なる部分を有する３次元メッシュモデルに対するメッシュリダクションの例を示す図である。図１５には、オリジナル（メッシュ数削減前）の冠動脈モデル６３とメッシュ数削減後の冠動脈モデル６４とが示されている。冠動脈モデル６３には、太い大動脈基部と細い冠動脈が含まれている。メッシュ数削減後は、大動脈と冠動脈で異なるメッシュサイズとなっており、その境界付近も急激なメッシュサイズの変化による細く尖ったメッシュはなく良好な変化となっている。
【０１０８】
以上のように、第２の実施の形態によれば、短いエッジから順に消去していき、エッジを消去することにより新たに生成するノードをＱＥＭが最小となる位置に生成することで、元の形状を保ちながら、メッシュの形状をできるだけ正三角形に近づけることができる。これにより、特に血管のように細長い形状の３次元メッシュモデルについて、メッシュ数を大幅に削減しても、元の形状に近い形状を保つことが可能となる。
【０１０９】
しかも、血管の太さに応じた重みを設定したことにより、太い血管を表すメッシュ数を大幅に削減し、細い血管については細かなメッシュにより正しい形状を維持させることができる。
【０１１０】
このようにしてメッシュ数を削減した３次元メッシュモデルを用いて心臓シミュレーションを実行すれば、メッシュ数が削減されたことで、効率的なシミュレーションが可能である。しかも、元の形状からの乖離が少ないことで、シミュレーションを精度よく行うことができる。さらに、メッシュ形状が正三角形に近いため、シミュレーション過程で冠動脈モデルを変形させても不自然な形状にならずにすみ、シミュレーションの精度を向上させることができる。
【０１１１】
〔その他の実施の形態〕
第２の実施の形態では、評価値の計算にエッジの長さを用いているが、他の指標に基づいて評価値を計算してもよい。例えば、メッシュのアスペクト比を用いて評価値を計算することもできる。アスペクト比は、例えばメッシュを表す三角形の内接円と外接円との半径の比である。メッシュの内接円の半径を、そのメッシュの外接円の半径で除算した結果に、所定の定数を乗算した結果をアスペクト比としてもよい。乗算する定数は、例えばメッシュが正三角形のときにアスペクト比が１になるように決定される。
【０１１２】
評価値の計算にアスペクト比を用いた場合、メッシュリダクション部１３０は、アスペクト比が高いメッシュから順に選択し、そのメッシュに含まれる最も短いエッジを消去する。
【０１１３】
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
【符号の説明】
【０１１４】
１，１ａ，１ｂ  ３次元メッシュモデル
２  第１エッジ
３  第１ノード
４  第１面
５  第２ノード
６  第２面
７  第２エッジ
１０  モデリング装置
１１  記憶部
１２  処理部
【図１】
0006748368.tif 000005
【図２】
0006748368.tif 000006
【図３】
0006748368.tif 000007
【図４】
0006748368.tif 000008
【図５】
0006748368.tif 000009
【図６】
0006748368.tif 000010
【図７】
0006748368.tif 000011
【図８】
0006748368.tif 000012
【図９】
0006748368.tif 000013
【図１０】
0006748368.tif 000014
【図１１】
0006748368.tif 000015
【図１２】
0006748368.tif 000016
【図１３】
0006748368.tif 000017
【図１４】
0006748368.tif 000018
【図１５】
0006748368.tif 000019