(57)【要約】【課題】空間グラフで近似された入力３次元形状の位相的整合性を効率的に修正することを可能とすること。【解決手段】本発明の構造メッシュ生成システムは、形状データ格納装置１０から形状データを読み込んで位相的整合性を判断し、位相的整合性を解消させるためのデータを出力させる位相判断装置３２と、位相判断装置３２により出力されたデータを読み込んで、整数計画問題ソルバーの制約条件を変更させて形状修正処理を実行して、修正形状データを出力させる分解可能形状生成装置３４と、修正形状データを読み込んで構造メッシュを生成させる構造メッシュ生成装置３６とを含む。【選択図】  図１６
2005018591.tif 000002
【特許請求の範囲】
【請求項１】
入力された形状の空間グラフを与える形状データの位相的整合性を判断するための装置であって、該装置は、
形状データを格納するための形状データ格納装置と、
形状データ格納装置から形状データを読み出して、形状要素の交差箇所を計算し、算出された交差箇所のペアを生成して原因交差リストを作成し、メモリに格納させる手段と、
前記原因交差リストから交差ペアを選択し、選択された交差ペアの間の形状要素の位相的整合性を判断する手段と、
前記位相的整合性の判断に応答して、前記選択された交差ペアを原因交差ペアとして登録する手段と、
前記登録に応答して前記原因交差ペアを前記原因交差リスト中において識別させる手段とを含む、位相判断装置。
【請求項２】
前記位相的整合性を判断する手段は、前記選択された交差ペアの間を連結する形状要素に存在する交差の数をリストする手段を含む、請求項１に記載の位相判断装置。
【請求項３】
前記原因交差リスト中において識別させるための手段は、前記原因交差ペア以外の交差ペアを前記原因交差リストから削除するか、または前記原因交差ペアであることを示す識別子を挿入する手段を含む請求項１に記載の位相判断装置。
【請求項４】
前記位相的整合性を判断する手段は、前記交差の数、の偶奇を使用して前記選択された交差ペアを原因交差ペアとして決定する手段を含む、請求項１に記載の位相判断装置。
【請求項５】
入力された形状の空間グラフを与える形状データの位相的整合性を判断して、形状データを分解可能に修正する分解可能形状生成装置であって、該装置は、
請求項１〜４のいずれか１項に記載の位相判断装置と、
整数計画問題のための制約条件および目的関数とを格納する記憶装置と、
前記位相判断装置により与えられる原因交差リストを参照して原因交差ペアを読み出す手段と、
形状データ格納装置から形状データを読み出し、前記原因交差ペアを与える形状要素を指定する手段と、
前記原因交差ペアの交差を解消するための制約条件を前記記憶装置から読み出して、整数計画問題を数値計算して形状データを修正させる形状修正手段と、
前記数値計算の結果得られた修正形状データで、前記原因交差ペアを含む形状データを更新して格納させる手段とを含む、分解可能形状生成装置。
【請求項６】
前記形状修正手段は、前記原因交差リストにおける未処理原因交差ペアを判断する手段と、前記判断に応答して未処理の原因交差ペアがなくなるまで更新された形状データを読み出す手段とを含む、請求項５に記載の分解可能形状生成装置。
【請求項７】
前記形状要素は、面分および稜線のいずれかまたは両方である、請求項５に記載の分解可能形状生成装置。
【請求項８】
前記形状修正手段は、指定された前記原因交差ペアを構成する形状要素の位置を修正させる制約条件を、前記記憶装置から読み出す、請求項５に記載の分解可能形状生成装置。
【請求項９】
請求項５〜８のいずれか１項に記載の分解可能形状生成装置と、
前記分解可能形状生成装置により与えられた原因交差ペアを含まない形状データを形状データ格納装置から読み出して、２次元形状または多面体を使用した構造メッシュ・データを生成する手段と生成された構造メッシュ・データを記憶装置に格納させる手段とを含む構造メッシュ生成装置。
【請求項１０】
前記構造メッシュ・データを生成する手段は、形状データの外縁から内側に向かってメッシュ・データを生成する手段を含む、請求項９に記載の構造メッシュ生成装置。
【請求項１１】
コンピュータ装置をして、入力された形状の空間グラフを与える形状データの位相的整合性を判断させる位相判断装置として機能させるための方法であって、該方法は、前記コンピュータに対して、
形状データ格納装置から形状データを読み出すステップと、
前記読み出された形状データの形状要素における交差箇所を計算し、算出された交差箇所のペアを生成して原因交差リストを作成し、メモリに格納させるステップと、
前記原因交差リストから交差ペアを選択し、選択された交差ペアの間の形状要素の位相的整合性を判断させるステップと、
前記位相的整合性の判断に応答して、前記選択された交差ペアを原因交差ペアとして登録させるステップと、
前記登録に応答して前記原因交差ペアを前記原因交差リスト中において識別させるステップとを実行させる、方法。
【請求項１２】
前記位相的整合性を判断するステップは、前記選択された交差ペアの間を連結する形状要素に存在する交差の数をリストして、メモリに格納させるステップを含む、請求項１１に記載の方法。
【請求項１３】
前記原因交差ペアを前記原因交差リスト中において識別させるための手段は、前記原因交差ペア以外の交差ペアを前記原因交差リストから削除するステップか、または前記原因交差ペアであることを示す識別子を挿入するステップのいずれかを実行させる請求項１１に記載の方法。
【請求項１４】
前記位相的整合性を判断するステップは、前記交差の数の偶奇を使用して、前記選択された交差ペアを原因交差ペアとして決定するステップを含む、請求項１１に記載の方法。
【請求項１５】
コンピュータ装置をして、入力された形状の空間グラフを与える形状データの位相的整合性を判断して分解可能形状を生成させるための方法であって、該方法は、前記コンピュータに対して、
請求項１１〜１４のいずれか１項に記載の方法により生成された原因交差リストを読み込ませ、原因交差ペアを決定するステップと、
前記交差リストに含まれる原因交差ペアを解消させる整数計画問題のための制約条件および目的関数とを記憶装置から読み出させるステップと、
形状データ格納装置から形状データを読み出し、前記原因交差ペアを与える形状要素を指定させるステップと、
前記制約条件および目的関数を使用して、整数計画問題を数値計算して形状データを修正させる形状修正させるステップと、
前記数値計算の結果得られた修正形状データで、前記原因交差ペアを含む形状データを更新して格納させるステップとを実行させる方法。
【請求項１６】
前記形状修正ステップは、前記原因交差リストにおける未処理原因交差ペアを判断するステップと、前記判断に応答して未処理の原因交差ペアがなくなるまで更新された形状データを読み出させるステップとを含む、請求項１５に記載の方法。
【請求項１７】
前記形状修正ステップは、指定された前記原因交差ペアを構成する形状要素の位置を修正させる制約条件を、前記記憶装置から読み出す、請求項１５に記載の方法。
【請求項１８】
コンピュータ装置をして、入力された形状の空間グラフを与える形状データの位相的整合性を判断して構造メッシュ・データを生成させるための方法であって、該方法は、前記コンピュータに対して、
請求項１５〜１７のいずれか１項に記載の方法により与えられた原因交差ペアを含まない形状データを形状データ格納装置から読み込ませるステップと、
前記読み込まれた形状データの外縁から内側に向かって２次元形状または多面体を使用して構造メッシュ・データを生成させるステップと、生成された構造メッシュ・データを記憶装置に格納させるステップとを実行させる、方法。
【請求項１９】
請求項１１〜１４のいずれか１項に記載の方法をコンピュータ装置に対して実行させる、コンピュータ実行可能なプログラム。
【請求項２０】
請求項１５〜１７のいずれか１項に記載の方法をコンピュータ装置に対して実行させる、コンピュータ実行可能なプログラム。
【請求項２１】
請求項１８に記載の方法をコンピュータ装置に対して実行させる、コンピュータ実行可能なプログラム。
【請求項２２】
入力された形状の空間グラフを与える形状データの位相的整合性を判断して、構造メッシュを生成する、構造メッシュ生成システムであって、該システムは、
形状データ格納装置から形状データを読み込んで位相的整合性を判断し、位相的整合性を解消させるためのデータを出力させる位相判断装置と、
前記位相判断装置により出力されたデータを読み込んで、整数計画問題ソルバーの制約条件を変更させて形状修正処理を実行して、修正形状データを出力させる分解可能形状生成装置と、
前記修正形状データを読み込んで構造メッシュを生成させる構造メッシュ生成装置とを含む構造メッシュ生成システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータ装置による形状生成および形状認識に関し、より詳細には、空間グラフで近似された入力３次元形状の位相的整合性を効率的に修正することを可能とする位相判断装置、分解可能形状生成装置、構造メッシュ生成装置、位相判断方法、分解可能形状生成方法、および該位相判断方法を実行させるためのコンピュータ実行可能なプログラム、分解可能形状生成方法を実行させるためのコンピュータ実行可能なプログラム並びに構造メッシュ生成システムに関する。
【０００２】
【従来の技術】
所与の２次元または３次元形状に対してメッシュを生成する手法として、認識モデルと呼ぶ中間形状を生成する手法が知られている。この中間形状を経由したメッシュ作成方法は、有限要素法の解析のためのメッシュ生成、表面レンダリングなどを含む種々の分野において多用されている。３次元形状について言えば、認識モデルは、座標平面に平行な面のみにより構成され、入力３次元モデルを模倣するように、頂点が整数座標値を持つ立体が複数積み上げられた立体として定義することができる。一旦この認識モデルを生成できれば、認識モデルを整数空間で単位多面体に分解することにより、例えば６面体の単位要素が生成できる。これらの６面体の単位要素を入力モデルの内部に割り当てることにより、６面体メッシュを生成することができる。図１７には、所定の入力３次元形状（ａ）から従来の方法により生成された認識モデル（ｂ）および構造メッシュ（ｃ）を示す。
【０００３】
図１７に示した構造メッシュを与える従来の方法［１］、［２］は、入力形状の模倣度合いを目的関数として使用し、交差しない条件を制約条件として、整数計画問題を、整数計画問題ソルバーを使用して解くことにより算出させる。従来の方法では、制約条件は、反復計算の中で違反箇所（交差している箇所）を見い出し、その違反を解消する制約条件を逐次追加するという方法により動的に変更されてゆく。この処理を繰り返し、制約条件に対する違反がすべて解消された場合に、反復計算を終了させ、違反のない認識モデルが生成される。この場合、交差のない認識モデルは、必ず分解可能形状となる。したがって、従来手法で生成された認識モデルに対しては、必ずメッシュを生成することができる。
【０００４】
本発明においては、より詳細には後述する定義で与えられるが、概ね正方形または長方形（３次元の場合は立方体または直方体）を複数個接続（形状接合操作）して生成される形状を、分解可能形状として参照する。分解不可能形状は、稜線または面の交差を有することが必要条件ではあるが、交差を有することが分解不可能形状であることに対する十分条件ではない。この点に鑑みれば、下記従来の方法［１］、［２］は、認識モデルが分解可能形状である場合にも、交差を排除する制約を与えるので、必要以上に生成されるメッシュが歪むことが問題となる場合もある。また、すべての計算において上述した厳格な制約条件を適用するので、適切で、許容可能な認識モデルを出力するに必要な計算処理により生成される出力結果に対する予測性を低下させるという不都合を与える場合があった。
【０００５】
すなわち、交差が存在することのみで認識モデルを分解不可能形状であると判断することは、常に分解可能な認識モデルの生成のためは、厳しすぎる条件といえる。すなわち、交差が存在したとしても許容される形状が実際の多次元形状には存在するものといえる。上述した方法とは別に、下記文献［３］、［４］の従来法も、入力３次元形状の認識モデルを経由した構造メッシュの生成手法を開示している。しかしながら、下記文献［３］、［４］の従来法は、分解可能な認識モデルの生成の確実な生成という点では、未だ充分なものということができなかった。
【０００６】
＜先行技術文献の表示＞
［１］  山田、吉澤、井上、土井、特願２００２−１７８０６８号明細書
［２］  山田、吉澤、井上、土井、６面体メッシュ生成のための自己干渉のない認識モデル構築手法、日本応用数理学会２００２年度年会講演予稿集、２００２，  Ｓｅｐ．
［３］  高橋宏明ほか、形状認識を用いた三次元自動要素分解システムの開発、日本機械学会論文集（Ａ編），  ５９（５６９），  ｐｐ．  ２７９−２８５，  １９９３．
［４］  Ｒｅｚａ  Ｔａｇｈａｖｉ，  Ａｕｔｏｍａｔｉｃ  Ｂｌｏｃｋ  Ｄｅｃｏｍｐｏｓｉｔｉｏｎ  Ｕｓｉｎｇ  Ｆｕｚｚｙ  Ｌｏｇｉｃ  Ａｎａｌｙｓｉｓ，  ９ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｍｅｓｈｉｎｇ  Ｒｏｕｎｄｔａｂｌｅ，  ｐｐ．  １８７−１９２，  ２０００．
【発明が解決しようとする課題】
以下に、従来の認識モデル生成手法において生じる具体的な問題点を、２次元形状を使用して図面を参照しつつ説明する。
【０００７】
図１８は、分解可能形状の定義を補足説明する図である。図１８（ａ）に示すように、ｉ，  ｊ座標軸と平行な４稜線から構成される長方形形状を複数個用意する。まずその中の２つの長方形形状を１稜線で接合させ、生成された形状にさらに別の長方形形状を１稜線で接合させるという操作を繰り返す。この操作により、順次（ｂ）、（ｃ）、（ｄ）の順で、ｉ，  ｊ座標軸と平行な稜線のみから構成され、かつ１つの閉ループで構成される形状が生成される。この一連の操作を、本発明においては、「形状接合操作」として参照する。この形状接合操作により生成される形状を、本発明においては「分解可能形状」として参照する。なお、この閉ループに対して向きを与えたとき、その向きに沿う進行方向の左側を、ループの内部とする。図１８（ｅ）には、本発明において上述した進行方向における内側の領域を、符号「Ｘ」を付して示している。
図１８に示す例では、形状接合操作が４回繰り返して実行され、最終的には分解可能形状（ｄ）が生成されている。
【０００８】
ここで、構成要素となる長方形形状のいずれかに含まれる点は、この２次元形状の内部に存在する。図１８に示した形状は、重なり領域Ｈｄを有しており、複数の長方形形状に同時に含まれる内部点も存在する。このような形状は多くの形状において見出され、特に特殊な形状というものではない。また、図１８に示すような重なり領域の隅には、稜線の交差が存在する。ここで、ループを構成する各稜線には、ループに指定された向きと同じ向きを与える。この稜線の向きは、１）  ｉが増加する向き、２）  ｉが減少する向き、３）  ｊが増加する向き、４）  ｊが減少する向きの４種類に分類でき、それぞれをラベル＋Ｉ，  −Ｉ，  ＋Ｊ，  −Ｊとして識別する。
【０００９】
ここで、分解可能形状に対して、いずれの稜線もラベルが変化しない（例えば＋Ｉ稜線が−Ｉ稜線に変化しない）範囲で、１つの稜線を法線方向へ移動させる操作を繰り返すことで、異なる幾何を持つ２次元形状が生成される。この状況を図１９に示す。図１９では、図１９（ａ）は、分解可能形状であり、また図１９（ｂ）が分解不可能形状である。図１９に示す一連の操作が「形状修正操作」として参照される操作の幾何学的な意味づけを示している。本発明においては図１９に示した特定の実施の形態で説明される一連の操作を「形状変形操作」として参照する。この形状修正操作は、所定の目的関数および制約条件の下で整数計画問題を解いてゆく処理において行われる処理を図的に例示している。この形状修正操作により生成された形状は、図１９（ａ）に示されるもとの形状と比べて、稜線数は同じで、各稜線のラベルも同じであるが、図１９（ｂ）に示すように、頂点座標値が異なっている。具体的な不都合は、この形状修正操作で生成される形状の中に、形状接合操作では生成されることのない形状も与えられてしまうことにある。本発明においては、この形状を「分解不可能形状」として参照する。
【００１０】
図１９を使用してさらに説明すると、分解可能な図１９（ａ）に示した形状で、ループの内側に向いた位置に存在するものとして認識された点は、ループに沿って処理を移動させたにしても、常に内側にある。ところが、形状修正操作により与えられる図１９（ｂ）に示した分解不可能形状は、矢線Ｉおよび矢線Ｅで示されるように、進行方向に対して内側を示していた矢線Ｉの方向が、同じ向きに稜線をたどって最も下側のループにまで達すると、図１９に示す破線のように、外側を示し（Ｉ→Ｅ）、反転が生じることがわかる。これは、矢線Ｅについても同様に、破線で示すように反転（Ｅ→Ｉ）してしまうことが示される。すなわち、図１９（ｂ）に示した形状は、同一の向きに定めたベクトルにより指定される内側・外側の指標が反転するループを含んでいる。このため、図１８に示す形状接合操作をどのように繰り返しても、構築することができない形状であり、構造メッシュを自動的に生成させる処理のためには、位相的に矛盾を含む形状であるといえる。
【００１１】
これまで２次元形状を使用して説明してきたが、３次元形状の場合も同様のことが言え、直方体を複数接合させる操作を「形状接合操作」と呼び、ここで生成れる３次元形状（分解可能形状）の構成面を法線方向に移動させる一連の操作を「形状修正操作」と呼ぶと、形状修正操作で生成される３次元形状の中には、形状接合操作により新規に生成不可能な形状（分解不可能形状）が存在することになる。
【００１２】
したがってこれまで、確実に認識モデルを生成させつつ、交差の不適切な除去を行うことなく効率よく認識モデルおよび構造メッシュを作成することを可能とすることが必要とされていた。また、分解可能形状に対して、具体的には２次元形状では、稜線であり、３次元の場合には面、または稜線と面として定義される形状要素を、法線方向に移動させる操作（形状修正操作）を行うことにより生成される長方形へ分解不可能な形状（分解不可能形状）を検出することが必要とされていた。さらには、その形状修正操作により得られた形状の中で分解不可能としている箇所を特定することで、効率よく構造メッシュを生成させることが必要とされていた。また、修正に際して、空間グラフ全体を修正するものではなく、分解不可能としている箇所に局在化させたデータに対して形状修正操作を適用することで形状修正を実行させ、分解可能形状を効率的に生成させることが必要とされていた。
【００１３】
さらには、認識モデルの幾何学的形状を分解可能形状に修正するために必要な形状修正操作を適用した後、矛盾のない構造メッシュを生成可能な認識モデルを決定し、その認識モデルに対して構造メッシュを生成することが必要とされていた。
【００１４】
【課題を解決するための手段】
形状修正操作により生成された形状には、複数個の交差が含まれる。その中の幾つかの交差が原因で形状が分解不可能となる。逆に言えば、それ以外の交差は分解可能性に対して影響しない交差である。よってすべての交差の集合の中から、問題の原因となり得ない交差をペアとして順次集合から削除していき、集合に残った交差ペアを、分解不可能の原因となっている交差ペアであると特定する。
【００１５】
この方法により特定された交差を回避するように形状修正操作を適用して形状を修正し、もとの形状に最も近い分解可能形状を求める。これは、特定された交差ペアを解消させるための制約条件を動的に取り込ませ、もとの形状への近さを目的関数とする整数計画問題を解くことにより行う。
【００１６】
メッシュ生成で用いる認識モデルは分解可能形状である必要がある。よって上記の手段により分解可能な認識モデルを求めた後、その認識モデルに対してメッシュ要素に分解し、メッシュを生成する。
【００１７】
より具体的には、本発明においては、本発明の第１の構成では、位相的整合性の欠陥を含む形状を入力とし、「分解不可能箇所特定処理」を実行させて、原因交差箇所のデータを出力する位相判断装置を提供する。この位相判断装置は、さらには、分解不可能の原因となっている交差箇所（以下、本発明においては、「原因交差箇所」として参照する。）を検出して、原因交差箇所を生成させる交差のペアとして識別させる。原因交差ペアのデータを出力データとする。
【００１８】
本発明の第２の構成では、形状修正操作により生成した形状および原因交差ペアのデータを入力データとして使用し、原因交差を選択的に解消させた修正形状データを生成させ、処理前の形状データを、修正形状データで更新させる「分解可能形状生成装置」を提供する。分解可能形状生成装置は、原因交差リストを参照して分解不可能の原因となっている原因交差箇所の約条件を動的に変更する。その後、分解可能形状生成装置は、原因交差箇所が完全に解消されるまで、処理中の原因交差箇所近辺の形状要素を移動させて、分解可能形状に対応する修正形状データを出力する。
【００１９】
本発明の第３の構成では、修正形状データを入力とし、多面体の単位要素により分解された構造メッシュを生成させる「構造メッシュ生成装置」を提供する。本発明の構造メッシュ生成装置は、修正形状データにより与えられる認識モデルに対して単位要素のメッシュを生成し、その構造メッシュ・データを出力させる。
【００２０】
すなわち、本発明によれば、入力された形状の空間グラフを与える形状データの位相的整合性を判断するための装置であって、該装置は、
形状データを格納するための形状データ格納装置と、
形状データ格納装置から形状データを読み出して、形状要素の交差箇所を計算し、算出された交差箇所のペアを生成して原因交差リストを作成し、メモリに格納させる手段と、
前記原因交差リストから交差ペアを選択し、選択された交差ペアの間の形状要素の位相的整合性を判断する手段と、
前記位相的整合性の判断に応答して、前記選択された交差ペアを原因交差ペアとして登録する手段と、
前記登録に応答して前記原因交差ペアを前記原因交差リスト中において識別させる手段とを含む、位相判断装置が提供される。
【００２１】
本発明では、前記位相的整合性を判断する手段は、前記選択された交差ペアの間を連結する形状要素に存在する交差の数をリストする手段を含むことができる。本発明では、前記原因交差リスト中において識別させるための手段は、前記原因交差ペア以外の交差ペアを前記原因交差リストから削除するか、または前記原因交差ペアであることを示す識別子を挿入する手段を含むことができる。本発明では、前記位相的整合性を判断する手段は、前記交差の数の偶奇を使用して、前記選択された交差ペアを原因交差ペアとして決定する手段を含むことができる。
【００２２】
本発明によれば、入力された形状の空間グラフを与える形状データの位相的整合性を判断して、形状データを分解可能に修正する分解可能形状生成装置であって、該装置は、
上記のいずれかに記載の位相判断装置と、
整数計画問題のための制約条件および目的関数とを格納する記憶装置と、
前記位相判断装置により与えられる原因交差リストを参照して原因交差ペアを読み出す手段と、
形状データ格納装置から形状データを読み出し、前記原因交差ペアを与える形状要素を指定する手段と、
前記原因交差ペアの交差を解消するための制約条件を前記記憶装置から読み出して、整数計画問題を数値計算して形状データを修正させる形状修正手段と、
前記数値計算の結果得られた修正形状データで、前記原因交差ペアを含む形状データを更新して格納させる手段とを含む、分解可能形状生成装置が提供できる。
【００２３】
また、本発明によれば、上記のいずれかに記載の分解可能形状生成装置と、
前記分解可能形状生成装置により与えられた原因交差ペアを含まない形状データを形状データ格納装置から読み出して、２次元形状または多面体を使用した構造メッシュ・データを生成する手段と生成された構造メッシュ・データを記憶装置に格納させる手段とを含む構造メッシュ生成装置が提供できる。
【００２４】
本発明によれば、コンピュータ装置をして、入力された形状の空間グラフを与える形状データの位相的整合性を判断させる位相判断装置として機能させるための方法であって、該方法は、前記コンピュータに対して、
形状データ格納装置から形状データを読み出すステップと、
前記読み出された形状データの形状要素における交差箇所を計算し、算出された交差箇所のペアを生成して原因交差リストを作成し、メモリに格納させるステップと、
前記原因交差リストから交差ペアを選択し、選択された交差ペアの間の形状要素の位相的整合性を判断させるステップと、
前記位相的整合性の判断に応答して、前記選択された交差ペアを原因交差ペアとして登録させるステップと、
前記登録に応答して前記原因交差ペアを前記原因交差リスト中において識別させるステップとを実行させる、方法が提供できる。
【００２５】
本発明によれば、前記位相的整合性を判断するステップは、前記選択された交差ペアの間を連結する形状要素に存在する交差の数をリストして、メモリに格納させるステップを含むことができる。本発明によれば、前記原因交差ペアを前記原因交差リスト中において識別させるための手段は、前記原因交差ペア以外の交差ペアを前記原因交差リストから削除するステップか、または前記原因交差ペアであることを示す識別子を挿入するステップのいずれかを実行させることができる。本発明によれば、前記位相的整合性を判断するステップは、前記交差の数の偶奇を使用して、前記選択された交差ペアを原因交差ペアとして決定するステップを含むことができる。
【００２６】
本発明によれば、コンピュータ装置をして、入力された形状の空間グラフを与える形状データの位相的整合性を判断して分解可能形状を生成させるための方法であって、該方法は、前記コンピュータに対して、
上記のいずれかに記載の方法により生成された原因交差リストを読み込ませ、原因交差ペアを決定するステップと、
前記交差リストに含まれる原因交差ペアを解消させる整数計画問題のための制約条件および目的関数とを記憶装置から読み出させるステップと、
形状データ格納装置から形状データを読み出し、前記原因交差ペアを与える形状要素を指定させるステップと、
前記制約条件および目的関数を使用して、整数計画問題を数値計算して形状データを修正させる形状修正させるステップと、
前記数値計算の結果得られた修正形状データで、前記原因交差ペアを含む形状データを更新して格納させるステップとを実行させる方法が提供できる。
【００２７】
本発明によれば、コンピュータ装置をして、入力された形状の空間グラフを与える形状データの位相的整合性を判断して構造メッシュ・データを生成させるための方法であって、該方法は、前記コンピュータに対して、
上記のいずれかに記載の方法により与えられた原因交差を含まない形状データを形状データ格納装置から読み込ませるステップと、
前記読み込まれた形状データの外縁から内側に向かって２次元形状または多面体を使用して構造メッシュ・データを生成させるステップと、
生成された構造メッシュ・データを記憶装置に格納させるステップとを実行させる、方法が提供される。
【００２８】
本発明によれば、上記のいずれかに記載の方法をコンピュータ装置に対して実行させる、コンピュータ実行可能なプログラムが提供できる。
【００２９】
本発明によれば、入力された形状の空間グラフを与える形状データの位相的整合性を判断して、構造メッシュを生成する、構造メッシュ生成システムであって、該システムは、
形状データ格納装置から形状データを読み込んで位相的整合性を判断し、位相的整合性を解消させるためのデータを出力させる位相判断装置と、
前記位相判断装置により出力されたデータを読み込んで、整数計画問題ソルバーの制約条件を変更させて形状修正処理を実行して、修正形状データを出力させる分解可能形状生成装置と、
前記修正形状データを読み込んで構造メッシュを生成させる構造メッシュ生成装置とを含む構造メッシュ生成システムが提供できる。
【００３０】
【発明の実施の形態】
図１は、本発明の位相判断装置において実行される、位相判断方法の概略的な処理を示したフローチャートである。本発明において判断される位相的条件は、「ループを経由して一端から他端にまで進んだ場合に、内側に向いていたと認識されていた方向が、他端に達した時点で外側に向いてしまっていた」という表現で表される、位相的整合性を意味する。図１を使用して本発明の位相判断方法を説明すると、ステップＳ１０において、少なくとも２次元または３次元の空間グラフ形状データをハードディスク、ＥＥＰＲＯＭ、フラッシュ・メモリなどから構成される、形状データ格納装置から取得する。
【００３１】
読み出される形状データは、入力された２次元または３次元形状から頂点座標、頂点間を連結する稜線または稜線および面などにより定義される空間グラフとして近似されるデータであり、頂点データ、稜線データ、ループの向き、面データなどを含み、２次元または３次元形状を再現することができるデータとして構成されている。次いで、ステップステップＳ１２において、分解不可能箇所特定処理を実行させ、原因交差の箇所、具体的には、原因交差の条件を満足する交差ペアを特定する。ステップＳ１２の分解不可能箇所特定処理は、入力データとして２つの交差の識別値と、これらの交差を所定の向きに連結する稜線列または面列とを使用して実行される。
【００３２】
ステップＳ１４では、特定された原因交差ペアのデータを使用して可能な交差ペアのリスト内における原因交差ペアが識別できる形式で原因交差リストを作成して、メモリに格納させる。原因交差リストに含まれたデータは、後述する分解可能形状生成装置において参照され、形状修正箇所および制御条件の読み出しの制御を行うために使用される。
【００３３】
以下、さらに本発明の位相判断方法において、コンピュータ装置が実行するステップＳ１２の分解不可能箇所特定処理について説明する。この処理機能は、複数存在する交差の中から、分解不可能の原因となっている交差を特定し、原因交差を与える原因交差ペアを識別させる処理機能を含む。ここで、説明の便宜上、入力される形状データは、０個以上の任意の交差を含むものとする。この交差は、２次元においては、稜線と稜線とが交差する交点として捉えることができ、また３次元形状では、線分と面分、または面分と面分との交差として計算することができる。以下、本発明の本質的な理解を容易にするため、主に２次元形状を使用して説明を行うが、稜線−稜線の関係を線分−面分に置き換え、稜線列を稜線列または面分列として取り扱うことにより、同様に取り扱うことができる。
【００３４】
図２は、ステップＳ１２に示した本発明の分解不可能箇所特定処理の詳細なフローチャートを示す。図２に示した処理は、ステップＳ２０において、上述した交差の識別値を取得して、識別値をメモリへと格納させて、交差リストを生成させる。より具体的な実施の形態では、ｎ個の交差があったものとすると、交差リストは、交差の識別値を、ＶＡ〜Ｖｎとして、例えば、｛ＶＡ，ＶＢ，      ，Ｖｎ−１，Ｖｎ｝として生成することができる。ステップＳ２２では、生成された交差リストから交差の可能な２つのペアを選択し、それらのペアを、例えば、｛ＶＡ，  ＶＢ｝としてメモリに格納させる。ステップＳ２４では、例えばＶＡを一方の端点として選択し、交差ペアを連結する稜線、面といった形状要素をリストする。その後、ＶＢを他方の端点とし、途中でＶＡ，  ＶＢを通過しない稜線列を検索し、稜線列Ｅ０としてリストし、メモリに格納させる。
【００３５】
一方、ＶＡにおいてＥ０と直角に交わる稜線をＶＡにて分解し、ＶＢにおいてＥ０と直角に交わる稜線をＶＢにて分解して、形状を表現する閉ループを２つの稜線列に分解することにより、第２の稜線列Ｅ１を定義し、第２の稜線列を、例えば（Ｖａ，Ｖｂ，Ｅ１）などとして識別させて、メモリに登録する。図３には、上述した処理により特定された稜線列Ｅ０および稜線列Ｅ１の実施の形態を示す。
【００３６】
ステップＳ２６では、生成された稜線列、例えばＥ１に含まれる稜線のの交差パターンを判断する。交差パターンの判断は、稜線列Ｅ１に含まれる任意の２つの稜線を選択した場合に、稜線が同一の位置座標を占めるか否かを使用して判断することができる。また、登録された交差リストにおいて、稜線列Ｅ１を構成する稜線同士が交差の形状要素となっているか否かを判断することによっても行うことができる。図４には、ステップＳ２６の判断処理において、原因交差ペアとして判断されない交差ペアの実施の実施の形態を、図的に示す。同時に図４には、空間グラフにおいて内側とされる領域の箇所が示されている。
【００３７】
本発明において、原因交差ペアとして直ちに指定すべきではない交差パターンは、図４に示すＥ１の向きを考慮して、
（１）図４（ａ）に示すように、Ｅ０、Ｅ１により形成される交差パターンの内側が、生成するべき形状の内側である場合には、稜線列の交差の数が偶数個である場合、および
（２）図４（ｂ）に示すように、Ｅ０、Ｅ１により形成される交差パターンの外側が、生成するべき形状の内側である場合には、交差が１個（奇数個）とすることができる。本発明においては、上述した特徴が、空間グラフにおける内外判断の整合性の判断に使用できることを見出したものであり、交差ペアの間に規定される稜線列または面列の交差の偶奇判断を行うことにより、位相的包含性を判断するものである。この位相判断基準を採用することにより、一度にすべての交差を排除することなく、不都合が生じた時点で、交差を排除することが可能となる。
【００３８】
図５には、本発明において原因交差ペアを与える他の実施の形態を示す。図５に示された形状は、Ｖ０，  …，  Ｖ１１で示した１２個の交差を有していることが示される。分解不可能箇所特定処理において、リストから削除可能な原因交差ペア以外のペアとしては、｛Ｖ０，  Ｖ１｝、｛Ｖ０，  Ｖ７｝、｛Ｖ０，  Ｖ１０｝、｛Ｖ１，  Ｖ２｝、｛Ｖ１，  Ｖ１１｝、｛Ｖ２，  Ｖ７｝、｛Ｖ３，  Ｖ５｝、｛Ｖ４，  Ｖ６｝、｛Ｖ４，  Ｖ１０｝、｛Ｖ６，  Ｖ１１｝、｛Ｖ１０，  Ｖ１１｝である。図５で示された交差Ｖ８および交差Ｖ９は、何れもＶ８から出発した稜線列がもとの交差へとループしていて、いずれの交差ともペアとなりえないことである。結果として、稜線列または面分列が定義できず、分解不可能箇所特定処理において交差Ｖ８，  Ｖ９を含む交差ペアは、本発明の処理により原因交差ペアとして出力される。さらに、本発明では、これらのペアの中から共通する交差を抽出して、さらに原因交差ペアを集約して、最終的に｛Ｖ８，  Ｖ９｝のペアとして原因交差リストに残しておくこともできる。
【００３９】
表１には、本発明において原因交差ペアとして識別されるべき交差ペアの条件をまとめてリストする。このリストは、本発明において使用されるコンピュータ装置の適切な記憶領域に格納させておくことができる。
【００４０】
【表１】
2005018591.tif 000003
【００４１】
さらに、再度図２に戻って本発明の原因交差箇所特定処理を説明すると、ステップＳ２６の交差の交差パターンの判断において、処理を行っている交差ペアが原因交差ではないと決定された場合（ｎｏ）には、ステップＳ２８へと進み、その時点で処理している交差ペアを原因交差リストから削除する。この削除処理の後、別の組がその時点で判断した交差、例えばＶＡまたはＶＢを含んでいる交差ペアについても原因交差リストから削除する。その後、ステップＳ３０においてすべての登録された交差ペアについて判断を実行したか否かを、例えば削除した交差ペアの数と、原因交差リストに残されている交差ペアの数とを使用して判断する。ステップＳ３０の判断において、すべての交差ペアの処理が終了したと判断された場合（ｙｅｓ）には、ステップＳ３２において、原因交差ペアのみを含む原因交差リストを、メモリに格納させて処理を終了する。また、ステップＳ３０において、すべての可能な交差ペアについて判断が終了していない場合（ｎｏ）には、ステップＳ３４で次の交差ペアをリストから読み出し、ステップＳ２４へと処理を戻して、すべての交差ペアについて判断が完了するまで、処理を繰り返させる。
【００４２】
一方、ステップＳ２６の判断において、処理している交差ペアが原因交差であると判断された場合（ｙｅｓ）には、破線で示した処理を実行させて処理をステップＳ３０へと戻して、すべての原因交差ペアが識別されるまで処理を実行させることができる。この場合には、処理終了時に、原因交差リストには、原因交差ペアだけが残される。また、本発明の別の態様においては、ステップＳ２６において処理している交差ペアが原因交差であると判断された場合（ｙｅｓ）には、処理をステップＳ３８へと進ませ、該当する処理中の交差ペアを識別させる処理、例えば識別子を原因交差ペアの前に挿入して、｛Ｒ，  ＶＣ，  ＶＤ｝として、後続する処理において参照できるようにすることもできる。さらに、本発明の他の実施の形態では、ステップＳ２８で原因交差ペアを削除するのではなく、有意義な交差であることを示す、例えば「削除不可能フラグ」、例えば文字「Ｎ」を設定して｛Ｎ，  ＶＡ，  ＶＢ｝として識別可能とすることができる。
【００４３】
図６には、本発明の原因交差箇所特定処理を、実際の形状に適用した場合の処理を図的に示す。図６に示した形状データには、ＶＡ，  ＶＢ，  ＶＣ，  ＶＤの４つの交差が存在する。本発明においては、上述した交差のうち、まず、すべての交差をリストして、原因交差リスト［｛ＶＡ，  ＶＢ｝，  ｛ＶＡ，  ＶＣ｝，｛ＶＡ，  ＶＤ｝，｛ＶＢ，  ＶＣ｝，｛ＶＢ，  ＶＤ｝，｛ＶＣ，  ＶＤ｝］としてメモリに格納させる。上述した原因交差箇所特定処理により、組｛ＶＡ，  ＶＢ｝は、原因交差ではないと判断され、交差リストから削除可能として識別される。その後、処理は残されたペアの判断処理に進み、｛ＶＡ，  ＶＣ｝，  ｛ＶＡ，  ＶＤ｝，  ｛ＶＢ，  ＶＣ｝，  ｛ＶＢ，  ＶＤ｝，  ｛ＶＣ，  ＶＤ｝の順で「削除」の判断を行なう。図６に示した実施の形態では、本発明の処理は、最後のペア｛ＶＣ，  ＶＤ｝を原因交差と判断し、｛ＶＣ，  ＶＤ｝または［｛ＶＡ，  ＶＢ｝，  ｛ＶＡ，  ＶＣ｝，｛ＶＡ，  ＶＤ｝，｛ＶＢ，  ＶＣ｝，｛ＶＢ，  ＶＤ｝，｛Ｒ，  ＶＣ，  ＶＤ｝］などとして原因交差リストを生成して、メモリに格納させる。
【００４４】
図７には、本発明の位相判断方法を３次元形状に対して適用した実施の形態を示す。図７に示した３次元形状の場合には、面と面との交差により生じる線分を交差として処理する。具体的には２次元において、稜線が同一の位置座標を共有する判断を次元的に拡張して、一方の面または稜線が他の面と位置座標を共有するか否かを使用して、交差を判断し、交差リストを生成してメモリに格納させる。交差のみによって構成される閉じたループのすべてをリストに格納して原因交差リストを生成して、メモリに格納させる。次いで、原因交差リストから１つのループを選び、それをＦ０と表記する。Ｆ０の境界でＦ０と直角に交わる面を交線で分割すると、形状を表すシェルを２つの開いた多角形群に分割することができ、その一方の多角形群をＦ１と表記する。
【００４５】
図８には、Ｆ０とＦ１との交差パターンを示す。Ｆ０とＦ１との交差パターンに着目したとき、Ｆ１の向き（表裏）を考慮した交差パターンが図８（ａ）、図８（ｂ）である。図８において、いずれの場合でもかつＦ１に含まれる閉ループを成さない交差が偶数個であれば、Ｆ０を構成する交差をリストから削除する。この削除処理の後、別のループが、Ｆ１を構成する交差を含んでいれば、その面ループもリストから削除する。さらにリストから他の面ループを選び、それが削除可能であれば削除する操作を繰り返す。削除可能な組がリストに存在しないとき、この繰り返し操作は終了する。この段階でリストに残っている、面ループに含まれる交差ペアを、原因交差箇所と特定する。
【００４６】
図９は、本発明の分解可能形状生成装置が実行する処理の概略的なフローチャートを示した図である。図９に示した分解可能形状処理は、ステップＳ４０において、形状データを格納部から取得する。ステップＳ４２において、原因交差リストからデータを読み出し、原因交差が存在するか否か（原因交差リスト＝＝ｎｕｌｌ）を判断する。ステップＳ４２の判断において、原因交差ペアがない場合（ｙｅｓ）には、その時点で処理する形状データには、原因交差箇所が存在しないことになるので、処理を終了させ、次の適切な指令を待機する。また、ステップＳ４２の判断において、原因交差が存在するものと判断された場合には、処理をステップＳ４４へと進ませ、本発明の形状修正処理を実行させる。
【００４７】
以下に、ステップＳ４４の形状修正処理について説明する。形状修正処理の機能は、原因交差ペアを含むか否かにかかわらず、空間グラフを与える形状データを入力とし、入力形状から原因交差箇所を排除させるように形状を自動処理により変形させる機能を実現させる。形状修正処理は、分解可能形状を与える修正形状データを直前の形状データに上書きして更新させた修正形状データを与える。本発明の形状修正処理は、後述するように最終的に原因交差箇所がリストから見出されなくなるまで、上述した分解不可能箇所特定処理を繰り返し呼び出して反復される。
【００４８】
ステップＳ４４の形状修正処理の本質的な処理については、本願出願人に帰属される（ａｓｓｉｇｎｅｄ  ｔｏ  ｔｈｅ  ｓａｍｅ  ａｓｓｉｇｎｅｅ）特許出願、特願２００２−１７８０６８号明細書［１］、および山田、吉澤、井上、土井、「６面体メッシュ生成のための自己干渉のない認識モデル構築手法」、日本応用数理学会２００２年度年会講演予稿集、２００２，  Ｓｅｐ．  ［２］に記載される方法を使用することができる。概略的に説明を行うと、形状修正処理は、交差箇所の排除条件を制約条件とし、所定の指標を使用して構築した目的関数を最小化する解を、整数計画問題を使って求める処理を実行する。上述の特許出願に開示された方法は、交差を生じる箇所をすべてリストし、すべての交差の排除条件を制約条件とする整数計画問題を解いていたのに対し、本発明では、原因交差でない交差に対しては排除の制約条件を与えず、原因交差ペアを選択的に排除する制約条件を、原因交差ペアの検出に応答して組み込ませて処理を実行する点で相違する。
【００４９】
本発明において使用することができる目的関数は、特願２００２−１７８０６８号明細書と同様に、例えば稜線長さ変化の和を最小とするような目的関数とすることができる。またラベル反転が起こらないための制約条件を構築する。本発明において、ラベル反転とは、形状修正処理により、稜線のループ内での方向が反転してしまうこととして参照する。ラベル反転が生じると、反転したラベルにより再現される３次元形状の位相が反転してしまうといった不都合が生じることもあるためである。図１０には、ラベル反転の実施の形態を実際の形状を使用して説明する。図１０（ａ）は、形状修正処理前の形状データから生成される形状であり、図１０（ｂ）が、ラベル反転を生じさせてしまう形状修正処理の実施の形態を示す。
【００５０】
図１０（ａ）および図１０（ｂ）を参照すると、符号「Ｃ」で示した稜線のループにおける方向は、図１０（ａ）と図１０（ｂ）との間において反転しているのが示されている。本発明においては、上述したラベル反転がまったく生じないような入力形状を扱うのであれば、ラベル反転を考慮した形状修正処理を用いる必要はない。しかしながら、本発明においてより一般的で汎用的な入力形状に対応するために、ラベル反転を制限した形状修正を行うことが望ましい。このラベル反転を生じさせない制約条件は、例えば２次元形状について言えば、Ｖ０［ｉ０，  ｊ０］を始点、Ｖ１［ｉ１，  ｊ０］を終点とする＋Ｉラベルの稜線が反転しないための条件を使用して例示的に説明すると、簡単にｉ０＜ｉ１として記述することができる。上述したラベル反転の制約条件は、すべての頂点および稜線に対して適用する制約条件として導入することができる。
【００５１】
図１１を使用して、より詳細に本発明の形状修正処理について説明すると、ステップＳ５２においてすでに少なくとも原因交差処理が施されることにより格納された原因交差リストから１つの原因交差ペアを読み出し、ステップＳ５４において、対応する原因交差ペアを排除する制約条件を導入させる。具体的な制約条件の実施の形態について説明すると、原因交差ペアの解消は、２次元の場合、例えばＶ０［ｉ０，  ｊ０］を始点Ｖ１［ｉ１，  ｊ０］（  ｉ０＜  ｉ１）を終点とする＋Ｉラベルの稜線と、ＶＡ［ｉＡ，  ｊＡ］を始点ＶＢ［ｉＡ，  ｊＢ］  （ｊＡ＜  ｊＢ）を終点とする＋Ｊラベルの稜線とが交差しないための条件を、制約条件として設定した条件式を定義しておき、処理ルーチンに組み込むことにより実行することができる。具体的には、制約条件は、下記式により与えられる条件を挙げることができる。
【００５２】
【数１】
2005018591.tif 000004
また、同様に原因交差が３次元の場合は、線分の面分との交差を解消させる同等ないかなる条件でも用いることができる。
【００５３】
次いで、処理は、ステップＳ５６へと進み、構築した目的関数および制約条件で表される整数計画問題を計算して、その時点で処理している原因交差の解消された形状データを生成する。その後、本発明の形状修正処理はステップＳ５８において、少なくとも処理目的の原因交差の解消された形状データを形状データ格納部へと上書きして更新させる。その後、図９の分解可能形状生成処理のステップＳ４６へと形状データを渡し、再度原因交差特定処理を繰り返させる処理を実行させる。
【００５４】
再度図９を使用して、本発明の分解可能形状生成処理のステップＳ４４〜ステップＳ４８の反復繰り返しについて説明すると、ステップＳ４４の形状修正処理により与えられた修正形状データを使用して、再度、原因交差特定処理が実行され、同時に別の原因交差も排除されていれば、その交差ペアも原因交差リストから削除する。一方、さらに新たな交差ペアが原因交差ペアとして登録された場合や、取り残しの原因交差ペアが見出される場合（ｎｏ）には、本発明の分解可能形状生成処理は、ステップＳ４４へと処理を戻して形状修正処理を実行させる。その後、ステップＳ４６で分解不可能箇所特定処理を呼び出し、その交差が原因交差かどうかを調べ、原因交差リストが空になるまで繰り返し、形状修正処理および原因交差箇所特定処理とを反復して実行させる。ステップＳ４８では、原因交差リストが空になった場合（ｙｅｓ）に、ステップＳ５０へと処理を進め、最終的に原因交差箇所を含まない修正形状データを出力させ、形状データ格納装置のデータを更新させる。
【００５５】
図１２には、本発明の分解可能形状生成処理により分解不可能形状から生成された分解可能形状の実施の形態を示す。図１２（ａ）が原因交差ペア｛ＶＣ，ＶＤ｝を有する分解不可能形状の実施の形態であり、図１２（ｂ）が、原因交差を生じさせている交差ペア｛ＶＣ，ＶＤ｝を、稜線Ｌを形成するサークルで示された頂点の位置座標を変化させる制約条件を組み込ませて解消した実施の形態である。なお、本発明において、制約条件を組み込ませる処理は、原因交差ペアの検出に応答して、外部関数として読み込ませるか、サブルーチンに分岐させるか、またはそのために記述されたオブジェクトにデータを渡す処理として実装することができる。
【００５６】
図１２に示す実施の形態により明らかに示されるように、本発明において原因交差箇所を特定する処理を採用しているので、形状修正は、原因交差を形成する少なくとも数本の稜線のパラメータを使用するだけで実行できる。また、このため、分解可能形状生成処理に費やされるプロセッサ処理時間を大幅に削減でき、コンピュータ資源およびユーザへの負担を軽減することを可能とする。さらには、大きな形状の変化を引き起こすことがないので、計算処理におけるジョブ完了予測性を意味する、スケーラビリティを提供することができる。
【００５７】
図１３には、本発明の構造メッシュ生成処理の概略的なフローチャートを示す。本発明の構造メッシュ生成処理は、ステップＳ６０において、形状データを格納部から読み出し、適切な記憶領域に格納させる。この段階で読み出される形状データは、原因交差が存在しないので、直ちにステップＳ６２へと進み、四角形メッシュまたは６面体メッシュを生成する処理を実行する。ステップＳ６２のメッシュ生成は、種々の手法を使用することができるものの、本発明の特定の実施の形態では、Ａｄｖａｎｃｉｎｇ  ｆｒｏｎｔ法を使用して、構造メッシュを生成することができる。Ａｄｖａｎｃｅｄ  ｆｒｏｎｔ法では、形状データの実空間への射影である認識モデルの境界から内部に向かって層状にメッシュ要素を順次に作成する方法である。
【００５８】
また、このとき、種々の形状を使用して構造メッシュを作成することができるものの、２次元表現では、単位正方形、長方形、多角形、３次元表現の場合には単位立方体、単位直方体、多面体など、必要に応じていかなる形状でも使用することができる。特に本発明においては、他を除外する目的はないものの、単位正方形や、正６面体を使用することが好ましい。ステップＳ６２の構造メッシュ生成処理は、認識モデルの内部すべてが単位形状で埋め尽くされた場合に処理が停止され、ステップＳ６４において、構造メッシュ・データをハードディスクといった記憶装置に出力させて処理を終了する。
【００５９】
図１４は、本発明によりＡｄｖａｎｃｅｄ  ｆｒｏｎｔ法を使用して生成される構造メッシュの実施の形態を示した図である。図１４（ａ）がメッシュの生成を開始した直後の実施の形態であり、図１４（ｂ）はメッシュの生成が完了した実施の形態を示す。図１４（ａ）に示されるように、認識モデルの稜線が重複する領域は、多くの場合、３次元形状が重なり合っている部分に発生する。このため、本発明において排除する原因交差が存在すると、重複した領域におけるメッシュ生成の内外が定められず、正常な構造メッシュを生成することができない。しかしながら、本発明により原因交差を排除することにより、稜線の内外の確実な判断が可能となり、図１４（ｂ）に示されるように、良好な構造メッシュの生成が可能とされている。図１４（ｂ）において、濃度の高いハッチングの領域Ｈｄは、稜線の重なり合いに対応して２重にメッシュが生成された領域である。また、図１４（ｃ）は、図１４（ａ）および図１４（ｂ）を与えたメッシュ生成処理に対する入力形状の実施の形態を、視覚的により明確に示した図である。
【００６０】
図１５には、本発明の構造メッシュ生成システムの機能ブロック図を示す。図１５に示した本発明の構造メッシュ生成システムは、入力３次元形状から頂点、稜線などにより生成された形状データを格納する形状データ格納部１０と、コンピュータ装置１２と、生成された構造メッシュを視覚的にモニタするための表示装置１４とを含んで構成されている。形状データ格納部１０は、本発明の特定の実施の形態では、ハードディスク、フラッシュ・メモリ、ＥＥＰＲＯＭといった書き換え可能な記憶媒体として構成されている。形状データ格納部１０には、例えばＣＡＤを使用して生成された入力３次元形状から、頂点、稜線、面に分割された形状データが格納されている。
【００６１】
コンピュータ装置１２は、パーソナル・コンピュータやワークステーション、汎用コンピュータといったコンピュータ装置から構成されている。さらに、コンピュータ装置１２は、概ね、ＣＰＵ（中央処理装置）１６と、ランダム・アクセス・メモリ（ＲＡＭ）、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）といったメモリ１８と、ハードディスク、フラッシュ・メモリ、ＥＥＰＲＯＭ、ディスプレイ装置といった各種の外部装置を駆動制御するための入出力制御部２０とを含んで構成されている。コンピュータ装置１２のＣＰＵ１６と、メモリ１８と、入出力制御部２０とは、適切な速度でデータ通信を行う内部バス２２により相互接続されている。また、本発明のコンピュータ装置１２は、ネットワーク・インタフェイス装置（ＮＩＣ）２４を含んで構成されていて、ネットワーク２６を介して他のコンピュータ装置と接続されていて、いわゆるグリッド・コンピューティングといった処理が可能とされていても良い。
【００６２】
さらに、本発明のコンピュータ装置１２は、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、フラッシュ・メモリ、ＥＥＰＲＯＭといった記憶装置２８に格納されたコンピュータ実行可能なプログラムを読み出して、本発明の構造メッシュ生成方法を実行させる各種の装置機能を構成している。また、キーボードといった入力装置３０を介して、ユーザからの入力を受け取ることができる構成とされている。
【００６３】
図１６には、本発明のコンピュータ装置１２が構成させる各装置機能を、他の装置機能と共に示す。記憶装置２８は、図１６においては機能ブロックとして形状データ格納部１０とは別構成として記載されているものの、形状データ格納部１０と同一の構成とすることができる。さらにコンピュータ装置１２がソフトウエア的に構成させる各装置機能は、位相判断装置３２と、分解可能形状生成装置３４と、構造メッシュ生成装置３６とである。
【００６４】
位相判断装置３２は、形状データ格納部１０から形状データを読み出して、原因交差特定処理を実行させて、位相的整合性を損なう交差ペアをリストさせた原因交差リストを、メモリ１８に格納させている。分解可能形状生成装置３４は、形状データ格納部１０から形状データを読み出すと共に、メモリ１８から原因交差リストを読み出し、原因交差箇所を判断する、リスト判断部３４ａと、リスト判断部３４ａの判断に応答して形状修正処理を実行する整数問題ソルバー３４ｂとを含んで構成されている。分解可能形状生成装置３４は、リスト判断部３４ａにおいて、原因交差箇所を示す値を検出すると、整数問題ソルバー３４ｂに対して、該当する制約条件を適切な記憶領域、例えばＣＰＵの内部メモリなどから読み出す。その後、整数問題ソルバー３４ｂは、特定された原因交差を形成する限られた頂点、稜線のセットに対して適用して、所定の目的関数の下で整数計画問題を計算し、原因交差の解消された修正形状データを、形状データ格納部１０へと上書きさせて、形状データを更新させている。
【００６５】
構造メッシュ生成装置３６は、本発明の特定の実施の形態では、Ａｄｖａｎｃｉｎｇ  ｆｒｏｎｔ法を実行するためのソフトウエアにより構成されている。構造メッシュ生成ブロック３６は、原因交差の解消された形状データを読み出して、Ａｄｖａｎｃｉｎｇ  ｆｒｏｎｔ法により、メッシュ構造を作成してゆき、形状データの内側がメッシュで充填された段階でメッシュ作成を完了し、例えば、記憶装置２８に出力結果として格納させる。
【００６６】
生成された構造メッシュ・データは、表示装置１４へと送られて、構造メッシュが与えられた３次元形状としてユーザに提示することができる。同時にユーザは、生成された構造メッシュ・データを、構造メッシュ生成システムが他の機能として含む、またはネットワーク２６を介したグリッド・コンピューティングなどによる他のコンピュータ装置により実行される有限要素法による応力解析、流体力学、表面レンダリングなどを可能とするソフトウエアの入力データとして提供することができる。
【００６７】
本発明の各処理および各機能ブロックは、コンピュータ実行可能なプログラムを、ＣＰＵが読み取ってコンピュータ装置が機能させる機能ブロック手段または単独で各装置として構成させるものである。上述した機能ブロックは、図面に示した構成に限定されるものではなく、全体として本発明の機能が達成される限りいかなる構成として、コンピュータ装置に実装することができる。また、本発明において上述した各機能を構成させるためのコンピュータ実行可能なプログラムは、種々のプログラミング言語により記述することができる。このようなプログラミング言語としては、これまで知られたいかなるプログラミング言語でも使用することができるが、本発明の好適な実施の形態においては、具体的には例えば、ＦＯＲＴＲＡＮ、Ｃ、Ｃ＋＋、Ｊａｖａ（登録商標）などを挙げることができる。
【００６８】
これまで本発明を図面に示した特定の実施の形態を使用して説明してきたが、本発明は図面に示した実施の形態に制限されるものではない。当業者であれば、本発明の図面に示した実施の形態を参照すればその細部、構成装置、詳細な構成要素について、種々の変更、除外、別実施例などをについて容易に実行することができるものである。
【００６９】
上述したように、本発明によれば、認識モデルにおける形状に重なり部分が含まれている場合であっても、従来の方法のように、そのすべての重なりを排除するように変形操作することなくメッシュを生成することができる。本発明を用いることにより、入力３次元形状が複雑に重なりあった部分を持つ形状に対しても位相的に整合性を有するメッシュを適切なスケーラビリティをもって生成することが可能となる。
【図面の簡単な説明】
【図１】本発明の位相判断装置において実行される、位相判断方法の概略的な処理を示したフローチャート。
【図２】ステップＳ１２に示した本発明の分解不可能箇所特定処理の詳細なフローチャート。
【図３】稜線列Ｅ０および稜線列Ｅ１の実施の形態を示した図。
【図４】ステップＳ２６の判断処理の実施の形態を、図的に示した図。
【図５】本発明において原因交差ペアを与える他の実施の形態を示した図。
【図６】本発明の原因交差箇所特定処理を、実際の形状に適用した場合の処理を図的に示した図。
【図７】本発明の位相判断方法を３次元形状に対して適用した実施の形態を示した図。
【図８】３次元形状における面間の交差パターンを示す。
【図９】本発明の分解可能形状生成装置が実行する処理の概略的なフローチャートを示した図。
【図１０】本発明におけるラベル反転の実施の形態を実際の形状を示した図。
【図１１】本発明の形状修正処理を詳細に説明した図。
【図１２】本発明の分解可能形状生成処理により分解不可能形状から生成された分解可能形状の実施の形態を示した図。
【図１３】本発明の構造メッシュ生成処理の概略的なフローチャートを示した図。
【図１４】本発明によりＡｄｖａｎｃｅｄ  ｆｒｏｎｔ法を使用して生成される構造メッシュの実施の形態を示した図。
【図１５】本発明の構造メッシュ生成システムの機能ブロック図を示した図。
【図１６】本発明のコンピュータ装置１２が構成させる各装置機能を、他の装置機能と共に示した図。
【図１７】所定の入力３次元形状（ａ）から従来の方法により生成された認識モデル（ｂ）および構造メッシュ（ｃ）を示した図。
【図１８】入力形状の認識モデルを生成するための操作により、稜線がどのように変化するかを示した図。
【図１９】本発明において、「形状修正操作」として参照される操作の幾何学的に示した図。
【符号の説明】
１０…形状データ格納部、１２…コンピュータ装置、１４…表示装置、１６…ＣＰＵ、１８…メモリ、２０…入出力制御装置、２２…内部バス、２４…ネットワーク・インタフェース装置、２６…ネットワーク、２８…記憶装置、３０…位相判断装置、３２…位相判断装置、３４…分解可能形状生成装置、３６…構造メッシュ生成装置
【図１】
2005018591.tif 000005
【図２】
2005018591.tif 000006
【図３】
2005018591.tif 000007
【図４】
2005018591.tif 000008
【図５】
2005018591.tif 000009
【図６】
2005018591.tif 000010
【図７】
2005018591.tif 000011
【図８】
2005018591.tif 000012
【図９】
2005018591.tif 000013
【図１０】
2005018591.tif 000014
【図１１】
2005018591.tif 000015
【図１２】
2005018591.tif 000016
【図１３】
2005018591.tif 000017
【図１４】
2005018591.tif 000018
【図１５】
2005018591.tif 000019
【図１６】
2005018591.tif 000020
【図１７】
2005018591.tif 000021
【図１８】
2005018591.tif 000022
【図１９】
2005018591.tif 000023