(57)【要約】【課題】３次元物体を表現する３次元モデルデータのデータ量を削減する。【解決手段】ポリゴンデータ生成部１１は、部品データに基づいて、各部品の表面領域のポリゴンデータを生成する。接触領域検出部１２は、部品間で表面領域が互いに接触する接触領域を検出する。廃棄部１５は、接触領域検出部１２によって接触領域が検出されたときに、互いに接触する１組の表面領域の一方についてのポリゴンデータを廃棄する。格納部１６は、ポリゴンデータを記憶装置２０に格納する。【選択図】図２
2010026859.tif 000002
【特許請求の範囲】
【請求項１】
第１の表面領域を有する第１の要素および第２の表面領域を有する第２の要素を備える３次元物体を表現する３次元モデルデータを生成して保存する３次元モデルデータ生成装置であって、
前記第１および第２の要素の表面形状データを生成する生成手段と、
前記第１の表面領域および第２の表面領域が互いに接触する接触領域を検出する検出手段と、
前記生成手段により生成された表面形状データを記憶装置に格納する格納手段と、
前記第２の表面領域内の前記接触領域についての表面形状データを廃棄する廃棄手段、
有する３次元モデルデータ生成装置。
【請求項２】
請求項１に記載の３次元モデルデータ生成装置であって、
前記生成手段は、前記第１の表面領域の表面形状データとして、前記第１の表面領域内の前記接触領域を除いた露出領域についての表面形状データを生成する
ことを特徴とする３次元モデルデータ生成装置。
【請求項３】
請求項１に記載の３次元モデルデータ生成装置であって、
前記第１の表面領域と同じ輪郭を持つ仮想表面領域を定義する定義手段をさらに備え、
前記生成手段は、前記第１の表面領域の表面形状データとして、前記仮想表面領域についての表面形状データを生成する
ことを特徴とする３次元モデルデータ生成装置。
【請求項４】
第１の表面領域を有する第１の要素および第２の表面領域を有する第２の要素を備える３次元物体を表現する３次元モデルデータを生成して保存する３次元モデルデータ生成装置であって、
前記第１および第２の要素の表面形状データを生成する生成手段と、
前記第１の表面領域および第２の表面領域が互いに接触する接触領域を検出する検出手段と、
前記生成手段により生成された表面形状データを記憶装置に格納する格納手段、を有し、
前記生成手段は、前記第２の表面領域内の前記接触領域についての表面形状データを生成しない
ことを特徴とする３次元モデルデータ生成装置。
【請求項５】
第１の表面領域を有する第１の要素および第２の表面領域を有する第２の要素を備える３次元物体を表現する３次元モデルデータを生成して保存するために、コンピュータに、
前記第１および第２の要素の表面形状データを生成する生成手段と、
前記第１の表面領域および第２の表面領域が互いに接触する接触領域を検出する検出手段と、
前記生成手段により生成された表面形状データを記憶装置に格納する格納手段と、
前記第２の表面領域内の前記接触領域についての表面形状データを廃棄する廃棄手段、
を実現させるための３次元モデルデータ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元物体の表面形状データを生成する装置および方法に係わり、例えば、３次元コンピュータグラフィックスに適用可能である。
【背景技術】
【０００２】
近年、３次元物体の設計において、コンピュータが広く導入されている。例えば、機械製品の設計では、３次元ＣＡＤシステムを使用して、各部品の３次元形状が設計されている。また、３次元形状を表示する方法として、コンピュータ上に３次元モデルを構築してその３次元モデルを２次元画像として描画するＤＭＵ（Digital Mock-Up）や、３次元ビューア等も普及してきている。
【０００３】
３次元コンピュータグラフィックスにおいて、物体の形状を表現するための技術としてポリゴンモデルが広く普及している。ポリゴンモデルは、多数のポリゴンを利用して物体の表面を直接的にまたは近似的にモデル化する手法である。ここで、ポリゴンは、立体形状を表現するための要素であり、一般には、３角形または４角形である。すなわち、コンピュータで３次元図形を扱う場合、物体の表面は微小なポリゴンに分割され、各ポリゴンがそれぞれ数値データで表される。これにより、任意の視点から見たときの物体の形状を表現することができる。また、ポリゴンの数を増やせば、物体の形状をより精細に表現することが可能になる。
【０００４】
関連する技術として、特許文献１には、２個の凸多面体を接合した場合の接合部の不要な継目を消去する方法が記載されている。
他の関連技術として、特許文献２には、ＣＡＤ図面の管理方法が記載されている。この管理方法では、外部記憶装置に、Ｎ枚のＣＡＤ図面に含まれる共通データを記憶する共通データ記憶域、および各ＣＡＤ図面に含まれる共通データ以外の図形データを図面ごとに記憶する図形データ記憶域が設けられる。そして、いずれかの図形データを読み出すときには、共通データ記憶域から共通データも読み出される。
【特許文献１】特開平２−５９８６７号公報
【特許文献２】特開平１０−１１１８８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ポリゴンモデルにおいては、大規模な装置や複雑な形状を表現する場合、必然的にポリゴンの数が多くなる。すなわち、ポリゴンデータのデータ量が膨大になり、大容量のメモリが必要になる。なお、この問題は、ポリゴンモデルに限定されるものではなく、３次元物体を表現する技術において広く生じている。
【０００６】
このように、３次元物体を表現する３次元モデルデータのデータ量を削減する技術が望まれている。
【課題を解決するための手段】
【０００７】
開示の３次元モデルデータ生成装置は、第１の表面領域を有する第１の要素および第２の表面領域を有する第２の要素を備える３次元物体を表現する３次元モデルデータを生成して保存する装置であって、前記第１および第２の要素の表面形状データを生成する生成手段と、前記第１の表面領域および第２の表面領域が互いに接触する接触領域を検出する検出手段と、前記生成手段により生成された表面形状データを記憶装置に格納する格納手段と、前記第２の表面領域内の前記接触領域についての表面形状データを廃棄する廃棄手
段、有する。表面形状データは、例えば、ポリゴンデータである。
【０００８】
前記生成手段は、前記第１の表面領域の表面形状データとして、前記第１の表面領域内の前記接触領域を除いた露出領域についての表面形状データを生成するようにしてもよい。
【０００９】
また、３次元モデルデータ生成装置は、前記第１の表面領域と同じ輪郭を持つ仮想表面領域を定義する定義手段をさらに備えるようにしてもよい。この場合、前記生成手段は、前記第１の表面領域の表面形状データとして、前記仮想表面領域についての表面形状データを生成する。
【発明の効果】
【００１０】
開示の装置または方法によれば、３次元物体を表現する３次元モデルデータのデータ量を削減することができる。
【発明を実施するための最良の形態】
【００１１】
図１は、表現すべき３次元モデルの例である。この実施例では、表現すべき３次元モデル１００は、部品１１０および部品１２０を備えている。すなわち、部品１１０、１２０は、３次元モデルを構成する要素である。なお、図１（ａ）は、３次元モデル１００が組み立てられる前の状態を示し、図１（ｂ）は、部品１２０が部品１１０に取り付けられた状態を示している。
【００１２】
部品１１０は、直方体であり、６つの表面領域１１０ａ〜１１０ｆを有している。ただし、図１では、表面領域１１０ｄ〜１１０ｆは描かれていない。そして、部品１１０の表面領域１１０ａには、孔１１１が形成されている。部品１２０は、部品１１０よりも小さな直方体であり、６つの表面領域１２０ａ〜１２０ｆを有している。ただし、図１では、表面領域１２０ｄ〜１２０ｆは描かれていない。そして、部品１２０には、孔１２１が形成されている。孔１２１は、表面領域１２０ａから表面領域１２０ｄに達するように部品１２０を貫通している。なお、表面領域１２０ｄは、表面領域１２０ａに対向する面であり、３次元モデル１００が組み立てられるときには、部品１１０の表面領域１１０ａに接触する。また、孔１１１、１２１は、実際にはそれぞれ円形であるが、実施例のモデルでは、６角形によって近似的に表されている。
【００１３】
３次元モデル１００は、部品１１０に部品１２０を取り付けることにより形成される。図１（ａ）において破線で示す接触領域１１２は、３次元モデル１００が組み立てられるときに、部品１２０の表面領域１２０ｄが接触する領域である。すなわち、３次元モデル１００を組み立てる際には、部品１２０は、部品１１０の接触領域１１２に配置され、例えば、不図示のネジを用いて固定される。
【００１４】
図２は、実施形態の３次元モデルデータ生成装置の構成を示す図である。実施形態の３次元モデルデータ生成装置１は、ポリゴンデータ生成部１１、接触領域検出部１２、ポリゴンデータ生成部１３ａ、１３ｂ、選択部１４、廃棄部１５、格納部１６を備える。そして、３次元モデルデータ生成装置１は、与えられる部品データに基づいて表面形状データを生成し、記憶装置２０に格納する。部品データは、各部品の形状および座標を表す情報を含み、例えば、ユーザによりＣＡＤを利用して生成される。また、記憶装置２０は、特に限定されるものではないが、例えばハードディスク装置または半導体メモリである。
【００１５】
ポリゴンデータ生成部１１は、部品ごとに、ポリゴンデータを生成する。なお、部品データからポリゴンデータを生成する方法は、特に限定されるものではなく、公知の技術を利用するようにしてもよい。図１に示す３次元モデル１００に係わる部品データが入力されたときは、ポリゴンデータ生成部１１は、部品１１０の表面領域１１０ａ〜１１０ｆについてのポリゴンデータ、および部品１２０の表面領域１２０ａ〜１２０ｆについてのポリゴンデータをそれぞれ生成する。
【００１６】
図３は、ポリゴンデータ生成の実施例である。ここでは、部品１１０の表面領域１１０ａおよび部品１２０の表面領域１２０ｄについて生成されるポリゴンデータについて説明する。なお、表面領域１１０ａ、１２０ｄは、図１を参照しながら説明したように、互いに接触する。
【００１７】
図３（ａ）は、表面領域１１０ａ、１２０ｄを示す図である。表面領域１１０ａは、長方形であり、６角形の孔１１１が形成されている。表面領域１２０ｄは、表面領域１１０ａよりも小さな長方項であり、６角形の孔１２１が形成されている。なお、図３（ａ）において破線で示す接触領域１１２は、３次元モデル１００が組み立てられるときに、部品１２０の表面領域１２０ｄが接触する領域である。また、表面領域１１０ａにおいて、接触領域１１２を除く領域は、３次元モデル１００が組み立てられた状態であっても、露出されている。よって、この領域のことを「露出領域」を呼ぶことがある。
【００１８】
図３（ｂ）は、表面領域１１０ａ、１２０ｄについて生成されるポリゴンを示す図である。この実施例では、ポリゴンは３角形である。そうすると、表面領域１１０ａは、１０個のポリゴンＰ１〜Ｐ１０で表現される。同様に、表面領域１２０ｄも、１０個のポリゴンＰ１１〜Ｐ２０で表現される。
【００１９】
接触領域検出部１２は、部品どうしが互いに接触するか否かを検出する。また、接触領域検出部１２は、部品どうしが互いに接触する場合には、一方の部品の表面領域が他方の部品の表面領域を包含するか否かも合わせて検出する。図１に示す例では、表面領域１１０ａ、１２０ｄが互いに接触し、且つ、表面領域１２０ｄが表面領域１１０ａに包含されていることが検出される。接触領域は、ＣＡＤシステムから入力される部品データを利用して検出してもよいし、ポリゴンデータ生成部１１により生成されるポリゴンデータを利用して検出するようにしてもよい。なお、接触領域を検出する方法は、後で詳しく説明する。
【００２０】
ポリゴンデータ生成部１３ａは、接触領域検出部１２によって接触領域が検出されたときに、その検出結果および部品データに基づいて、第１の仮ポリゴンデータを生成する。第１の仮ポリゴンデータは、一方の部品の表面領域（ここでは、領域Ｘ）が他方の部品の表面領域（ここでは、領域Ｙ）を包含する場合には、領域Ｘの露出領域についてのポリゴンデータに相当する。例えば、図１に示す例では、表面領域１２０ｄが表面領域１１０ａに包含されているので、表面領域１１０ａについて第１の仮ポリゴンデータが生成される。表面領域１１０ａについて第１の仮ポリゴンデータは、図４（ａ）に示すように、８個のポリゴンＰ１〜Ｐ８を表す。
【００２１】
ポリゴンデータ生成部１３ｂは、接触領域検出部１２によって接触領域が検出されたときに、その検出結果および部品データに基づいて、第２の仮ポリゴンデータを生成する。第２の仮ポリゴンデータは、一方の部品の表面領域（ここでは、領域Ｘ）が他方の部品の表面領域（ここでは、領域Ｙ）を包含する場合には、領域Ｘについて生成される。このとき、ポリゴンデータ生成部１３ｂは、領域Ｘと同じ輪郭を持つ仮想表面領域を定義し、その仮想表面領域についてポリゴンデータを生成する。例えば、図１に示す例では、表面領域１１０ａと同じ輪郭を持つ仮想表面領域が定義される。この仮想表面領域には、図１に示す孔１１１は存在しない。したがって、表面領域１１０ａについて第２の仮ポリゴンデータは、図４（ｂ）に示すように、２個のポリゴンＰ１〜Ｐ２を表す。
【００２２】
選択部１４は、ポリゴンデータ生成部１１により生成されるポリゴンデータ、ポリゴンデータ生成部１３ａにより生成される第１の仮ポリゴンデータ、ポリゴンデータ生成部１３ｂにより生成される第２の仮ポリゴンデータを比較する。そして、ポリゴン数が最も少ないポリゴンデータを選択する。図１に示す例では、表面領域１１０ａについて比較が行われる。そうすると、ポリゴンデータ生成部１１により生成されるポリゴンデータでは、図３（ｂ）に示すように、ポリゴンの数は１０である。また、第１の仮ポリゴンデータのポリゴンの数は、図４（ａ）に示すように８であり、第２の仮ポリゴンデータのポリゴンの数は、図４（ｂ）に示すように２である。よって、この場合、選択部１４によって第２の仮ポリゴンデータが選択される。
【００２３】
廃棄部１５は、接触領域検出部１２によって接触領域が検出されたときに、互いに接触する１組の表面領域の一方の表面形状データを廃棄する。図１に示す例では、部品１２０の表面領域１２０ｄのポリゴンデータが廃棄される。
【００２４】
格納部１６は、ポリゴンデータ生成部１１によって生成されたポリゴンデータを記憶装置２０に格納する。ただし、部品間で接触領域が検出されたときは、ポリゴンデータ生成部１１によって生成されたすべてのポリゴンデータが記憶装置２０に格納されるのではなく、一部のポリゴンデータが廃棄または置換される。
【００２５】
上述の実施例では、ポリゴンデータ生成部１１は、部品１１０の表面領域１１０ａ〜１１０ｆについてのポリゴンデータ、および部品１２０の表面領域１２０ａ〜１２０ｆについてのポリゴンデータをそれぞれ生成する。また、接触領域検出部１２は、表面領域１１０ａおよび１２０ｄが互いに接触していることを検出する。そうすると、廃棄部１５は、図３（ｂ）に示す表面領域１２０ｄのポリゴンデータを廃棄する。更に、選択部１４は、ポリゴンデータ生成部１１により生成された表面領域１１０ａのポリゴンデータのかわりに、図４（ｂ）に示す第２の仮ポリゴンデータを出力する。
【００２６】
このとき、表面領域１２０ｄのポリゴンデータを廃棄することによって、１０個のポリゴンが削減される。また、表面領域１１０ａのポリゴンデータを第２の仮ポリゴンデータに置き換えることによって、８個のポリゴンが削減される。すなわち、あわせて１８個のポリゴンが削減されることになる。
【００２７】
このように、実施形態の３次元モデルデータ生成装置１によれば、記憶装置２０に格納すべきポリゴンデータのデータ量が少なくなる。したがって、記憶装置２０の容量を小さくすることができる。
【００２８】
なお、上述の実施例では、図１に示すように、部品１２０の表面領域１２０ｄが部品１１０の表面領域１１０ａに包含されているが、実施形態の３次元モデルデータ生成方法はこのようなモデルに限定されるものではない。すなわち、図５（ａ）に示すように、部品１１０の表面領域１１０ａの一部と、部品１３０の表面領域１３０ｄの一部とが互いに接触する場合にも、実施形態の３次元モデルデータ生成方法によってポリゴン数は削減される。表面領域１３０ｄは、表面領域１３０ａに対向する面であり、３次元モデル１００が組み立てられると、部品１１０の表面領域１１０ａに接触する。表面領域１１０ａ、１３０ｄのポリゴンデータを図５（ｂ）に示す。このとき、表面領域１１０ａのポリゴン数は１０であり、表面領域１３０ｄのポリゴン数も１０である。
【００２９】
図６（ａ）は、表面領域１１０ａについての第１の仮ポリゴンデータを示している。この場合、６個のポリゴンＰ１〜Ｐ６が生成される。また、図６（ｂ）は、表面領域１１０ａについての第２の仮ポリゴンデータを示している。この場合、２個のポリゴンＰ１〜Ｐ２が生成される。よって、表面領域１１０ａのポリゴンデータは、図６（ｂ）に示す第２
の仮ポリゴンデータ（Ｐ１〜Ｐ２）に置き換えられる。
【００３０】
部品１３０の表面領域１３０ｄは、図６（ｃ）に示すように、廃棄部１５によって接触領域のポリゴンデータが廃棄される。そして、表面領域１３０ｄ内の接触領域を除く領域（すなわち、露出領域）についてポリゴンデータが生成される。この場合、ポリゴン数は２になる。
【００３１】
以下、フローチャートを参照しながら、実施形態の３次元モデルデータ生成方法を説明する。
図７は、実施形態の３次元モデルデータ生成方法の概略フローチャートである。このフローチャートは、例えば、入力されたＣＡＤデータをポリゴンデータに変換して保存する際に実行される。
【００３２】
ステップＳ１では、各部品についての部品データが入力される。図１に示す例では、部品１１０、１２０についての部品データが入力される。部品データは、例えば、ポリゴンデータである。ポリゴンデータは、ポリゴンの数を表す情報、および各ポリゴンの頂点の位置を表す情報などを含んでいる。ステップＳ２〜Ｓ３では、部品間で同一の面が存在するか否かをチェックする。すなわち、ある部品の表面領域が他の部品の表面領域に接触しているかチェックする。同一面（すなわち、接触領域）が存在する場合には、ステップＳ４において、互いに接触する表面領域の一方が他方の表面領域に包含されているか調べる。
【００３３】
一方の表面領域が他方の表面領域に包含されている場合には、ステップＳ５において対応するポリゴン生成処理を実行する。図１に示すモデルにおいては、ステップＳ５が実行される。一方の表面領域の一部が他方の表面領域の一部と重複している場合には、ステップＳ６において対応するポリゴン生成処理を実行する。図５に示すモデルにおいては、ステップＳ６が実行される。
【００３４】
図８は、部品間で互いに接触する面が存在するかを調べる処理のフローチャートである。この処理は、図７に示すステップＳ２に相当する。以下では、部品Ａ、Ｂ間で互いに接触する面が存在するか否かの判定が行われるものとする。
【００３５】
ステップＳ１１では、部品Ａについての面データが作成される。ステップＳ１２では、部品Ｂについての面データが作成される。面データは、平面パラメータ（平面上の点の位置および法線ベクトル）、およびその平面の輪郭線を構成する頂点の位置を表す情報によって定義される。ステップＳ１３では、部品Ａについての平面パラメータと部品Ｂについての平面パラメータとを対比し、互いに一致するパラメータを捜す。
【００３６】
互いに一致する平面パラメータが存在する場合には、ステップＳ１４において、それらの面が互いに重なっているか調べる。そして、同一の平面パラメータを有する面が互いに重なっている場合には、ステップＳ１５において、それらが互いに接触していると判定する。
【００３７】
図９は、面データを作成する処理のフローチャートである。この処理は、図８に示すステップＳ１１またはＳ１２に相当する。ここでは、ポリゴンデータから面データを作成するものとする。
【００３８】
ステップＳ２１では、ポリゴンの隣接関係を計算する。一例としては、２組の頂点が互いに一致するポリゴンは、互いに隣接していると判定される。例えば、図１０において、ポリゴンＰ１は頂点ａ、ｂ、ｆを有し、ポリゴンＰ２は頂点ｂ、ｅ、ｆを有する。すなわ
ち、ポリゴンＰ１、Ｐ２間で、頂点ｂが共通であり、且つ頂点ｆが共通である。したがって、この場合、ポリゴンＰ１、Ｐ２は互いに隣接していると判定される。同様に、ポリゴンＰ２、Ｐ３が互いに隣接すると共に、ポリゴンＰ３、Ｐ４が互いに隣接していると判定される。
【００３９】
ステップＳ２２では、互いに隣接するポリゴンが同一平面上に配置されているかを調べる。ステップＳ２３では、同一平面上に配置されているポリゴンを抽出する。図１０に示す例では、ポリゴンＰ１〜Ｐ４が同一平面上において互いに隣接して配置されているものと判定される。ステップＳ２４では、平面パラメータを計算すると共に、輪郭の境界線を計算する。輪郭の境界線は、頂点（図１０では、６つの頂点ａ〜ｆ）の位置を表す情報であってもよい。
【００４０】
図１１は、表面領域の重なりを検出する処理を説明するための図である。この処理は、図７のステップＳ４に相当する。以下の説明では、面領域Ａ、Ｂが同一平面上に配置されているものとする。また、面領域Ａは頂点ａ１〜ａ４で表され、面領域Ｂは頂点ｂ１〜ｂ４で表されるものとする。
【００４１】
面領域Ａ、Ｂは、下記の少なくとも一方の条件が満たされれば、互いに重なっていると判定される。
（１）面領域Ａの輪郭を定義する境界線の内側に、面領域Ｂを定義する頂点の少なくとも１つが存在する
（２）面領域Ｂの輪郭を定義する境界線の内側に、面領域Ａを定義する頂点の少なくとも１つが存在する
例えば、図１１（ａ）に示すモデルは、上記条件（１）（２）の双方を満たしている。また、図１１（ｂ）に示すモデルは、上記条件（１）のみを満たしている。
【００４２】
また、包含関係の判断は、下記の条件に従う。
（１）面領域Ａの輪郭を定義する境界線の内側に、面領域Ｂを定義するすべての頂点が位置する
（２）面領域Ｂの輪郭を定義する境界線の内側に、面領域Ａを定義するすべての頂点が位置する
（３）面領域Ａの輪郭を定義する境界線の内側に、面領域Ｂを定義する頂点の一部のみが位置する
（４）面領域Ｂの輪郭を定義する境界線の内側に、面領域Ａを定義する頂点の一部のみが位置する
例えば、図１１（ａ）に示すモデルは、上記条件（１）を満たしている。すなわち、面領域Ｂは面領域Ａに包含されていると判定される。一方、図１１（ｂ）に示すモデルは、上記条件（３）（４）を満たしている。すなわち、面領域Ａ、Ｂは、互いにその一部のみが重複していると判定される。
【００４３】
図１２は、一方の面領域が他方の面領域に包含される場合のポリゴンデータ生成を示すフローチャートである。この処理は、図７のステップＳ５に相当する。以下の説明では、面領域Ａが面領域Ｂを包含するものとする。
【００４４】
ステップＳ３１では、面領域Ａについてポリゴンデータを生成する。これにより生成されるポリゴンの数をＮ１とする。対応する実施例は、図３（ｂ）であり、「Ｎ１＝１０」が得られている。
【００４５】
ステップＳ３２では、面領域Ａから面領域Ｂ（すなわち、接触領域）を削除することにより、面領域Ａ２を生成する。ステップＳ３３では、面領域Ａ２についてポリゴンデータ
を生成する。これにより生成されるポリゴンの数をＮ２とする。対応する実施例は、図４（ａ）であり、「Ｎ２＝８」が得られている。
【００４６】
ステップＳ３４では、面領域Ａと同じ輪郭を有し、且つその内側領域に欠陥のない面領域Ａ３を生成する。「欠陥」とは、不連続な領域を意味し、例えば、面内に存在する孔である。ステップＳ３５では、面領域Ａ３についてポリゴンデータを生成する。これにより生成されるポリゴンの数をＮ３とする。対応する実施例は、図４（ｂ）であり、「Ｎ３＝２」が得られている。
【００４７】
ステップＳ３６では、ポリゴン数Ｎ１〜Ｎ３を比較し、最も少ないポリゴン数を提供する面領域を選択する。上述の例では、「Ｎ１＝１０」「Ｎ２＝８」「Ｎ３＝２」であるので、面領域Ａ３が選択される。そして、選択された面領域について生成されたポリゴンデータが出力される。なお、面領域Ｂについては、図１〜図４を参照しながら説明したように、ポリゴンデータは生成されない（或いは、ポリゴンデータは廃棄される）。
【００４８】
図１３は、互いに一部の領域のみが重なり合う場合のポリゴンデータ生成を示すフローチャートである。この処理は、図７のステップＳ６に相当する。図１３に示すフローチャートの手順は、基本的には、図１２に示す手順と同じである。ただし、面領域Ａ２は、面領域Ａから、面領域Ａ、Ｂの重複領域を削除することにより生成される。また、図１３に示すフローチャートの処理は、面領域Ａ、Ｂの双方に実行するようにしてもよい。
【００４９】
なお、上述の実施例では、いったんすべての表面領域についてのポリゴンデータを生成し、その後に、互いに接触する領域の一方についてのポリゴンデータを廃棄する手順が導入されている。しかし、本発明はこの構成および方法に限定されるものではない。すなわち、例えば、一方の接触領域のポリゴンデータを最初から生成しないようにしてもよい。
【００５０】
＜ハードウェア構成＞
図１４は、実施形態の３次元モデルデータ生成装置１に係わるハードウェア構成を示す図である。図１４において、ＣＰＵ５１は、メモリ５３を利用して３次元モデルデータ生成プログラムを実行する。記憶装置５２は、例えばハードディスクであり、３次元モデルデータ生成プログラムを格納する。なお、記憶装置５２は、コンピュータに接続される記録装置であってもよい。メモリ５３は、例えば半導体メモリであり、ＲＡＭ領域およびＲＯＭ領域を含む。
【００５１】
読み取り装置５４は、ＣＰＵ５１の指示に従って可搬型記録媒体５５にアクセスする。可搬性記録媒体５５は、例えば、半導体デバイス（ＰＣカード等）、磁気的作用により情報が入出力される媒体、光学的作用により情報が入出力される媒体を含むものとする。通信インタフェース５６は、ＣＰＵ５１の指示に従って、ネットワークを介してデータを送受信する。入出力装置５７は、この実施例では、表示装置、およびユーザからの指示を受け付けるデバイス等に相当する。
【００５２】
実施形態に係わる３次元モデルデータ生成プログラムは、例えば、下記の形態で提供される。
（１）記憶装置５２に予めインストールされている。
（２）可搬型記録媒体５５により提供される。
（３）プログラムサーバ６０からダウンロードする。
そして、上記構成のコンピュータで３次元モデルデータ生成プログラムを実行することにより、実施形態に係わるモデルデータ生成装置１が実現される。
【００５３】
上述の各実施例を含む実施形態に関し、さらに下記の付記を開示する。
（付記１）
第１の表面領域を有する第１の要素および第２の表面領域を有する第２の要素を備える３次元物体を表現する３次元モデルデータを生成して保存する３次元モデルデータ生成装置であって、
前記第１および第２の要素の表面形状データを生成する生成手段と、
前記第１の表面領域および第２の表面領域が互いに接触する接触領域を検出する検出手段と、
前記生成手段により生成された表面形状データを記憶装置に格納する格納手段と、
前記第２の表面領域内の前記接触領域についての表面形状データを廃棄する廃棄手段、
有する３次元モデルデータ生成装置。
（付記２）
付記１に記載の３次元モデルデータ生成装置であって、
前記第１の表面形状データは、ポリゴンデータである
ことを特徴とする３次元モデルデータ生成装置。
（付記３）
付記１に記載の３次元モデルデータ生成装置であって、
前記生成手段は、前記第１の表面領域の表面形状データとして、前記第１の表面領域内の前記接触領域を除いた露出領域についての表面形状データを生成する
ことを特徴とする３次元モデルデータ生成装置。
（付記４）
付記１に記載の３次元モデルデータ生成装置であって、
前記第１の表面領域と同じ輪郭を持つ仮想表面領域を定義する定義手段をさらに備え、
前記生成手段は、前記第１の表面領域の表面形状データとして、前記仮想表面領域についての表面形状データを生成する
ことを特徴とする３次元モデルデータ生成装置。
（付記５）
付記１に記載の３次元モデルデータ生成装置であって、
前記生成手段は、
前記第１の表面領域についてのポリゴンデータを生成する第１のポリゴン生成手段と、
前記第１の表面領域内の前記接触領域を除いた露出領域についてのポリゴンデータを生成する第２のポリゴン生成手段と、
前記第１の表面領域と同じ輪郭を持つ仮想表面領域を定義し、その仮想表面領域についてのポリゴンデータを生成する第３のポリゴン生成手段と、
前記第１〜第３のポリゴン生成手段によって生成されるポリゴンデータの中から、ポリゴンの数が最も少ないポリゴンデータを選択する選択手段、を備え、
前記格納手段は、前記選択手段によって選択されたポリゴンデータを前記第１の表面領域の表面形状データとして前記記憶装置に格納する
ことを特徴とする３次元モデルデータ生成装置。
（付記６）
第１の表面領域を有する第１の要素および第２の表面領域を有する第２の要素を備える３次元物体を表現する３次元モデルデータを生成して保存する３次元モデルデータ生成装置であって、
前記第１および第２の要素の表面形状データを生成する生成手段と、
前記第１の表面領域および第２の表面領域が互いに接触する接触領域を検出する検出手段と、
前記生成手段により生成された表面形状データを記憶装置に格納する格納手段、を有し、
前記生成手段は、前記第２の表面領域内の前記接触領域についての表面形状データを生成しない
ことを特徴とする３次元モデルデータ生成装置。
（付記７）
第１の表面領域を有する第１の要素および第２の表面領域を有する第２の要素を備える３次元物体を表現する３次元モデルデータを生成して保存する３次元モデルデータ生成方法であって、
前記第１および第２の要素の表面形状データを生成するステップと、
前記第１の表面領域および第２の表面領域が互いに接触する接触領域を検出するステップと、
生成された表面形状データを記憶装置に格納するステップと、
前記第２の表面領域内の前記接触領域についての表面形状データを廃棄するステップ、
有する３次元モデルデータ生成方法。
（付記８）
第１の表面領域を有する第１の要素および第２の表面領域を有する第２の要素を備える３次元物体を表現する３次元モデルデータを生成して保存するために、コンピュータに、
前記第１および第２の要素の表面形状データを生成する生成手段と、
前記第１の表面領域および第２の表面領域が互いに接触する接触領域を検出する検出手段と、
前記生成手段により生成された表面形状データを記憶装置に格納する格納手段と、
前記第２の表面領域内の前記接触領域についての表面形状データを廃棄する廃棄手段、
を実現させるための３次元モデルデータ生成プログラム。
【図面の簡単な説明】
【００５４】
【図１】表現すべき３次元モデルの例である。
【図２】実施形態の３次元モデルデータ生成装置の構成を示す図である。
【図３】ポリゴンデータ生成の実施例である。
【図４】仮ポリゴンデータの例である。
【図５】他の３次元モデルの例である。
【図６】図５に示すモデルについてのポリゴンデータ削減の実施例である。
【図７】実施形態の３次元モデルデータ生成方法の概略フローチャートである。
【図８】互いに接触する面が存在するかを調べる処理のフローチャートである。
【図９】面データを作成する処理のフローチャートである。
【図１０】面データ作成処理を説明するための図である。
【図１１】面領域の包含関係を説明するための図である。
【図１２】一方の面領域が他方の面領域に包含される場合のポリゴンデータ生成を示すフローチャートである。
【図１３】互いに一部の領域のみが重なり合う場合のポリゴンデータ生成を示すフローチャートである。
【図１４】実施形態の３次元モデルデータ生成装置に係わるハードウェア構成を示す図である。
【符号の説明】
【００５５】
１      ３次元モデルデータ生成装置
１１      ポリゴンデータ生成部
１２      接触領域検出部
１３ａ、１３ｂ      ポリゴンデータ生成部
１４      選択部
１５      廃棄部
１６      格納部
２０      記憶装置
１００      ３次元モデル
【図１】
2010026859.tif 000003
【図２】
2010026859.tif 000004
【図３】
2010026859.tif 000005
【図４】
2010026859.tif 000006
【図５】
2010026859.tif 000007
【図６】
2010026859.tif 000008
【図７】
2010026859.tif 000009
【図８】
2010026859.tif 000010
【図９】
2010026859.tif 000011
【図１０】
2010026859.tif 000012
【図１１】
2010026859.tif 000013
【図１２】
2010026859.tif 000014
【図１３】
2010026859.tif 000015
【図１４】
2010026859.tif 000016