(57)【要約】【課題】３次元モデルをテクスチャー画像で描画するための３次元描画モデル生成方法に関し、テクスチャーモデルのポリゴン数を削減し、円滑な描画を行う。【解決手段】３次元ポリゴンモデル（２０）から３次元モデルの外観形状を簡略化して、細かな凹凸を取り除いて、表面を平坦化したモデル（７０）を作成し、モデル（７０）のテクスチャーを３次元モデル（２０）から取得する。３次元ポリゴンモデル（２０）から平坦化モデル（７０）を作成するので、ポリゴン数を削減して、円滑な描画が可能となる。このため、複雑なモデルを円滑且つリアルタイムで描画できる。【選択図】図５
2005275646.tif 000002
【特許請求の範囲】
【請求項１】
３次元モデルをテクスチャー画像で描画するためのテクスチャーモデルを生成する３次元描画モデル生成方法において、
前記３次元モデルの表面を平坦化するステップと、
前記平坦化した面のテクスチャー画像を前記３次元モデルの描画画像から取得するステップと、
前記平坦化した面のポリゴンと前記テクスチャー画像とで前記テクスチャーモデルを生成するステップとを有する
ことを特徴とする３次元描画モデル生成方法。
【請求項２】
前記テクスチャーモデルの描画画像と前記３次元モデルの描画画像との差を計算するステップと、
前記テクスチャーモデルの生成パラメータを変更するステップとを更に有する
ことを特徴とする請求項１の３次元描画モデル生成方法。
【請求項３】
３次元モデルをテクスチャー画像で描画する３次元モデル描画方法において、
前記３次元モデルを平坦化したモデルのポリゴンを描画するステップと、
前記平坦化したモデルのテクスチャー画像を前記平坦化したモデルにマッピングするステップとを有する
ことを特徴とする３次元モデル描画方法。
【請求項４】
３次元モデルをテクスチャー画像で描画するためのテクスチャーモデルを生成するプログラムにおいて、
前記３次元モデルの表面を平坦化するステップと、前記平坦化した面のテクスチャー画像を前記３次元モデルの描画画像から取得するステップと、前記平坦化した面のポリゴンと前記テクスチャー画像とで前記テクスチャーモデルを生成するステップとをコンピュータに実行させる
ことを特徴とするプログラム。
【請求項５】
３次元モデルをテクスチャー画像で描画する３次元モデル描画プログラムにおいて、
前記３次元モデルを平坦化したモデルのポリゴンを描画するステップと、前記平坦化したモデルのテクスチャー画像を前記平坦化したモデルにマッピングするステップとをコンピュータに実行させる
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータグラフィック（ＣＧ）やコンピュータエイデドデザイン（ＣＡＤ）に好適な３次元描画モデル生成方法、３次元モデル描画方法及びそのプログラムに関し、特に、テクスチャーマッピングを使用して、ポリゴン数を削減するための３次元描画モデル生成方法、３次元モデル描画方法及びそのプログラムに関する。
【背景技術】
【０００２】
計算機上で、機械製品や電気部品等の３次元仮想モデルを構築するシステムが、コンピュータグラフィック、コンピュータエイデドデザインの分野において、広く利用されている。
【０００３】
３次元モデルを表現するのに、モデル表面を小さなポリゴンで定義し、各種の形状を表現する。図３４に示すように、一面１０１０に多数の穴１０２０を設けられた立体物１０００を、ポリゴンモデル化すると、面１０１０は、穴１０２０を表現できるように、多数の三角形ポリゴンで、表現される。即ち、面１０１０は、多数のポリゴンデータ（３次元頂点座標）でデータに定義される。
【０００４】
この３次元モデルが大規模であったり、複雑であったりすると、ポリゴン数が増えるため、描画処理量が増え、高速に描画することが難しかった。ハードウェアの進歩により描画処理能力は向上しているが、３次元モデルも複雑、大規模になっており、自動車や航空機、船舶、工場ラインなどの大規模なモデルでは、ほとんどスムーズに描画することは困難である。
【０００５】
一方、大きなモデルの全体を描画するとき、細かな凹凸は小さく描画され、ほとんどよく見えなくなる。そこで、そのような小さな凹凸の領域をテクスチャーにすることで、細かなポリゴンを削減することができる。
【０００６】
図３５に示すように、テクスチャーは、数枚のポリゴン１０１０−１、１０１０−２で構成される面１０１０に、テクスチャー画像１０３０−１、１０３０−２をマッピングする描画技術であり、細かい模様を高速に描画することができる。このテクスチャー表現するためのモデルをテクスチャーモデルと呼ばれている。
【０００７】
従来、立体物（３次元モデル）において、図３５のように、平面と定義された面に対し、２次元作図機能により、テクスチャーを自動作成することが提案されている（例えば、特許文献１）。
【特許文献１】特開２００２−０６３２２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
この従来の方法は、テクスチャーモデルにより、ポリゴン数を減少できるが、そのようにしても、複雑な形状の３次元モデルでは、多数の平面が存在し、そのポリゴン数も膨大である。このため、複雑な形状の３次元モデルの描画を円滑に行うには、更なる工夫が必要である。
【０００９】
従って、本発明の目的は、複雑な形状の３次元モデルでも、よりポリゴン数を削減したテクスチャーモデルを生成し、高速描画する３次元モデル生成方法、３次元モデル描画方法及びそのプログラムを提供することにある。
【００１０】
又、本発明の他の目的は、３次元モデルの形状を簡略化し、よりポリゴン数を削減したテクスチャーモデルを生成し、高速描画する３次元モデル生成方法、３次元モデル描画方法及びそのプログラムを提供することにある。
【００１１】
更に、本発明の他の目的は、３次元モデルの拡大率に対し、描画に最適なテクスチャーモデルを生成し、高速描画する３次元モデル生成方法、３次元モデル描画方法及びそのプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
この目的の達成のため、本発明の３次元モデルをテクスチャー画像で描画するためのテクスチャーモデルを生成する３次元描画モデル生成方法は、前記３次元モデルの表面を平坦化するステップと、前記平坦化した面のテクスチャー画像を前記３次元モデルの描画画像から取得するステップと、前記平坦化した面のポリゴンと前記テクスチャー画像とで前記テクスチャーモデルを生成するステップとを有する。
【００１３】
本発明の３次元モデルをテクスチャー画像で描画する３次元モデル描画方法は、前記３次元モデルを平坦化したモデルのポリゴンを描画するステップと、前記平坦化したモデルのテクスチャー画像を前記平坦化したモデルにマッピングするステップとを有する。
【００１４】
本発明の３次元モデルをテクスチャー画像で描画するためのテクスチャーモデルを生成するプログラムは、前記３次元モデルの表面を平坦化するステップと、前記平坦化した面のテクスチャー画像を前記３次元モデルの描画画像から取得するステップと、前記平坦化した面のポリゴンと前記テクスチャー画像とで前記テクスチャーモデルを生成するステップとをコンピュータに実行させる。
【００１５】
本発明の３次元モデルをテクスチャー画像で描画する３次元モデル描画プログラムは、前記３次元モデルを平坦化したモデルのポリゴンを描画するステップと、前記平坦化したモデルのテクスチャー画像を前記平坦化したモデルにマッピングするステップとをコンピュータに実行させる。
【００１６】
又、本発明の３次元描画モデル生成方法では、好ましくは、前記平坦化するステップは、前記３次元モデル全体を包むモデルを生成するステップからなる。
【００１７】
又、本発明の３次元描画モデル生成方法では、好ましくは、前記平坦化するステップは、前記３次元モデルの大きな凹みを検出するステップと、前記大きな凹みで前記３次元モデルを分解するステップとからなる。
【００１８】
又、本発明の３次元描画モデル生成方法では、好ましくは、前記３次元モデルの大きな凹みを検出するステップは、前記３次元モデル全体を包むモデルを生成するステップと、前記全体を包むモデルから前記３次元モデルまでの距離を計算するステップと、前記距離により、前記大きな凹みを検出するステップとからなる。
【００１９】
又、本発明の３次元描画モデル生成方法では、好ましくは、前記平坦化するステップは、前記３次元モデルの投影画像を作成するステップと、前記投影画像の輪郭を直線近似するステップと、前記直線近似された輪郭から３次元モデルを再構成するステップとからなる。
【００２０】
又、本発明の３次元描画モデル生成方法では、好ましくは、前記平坦化するステップは、前記３次元モデルの輪郭を抽出するステップと、前記輪郭を連結して閉じた面を生成するステップとからなる。
【００２１】
又、本発明の３次元描画モデル生成方法では、好ましくは、前記平坦化するステップは、前記分解された３次元モデルの各々の投影画像を作成するステップと、前記投影画像の輪郭を直線近似するステップと、前記直線近似された輪郭から前記分解された３次元モデルを再構成するステップとを更に有する。
【００２２】
又、本発明の３次元描画モデル生成方法では、好ましくは、前記大きな凹みを検出するステップは、設定した距離と前記計算した距離とを比較し、前記大きな凹みを検出するステップからなる。
【００２３】
又、本発明の３次元描画モデル生成方法では、好ましくは、前記設定した距離を変更して、精細度の異なるテクスチャーモデルを生成するステップを更に有する。
【００２４】
又、本発明の３次元描画モデル生成方法では、好ましくは、前記投影画像の輪郭の直線近似精度を変更して、細精度の異なるテクスチャーモデルを生成するステップを更に有する。
【００２５】
又、本発明の３次元描画モデル生成方法では、好ましくは、前記テクスチャーモデルの描画画像と前記３次元モデルの描画画像との差を計算するステップと、前記テクスチャーモデルの生成パラメータを変更するステップとを更に有する。
【００２６】
又、本発明の３次元モデル描画方法では、好ましくは、視点と前記３次元モデルとの距離に応じて、精細度の異なる平坦化モデルとテクスチャー画像を選択するステップとを更に有する。
【００２７】
又、本発明の３次元モデル描画方法では、好ましくは、前記視点と前記３次元モデルとの距離が所定値より近づいたことを検出して、前記３次元モデルからテクスチャー画像を描画するステップを更に有する。
【００２８】
又、本発明の３次元モデル描画方法では、好ましくは、前記選択ステップは、前記テクスチャー描画画像と前記３次元描画画像との差を計算して得た精細度の異なる複数の平坦化モデルとテクスチャー画像を、前記視点と前記３次元モデルとの距離に応じて切り替えるステップからなる。
【００２９】
又、本発明の３次元モデル描画方法では、好ましくは、視線の方向に応じて、テクスチャー画像を切り替えるステップを更に有する。
【００３０】
又、本発明の３次元モデル描画方法では、好ましくは、前記３次元モデルの表面を平坦化するステップと、前記平坦化した面のテクスチャー画像を前記３次元モデルの描画画像から取得するステップと、前記平坦化した面のポリゴンと前記テクスチャー画像とで前記テクスチャーモデルを生成するステップとを更に有する。
【発明の効果】
【００３１】
本発明では、３次元ポリゴンモデルから３次元モデルの外観形状を簡略化して、細かな凹凸を取り除いて、表面を平坦化したモデルを作成するので、ポリゴン数を削減して、円滑な描画が可能となる。このため、複雑なモデルを円滑且つリアルタイムで描画できる。
【発明を実施するための最良の形態】
【００３２】
以下、本発明の実施の形態を、３次元モデル描画システム、テクスチャーモデル作成処理、テクスチャーモデル描画処理、他の実施の形態の順で説明するが、本発明は、この実施の形態に限られない。
【００３３】
［３次元モデル描画システム］
図１は、本発明の３次元モデル描画システムの一実施の形態の構成図、図２は、本発明のテクスチャーモデル作成及び描画処理の説明図、図３は、図２の形状の簡略化処理の説明図、図４は、図２のテクスチャー画像取得処理の説明図、図５は、図２の形状簡略化のための凸包処理の説明図、図６は、図２の形状簡略化のための凸分解処理の説明図、図７は、図２の形状簡略化のためのシルエット法の説明図、図８は、図２のテクスチャーマッピング処理の説明図である。
【００３４】
図１に示すように、３次元ＣＡＤ(Computer Aided Design)システム３で設計された製品や装置のモデルを、ポリゴンデータに変換し、記憶装置２に格納しておく。
【００３５】
即ち、３次元ＣＡＤシステム３には、通常、ＣＡＤデータを描画用ポリゴンデータに変換するソフトウェアを搭載しており、これを利用して、ＣＡＤデータをポリゴンデータに変換し、記憶装置２の入力データ格納域２０に、格納する。ここでは、図１０にて、後述するように、モデルを構成する各部品の部品座標と、部品のポリゴンデータとからなる。
【００３６】
ＣＰＵ（Central Processor Unit)１は、マウス、キーボード等のユーザ入力装置４の指示により、図２にて説明するテクスチャーモデル生成処理７を実行し、作成したテクスチャー描画用のモデルのデータを、記憶装置２の出力データ領域２２に格納する。
【００３７】
又、ＣＰＵ１は、描画指示により、記憶装置２の出力データ領域２２のポリゴンデータやテクスチャーデータをグラフィックスボード５に渡して、グラフィックスボード５は、描画用の２次元画像に変換し、ディスプレイ５に表示する。
【００３８】
グラフィックスボード５は、グラフィック用ＣＰＵ５０と、フレームバッファ５２と、デイスプレイコントローラ５４とで構成される。ユーザ入力装置４は、モデルの拡大、縮小、回転、移動などの指令も入力する。
【００３９】
ＣＰＵ１が実行する処理モジュール（プログラム）の構成を、図２に示す。処理は大きく、テクスチャーモデル生成処理７と、描画中の処理８に分けられる。
【００４０】
前処理であるテクスチャーモデル生成処理７は、まず、図３に示すように、３次元ポリゴンモデル３０から３次元モデルの外観形状を簡略化して、細かな凹凸を取り除いたモデル７０を生成する。即ち、３次元ポリゴンモデル３０の外観形状から細かな凹凸を除いて、表面を平坦化したモデル７０を作成する。
【００４１】
次に、テクスチャー画像生成処理７２において、このモデル７０の平面に対し、ポリゴンモデル２０の外観をテクスチャー画像として、外観のモデル７０にマッピングするためのデータを生成する。例えば、図４に示すように、図３のモデル７０の上面、側面、下面に対し、図３のポリゴンモデルの外観を、各々テクスチャー画像３０１、３０２、３０３として、生成する。
【００４２】
描画処理８では、簡略形状のポリゴンを描画し、それにテクスチャーをマッピングして描画する。図５に示すように、外観のモデル７０に、その上面に、上面のテクスチャー画像３０１を、側面に、側面のテクスチャー画像３０２を、下面に、下面のテクスチャー画像３０３を貼り付ける。即ち、テクスチャーマッピングする。これにより、図３の元の３次元ポリゴンモデル３０が表示される。
【００４３】
前述の形状を簡略化したモデル７０を作成する方法を説明する。図６に示すように、小さな凹凸しかないモデル３０−１に対して、その外観形状を得る方法として、凸包構成を適用する。
【００４４】
凸包構成は、点群に対して、それをゴム風船で包んだような形状を求めることで、凸部分だけからなる形状７０−１を計算する。図６の点線に示すように、ポリゴンモデル３０−１のすべての頂点から、凸包形状を求めることで、細かい凹凸や内側のポリゴンを削除した、外観形状７０−１を得ることができる。
【００４５】
前述の図４、図５のように、外観形状に対して削除されたポリゴンのイメージ(テクスチャー画像)をマッピングすることで、元のモデルとそっくりな表示を行う。外観形状の各ポリゴン７０−１に対して、そのポリゴンに含まれる元のポリゴンモデルの画像をテクスチャー画像として取得する。テクスチャー画像は、ポリゴン平面と垂直な方向でポリゴンモデルを描画し、フレームバッファ５２から画像を取得する。
【００４６】
図６で説明すると、ポリゴンモデル３０−１の上面に凹凸が存在する場合に、この面を凸包構成すると、平面となり、２枚のポリゴンで形成でき、ポリゴン数を削減できる。この凸包形状のポリゴン７０−１に、凹凸ある元のポリゴンモデルの画像をマッピングすることで、元のポリゴンモデルとそっくりに表示させる。
【００４７】
又、図７のモデル３０−３に示すような、大きな凹み（非凸部）があると、上記の方法では違和感のある描画となってしまう。そこで、非凸部でモデルを部分７０−３，７０−４，７０−５に分割し、非凸部をなくす処理（凸分解という）を行う。凸分解では、元のポリゴンモデル３０−２と、図６で説明した凸包形状のポリゴンモデルの差から非凸部を検出し、その深さを計算する。
【００４８】
深さがある一定値以上であれば、分解対象とし、その一番深い位置（頂点）を含む切断面を考え、２つのモデル７０−３，７０−４と、７０−４，７０−５に切断する。切断した各モデルに対して、大きな非凸部がなくなるまで、凸分解を繰り返す。これにより、小さな凹凸だけのモデルを作り出すことができる。
【００４９】
非凸部の検出方法としては、元のポリゴンモデルと凸包形状のポリゴンモデルから幾何学的な差分を計算する方法が適用できる。この方法では、モデルが複雑になると計算量が膨大になる。計算量を削減するためには、グラフィックスボード５の陰面処理のためのデプス計算機能を利用して、高速に非凸部の深さを計算する。
【００５０】
図１４で後述するように、凸包形状の各ポリゴンから内側方向に元のポリゴンモデルを見ると、グラフィックスボード５により、元のポリゴンモデルの表面部分が描画され，その距離（デプス）も計算される。これにより、各ポリゴンに対する非凸部の深さが取り出せるので、ある一定値以上の深さを持つポリゴンを抽出する。
【００５１】
更に、外観の簡略化形状を求める他の方法として、凸包構成では、小さな凸があると、その表面が平面にならない。更にポリゴン数を削減するためには、小さな凸部を平らにすればよい。そこで、凹凸のある表面を平坦化し、大きな面から構成される外観形状を求める。
【００５２】
即ち、表面の平坦化として、シルエット法を使用する。図８に示すように、３次元モデル３０−２を正面、側面、上面から描画し、その投影画像（正面、側面）を、フレームバッファ５２から取得し、その画像を２値化して、輪郭（エッジ）を抽出し、直線近似する。次に、抽出したエッジから３次元空間の平面を生成し、この平面で囲まれる立体を計算することで、外観形状７０−２を求めることができる。
【００５３】
投影描画処理とエッジ抽出処理で、表面の凹凸を直線近似することができ、投影描画の縮小率とエッジ抽出の精度で平坦化の度合いを調整できる。このようにしても、大まかなモデルを作成して、ポリゴン数を削減することができる。
【００５４】
又、図８のシルエット法では、非凸形状を構成することができないため、モデルによっては、まずモデル全体を大まかに凸分解する。例えば、図７に示す形状のポリゴンのモデル３０−３では、凸部と凸部の間の非凸部を構成できない。
【００５５】
そこで、前述と同様に、図７に示したように、凸分解により、大きな非凸部分７０−４を検出し、そこでモデルを切断し、３つの部分７０−３，７０−４，７０−５に分割する。特に、複数部品からなるアセンブリモデルで、非凸部分を検出するためには、まずモデル３０−３を、図６のように、凸包で構成し、その凸包の表面から部品表面までの距離を計測する。この距離を高速に計測するために、グラフィックスボード５のデプスバッファ（距離データ）を用いる。
【００５６】
同様に、モデルが１２面体のようないろいろな方向の面を持っている場合、投影方向を増やす必要が生じる。これに対しては、単一の部品ごとに外観を簡略化する方法を適用する。この方法は、図３３で後述するように、部品の輪郭を抽出し、その輪郭を連結して閉じた面を作成すればよい。
【００５７】
［テクスチャーモデル生成処理］
次に、３次元モデル描画のためのテクスチャーモデルの生成処理を、具体的に説明する。図９は、本発明の一実施の形態のテクスチャーモデルの生成処理フロー図、図１０は、図９の入力データの説明図、図１１は、図９の出力データの説明図、図１２は、ポリゴンモデルの一例の説明図、図１３は、図９により凸包構成したモデルの説明図、図１４は、図９の非凸部の検出処理の説明図、図１５は、図９のポリゴンモデルの分割処理の説明図、図１６は、図１５の分割された１つのモデルの説明図、図１７は、図９の投影画像の説明図、図１８は、図９の３次元モデルの再構成の説明図、図１９は、図９のテクスチャーマッピングの説明図、図２０は、図９の処理による図１２のポリゴンモデルのテクスチャーモデルの説明図である。
【００５８】
図１０乃至図２０を参照して、図９の処理フローを説明する。
【００５９】
（Ｓ１０）先ず、非凸部の検出パラメータである凹凸許容値Ｔを設定する。この凹凸許容値により、モデルの精細度が決定される。次に、元のポリゴンデータを入力する。元のポリゴンデータ、即ち、入力データは、図１０に示すように、モデルを構成するパーツの集合である。例えば、図１２に示す複数の部品が連結されたモデルでは、各部品のデータである。部品データは、部品座標と、その部品を形成するポリゴンデータの集合である。部品座標は、ワールド座標に対する部品の位置（３次元）と姿勢（各軸に対する回転角）で構成される。一方、ポリゴンデータは、部品座標に対する三角形の頂点座標（３次元）である。
【００６０】
（Ｓ１２）このポリゴンモデルを凸包構成処理する。凸包構成は、点群に対して、それをゴム風船で包んだような形状を求めることで、凸部分だけからなる形状を計算する。即ち、ポリゴンモデルのすべての頂点から、図１３に示すような凸包形状を求める。これにより、細かい凹凸や内側のポリゴンを削除した、外観形状を得ることができる。例えば、図１２のポリゴンモデルを凸包構成処理すると、図１３のような外観形状７０−１を得る。
【００６１】
（Ｓ１４）次に、凸分解するため、最も深い非凸部を検出する。図１４に示すように、凸包形状（構成）の各ポリゴンから内側方向に元のポリゴンモデルを見ると、グラフィックスボード５により元のポリゴンモデルの表面部分が描画され，その距離（デプス）も計算される。これにより、各ポリゴンに対する非凸部の深さが取り出せる。
【００６２】
（Ｓ１６）最も深い非凸部の深さが、ステップＳ１０で設定した凹凸の許容値Ｔ以上かを判定する。検出した深さが、許容値Ｔ以上でない場合には、凸分解を終了し、ステップＳ２０に進む。
【００６３】
（Ｓ１８）一方、検出した深さが、許容値Ｔ以上であると、ポリゴンモデル３０を分割する。即ち、分解対象とし、その一番深い位置（頂点）を含む切断面を考え、図７に示したように、モデルを切断する。そして、ステップＳ１２に戻り、切断した各モデルに対して、凸包構成を行い、大きな非凸部がなくなるまで、凸分解を繰り返す。これにより、小さな凹凸だけのモデルを作り出すことができる。図１５は、図１２のポリゴンモデル３０を、凸分解により分割した例であり、６つのモデル７００、７０２、７０３、７０４、７０５、７０６に分割される。
【００６４】
（Ｓ２０）分割されたポリゴンモデルの番号ポインタｉを、「０」に初期化し、各分割モデルの処理を行う。
【００６５】
（Ｓ２２）分割したポリゴンモデルＰｉに、シルエット法による処理を行う。即ち、図８で示したように、３次元ポリゴンモデルを正面、側面、上面から描画し、その投影画像（正面、側面）を、フレームバッファから取得する。その投影画像を２値化して、輪郭（エッジ）を抽出し、直線近似する。次に、抽出したエッジから３次元空間の平面を生成し、この平面で囲まれる立体を計算して、３次元モデルを再構築する。この描画処理とエッジ抽出処理で、表面の凹凸を直線近似することができ、描画の縮小率とエッジ抽出の精度で平坦化の度合いを調整できる。
【００６６】
例えば、図１６に示すように、図１５で示した分割されたモデル（デイスクドライブ）７０６の上面、正面、側面の投影画像は、それぞれ、図１７（Ａ），（Ｂ），（Ｃ）のようになる。この投影画像から、エッジ検出して、分割されたモデルを再構成すると、図１８の平坦化された外観形状が得られる。
【００６７】
（Ｓ２４）次に、再構成されたモデルの面を、３角形ポリゴンに変換する。そして、各３角形ポリゴンに対し、図１７（Ａ），（Ｂ），（Ｃ）の投影画像から、マッピングするテクスチャー画像を取得する。
【００６８】
（Ｓ２６）前述の分割モデルの番号ポインタｉを、「１」インクリメントし、インクリメントしたポインタｉの値から全ての分割モデルの処理を終了したかを判定する。終了していない場合には、ステップＳ２２に戻り、シルエット法を用いた平坦化によるポリゴン数の削減とテクスチャー取得を繰り返す。一方、全ての分割モデルの処理を終了すると、テクスチャーモデル生成処理を終了する。
【００６９】
図１１は、こうして得られた出力データ（テクスチャーモデル）の構成図であり、出力データは、面データの集合であり、面データ１は、その面のテクスチャー画像（ビットマップファイル）と、ポリゴンデータとマッピングデータの集合とからなる。ポリゴンデータは、３角形の頂点座標（３次元）であり、マッピングデータは、テクスチャー画像での頂点位置（底面座標ｓ，高さｔ）である。
【００７０】
図１１の出力データと、図１０の部品座標を使用して、テクスチャーマッピングし、図１６の分割モデルを描画すると、図１９のように外観形状が表示される。
【００７１】
又、図１２の全体のポリゴンモデルを、図１１の出力データと、図１０の部品座標を使用して、テクスチャーマッピングし、描画すると、図２０のような全体の外観形状が表示される。
【００７２】
このように、複雑な形状の３次元モデルを簡潔化し、ポリゴン数を削減することにより、複雑な形状の３次元モデルの外観形状の描画を円滑に行うことができる。
【００７３】
特に、必要に応じて、視点位置を変更し、又は拡大、縮小する場合に、高速且つ円滑に変更、拡大、縮小画面を表示できる。
【００７４】
［テクスチャーモデル描画処理］
次に、描画モデルを拡大表示する際に、描画時のモデルの拡大率により、最適なテクスチャーモデルを使用することで、描画速度と描画品質を一定に保つことができる。
【００７５】
つまり、遠くから見るシーンでは、粗いモデルを使い、ポリゴン数を大幅に削減する。一方、近くでは、詳細なモデルを使い、描画品質を維持する。但し、詳細なモデルを使うと、ポリゴン数が増えるが、描画処理では、視野範囲外のモデルを自動的に削除する機能（フラスタムカリングという）があるので、トータルとしてポリゴン数を削減することができる。
【００７６】
このために、近似精度の異なるテクスチャーモデルを用意する必要があり、前述のテクスチャーモデルの生成において、近似精度の異なるテクスチャーモデルを作成する。
【００７７】
具体的には、前述の凸分解では、非凸部分の深さ（許容値）により分解の精度を変えることができる。また、表面の平坦化では、投影画像の分解能により、削除する凹凸の深さを変えることができる。即ち、粗いモデルや細かいモデルは、前処理において、凸分解する非凸部の深さ、シルエット法の投影画像の縮尺やエッジ検出精度、テクスチャー画像取得時の描画サイズを使って、調整する。
【００７８】
図２１は、本発明の一実施の形態のテクスチャーモデル描画処理フロー図、図２２は、図２１のためのビュー操作ツール画面の説明図、図２３は、図２１の粗いテクスチャーモデルの描画例の説明図、図２４は、図２１の詳細なテクスチャーモデルの描画例の説明図、図２５は、図２１の元のポリゴンモデルへの復帰例の説明図、図２６は、図２１の視線方向に応じたテクスチャー画像選択の説明図である。
【００７９】
以下、図２２乃至図２６を参照しながら、図２１の処理フローを説明する。先ず、図２１の左側に示すように、描画開始にあたり、視点位置、方向を初期化し、モデルを描画する。次に、マウス操作により視点位置や視点方向を変更することにより、これに応じたモデルを描画する。
【００８０】
このマウス操作のため、図２２に示すように、ビュー操作ツールが用意されており、このツールは、図２２（Ａ）の視点回転、図２２（Ｂ）の視点移動、図２２（Ｃ）のズームの３つで構成される。
【００８１】
図２２（Ａ）の視点回転ツールでは、平面図、正面図、側面図、立体図、視点反転のアイコンの他に、所定の軸を中心に左右回転、上下回転を、マウスで調整できる。同様に、図２２（Ｂ）の視点移動ツールでは、センタリング（クリック位置を画面中心とする）のアイコンの他に、左右移動、上下移動をマウスで調整できる。
【００８２】
図２２（Ｃ）のズームツールでは、全体表示、領域拡大表示のアイコンの他に、縮小、拡大率をマウスで調整できる。
【００８３】
次に、図２１に戻り、初期化又はマウスで指定された視点位置、視点方向による描画処理を説明する。
【００８４】
（Ｓ３０）指定された視点位置からモデルの拡大率を計算する。
【００８５】
（Ｓ３２）拡大率がしきい値以上かを判定する。拡大率がしきい値以上であれば、ステップＳ３８のポリゴンモデルへの復帰処理に進む。
【００８６】
（Ｓ３４）拡大率がしきい値以上でない場合には、視点位置、拡大率に応じたテクスチャーモデルを選択し、且つ視線方向に応じたテクスチャー画像を選択する。このテクスチャー画像の選択が必要な場合としては、拡大率に応じた粗さのテクスチャー画像を選択する場合がある。又、穴などは見る方向によって陰が変わり、ユーザが部品を非表示にしたり、移動させたりして内部を見る場合がある。このような場合は、テクスチャー画像を切り替えて対応する。このため、事前に、複数方向からのテクスチャー画像や、部品の裏側のテクスチャー画像を取得しておく。
【００８７】
（Ｓ３６）そして、グラフィックスボード５（図１参照）に、視点の位置、方向、ポリゴンの頂点位置、テクスチャー画像、マッピング位置（図１１参照）を指令し、画面に描画する。そして、リターンする。
【００８８】
（Ｓ３８）一方、ステップＳ３２で、拡大率がしきい値以上である場合には、元のポリゴンモデルへ復帰する。即ち、描画処理で、テクスチャーモデルを選択するときに、ある距離以下に近づいたら、元のポリゴンモデルに復帰した方が、正確なモデルを表示できる。このため、グラフィックスボード５（図１参照）に、視点の位置、方向、入力データであるポリゴンの頂点位置、ポリゴンの色（図１０参照）を指令し、画面に描画する。そして、リターンする。
【００８９】
上述したように、モデルに近づくとフラスタムカリングが働くようにすれば、描画処理が遅くなることはない。
【００９０】
図２３は、視点が遠い場合の粗いテクスチャーモデルの描画例であり、図１２のポリゴンモデルに対応する。図２４は、拡大により、視点が近い場合の詳細なテクスチャーモデルの描画例である。図２５は、視点が近いので、元のポリゴンモデルに復帰した場合の描画例である。
【００９１】
縮小の場合も同様である。このように、テクスチャーモデルの切り替えは、拡大率を監視することにより、動的に行うことができる。
【００９２】
又、図２６は、視線方向に応じて、テクスチャー画像を選択した描画例である。ここでは、ユーザが部品を移動して、裏側を見る場合の例であり、このような場合は、テクスチャー画像を切り替えて対応する。
【００９３】
次に、描画処理で、テクスチャーモデルをスムーズに切り替えるために、どのタイミングでどのような粗さのモデルを用意すればよいかを調整することが有効である。即ち、ユーザが指定できる拡大率単位に、テクスチャーモデルを用意することは、メモリ容量の点から見て、得策でない。
【００９４】
そこで、全ての粗さのモデルを用意するのではなく、所定の粗さのモデルに絞る必要がある。このためには、元のポリゴンモデルと用意するテクスチャーモデルとの定量的な近似度評価機能が有効であり、所定の近似率を持つテクスチャーモデルに絞る必要である。
【００９５】
図２７は、近似度定量評価の説明図、図２８は、テクスチャーモデルの選択、生成処理フロー図、図２９は、その説明図である。
【００９６】
図２７及び図２９を参照して、図２８の処理フローを説明する。
【００９７】
（Ｓ４０）先ず、拡大率を初期化（例えば、「１」）とする。これにより、前述の凸分解の深さ許容値やシルエット法の検出精度が、初期値の拡大率に応じて決定される。
【００９８】
（Ｓ４２）前述の図９で説明したテクスチャーモデルの作成処理を行い、描画する。
【００９９】
（Ｓ４４）次に、元のポリゴンモデルの描画画像とテクスチャーモデルの描画画像を比較する。図２７に示すように、比較は、同じ画素位置の輝度値の差分の絶対値に対し、画像全体の総和を求めることで、定量的に評価できる。即ち、ポリゴンモデルの描画画像における位置（ｘ，ｙ）の画素の輝度値Ｒｘ，ｙと、テクスチャーモデルの描画画像における位置（ｘ、ｙ）の画素の輝度値Cx,yと、描画画像の総画素数Ｎを使用して、下記式により、輝度値の差の平均を求め、相関値（近似度）Ｓを求める。
【０１００】
Ｓ＝ΣΣ｜Ｒｘ，ｙ−Ｃｘ，ｙ｜／Ｎ／２５５
尚、輝度値は、０〜２５５までの値をとるものとして、「２５５」で割る。
【０１０１】
（Ｓ４６）計算した相関値Ｓとしきい値Ｔｈを比較する。相関値Ｓが、しきい値Ｔｈより大きい場合には、図２９に示すように、この作成パラメータでは、近似度が悪く、テクスチャーモデルの切り替えが必要と判断する。即ち、テクスチャーモデルの作成パラメータ（前述の凸分解の深さ許容値やシルエット法の検出精度）を精に変え、ステップＳ４２のテクスチャーモデルの作成処理に戻る。
【０１０２】
（Ｓ４８）一方、相関値Ｓが、しきい値Ｔｈ以上でない場合には、近似度が良好なため、拡大率をインクリメントし、拡大率が最大かを判定する。拡大率が最大でない場合には、描画モデルを拡大し、ステップＳ４４の相関値の計算に戻る。また、拡大率が最大なら、終了する。
【０１０３】
このようにして、テクスチャー表現の描画品質を定量評価するために、テクスチャー表現のモデルと正確なモデルの間で描画画像から相関値を計測することで、近似度を得ることができる。そして、この近似度を使用して、テクスチャーモデルを簡易的に切り分けが可能となる。
【０１０４】
［他の実施の形態］
前述の３次元モデルの形状簡略化の更に他の実施の形態を説明する。図３０は、本発明の更に他の実施の形態の３次元モデルの簡略化処理フロー図、図３１は、図３０の輪郭抽出処理フロー図、図３２は、図３０の輪郭から閉じた面を作成する処理フロー図、図３３は、本発明の更に他の実施の形態の３次元モデルの簡略化処理の説明図である。
【０１０５】
前述の実施の形態では、ポリゴンモデルが、主に６面体の立方体である場合に、好適である。しかし、図３３に示すように、モデル３０が、１２面体のようないろいろな方向の面を持っている場合、シルエット法を適用すると、投影方向を増やす必要が生じ、作成処理が複雑化し、且つ時間がかかる。
【０１０６】
これを防止するため、単一の部品ごとに外観を簡略化する。即ち、部品３０の輪郭３２を抽出し、その輪郭３２を連結して閉じた面３４を作成する。この閉じた面３４を、３角形ポリゴン３４−１〜３４−４に分割し、このポリゴン３４−１〜３４−４に対し、テクスチャー画像７０５〜７０８をマッピングする。
【０１０７】
図３１、図３２を参照して、図３０の形状簡略化処理を説明する。
【０１０８】
（Ｓ５０）図１０のポリゴンデータを入力し、輪郭を抽出する。図３０に示すように、輪郭の抽出のため、各ポリゴンの法線ベクトルを計算し、次に、隣り合うポリゴンで法線ベクトル間の角度を計算する。そして、角度がしきい値以下なら、ポリゴン間のエッジを輪郭として、登録する。
【０１０９】
（Ｓ５２）その輪郭３２を連結して閉じた面３４を作成する。図３２に示すように、各輪郭の端点に対し、同じ位置の端点を持つ輪郭を検索し、同じ位置の端点を持つ輪郭を接続し、閉じた面を作成する。
【０１１０】
（Ｓ５４）この閉じた各面３４を、３角形ポリゴン３４−１〜３４−４に分割する。
【０１１１】
（Ｓ５６）この面のテクスチャー画像を取得し、且つ各ポリゴン３４−１〜３４−４に、テクスチャー画像の部分を対応させ、マッピングデータを作成する。
【０１１２】
このようにしても、結局、３次元モデルの外観を簡略化し、且つ面により平坦化でき、ポリゴン数を削減できる。特に、モデルの面数が多い場合に、有効である。
【０１１３】
前述の実施の形態では、機構部品のモデルを例に説明したが、他の構成のモデルにも適用できる。同様に、外観の簡略化方法として、凸包構成と、シルエット法、輪郭抽出による平面生成を説明したが、前述のように、モデルの形状に応じて、これらを単独もしくは複数組み合わせることができる。
【０１１４】
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。
【０１１５】
（付記１）３次元モデルをテクスチャー画像で描画するためのテクスチャーモデルを生成する３次元描画モデル生成方法において、前記３次元モデルの表面を平坦化するステップと、前記平坦化した面のテクスチャー画像を前記３次元モデルの描画画像から取得するステップと、前記平坦化した面のポリゴンと前記テクスチャー画像とで前記テクスチャーモデルを生成するステップとを有することを特徴とする３次元描画モデル生成方法。
【０１１６】
（付記２）前記平坦化するステップは、前記３次元モデル全体を包むモデルを生成するステップからなることを特徴とする付記１の３次元描画モデル生成方法。
【０１１７】
（付記３）前記平坦化するステップは、前記３次元モデルの大きな凹みを検出するステップと、前記大きな凹みで前記３次元モデルを分解するステップとからなることを特徴とする付記１の３次元描画モデル生成方法。
【０１１８】
（付記４）前記３次元モデルの大きな凹みを検出するステップは、前記３次元モデル全体を包むモデルを生成するステップと、前記全体を包むモデルから前記３次元モデルまでの距離を計算するステップと、前記距離により、前記大きな凹みを検出するステップとからなることを特徴とする付記３の３次元描画モデル生成方法。
【０１１９】
（付記５）前記平坦化するステップは、前記３次元モデルの投影画像を作成するステップと、前記投影画像の輪郭を直線近似するステップと、前記直線近似された輪郭から３次元モデルを再構成するステップとからなることを特徴とする付記１の３次元描画モデル生成方法。
【０１２０】
（付記６）前記平坦化するステップは、前記３次元モデルの輪郭を抽出するステップと、前記輪郭を連結して閉じた面を生成するステップとからなることを特徴とする付記１の３次元描画モデル生成方法。
【０１２１】
（付記７）前記平坦化するステップは、前記分解された３次元モデルの各々の投影画像を作成するステップと、前記投影画像の輪郭を直線近似するステップと、前記直線近似された輪郭から前記分解された３次元モデルを再構成するステップとを更に有することを特徴とする付記３の３次元描画モデル生成方法。
【０１２２】
（付記８）前記大きな凹みを検出するステップは、設定した距離と前記計算した距離とを比較し、前記大きな凹みを検出するステップからなることを特徴とする付記４の３次元描画モデル生成方法。
【０１２３】
（付記９）前記設定した距離を変更して、精細度の異なるテクスチャーモデルを生成するステップを更に有することを特徴とする付記８の３次元描画モデル生成方法。
【０１２４】
（付記１０）前記投影画像の輪郭の直線近似精度を変更して、細精度の異なるテクスチャーモデルを生成するステップを更に有することを特徴とする付記６の３次元描画モデル生成方法。
【０１２５】
（付記１１）前記テクスチャーモデルの描画画像と前記３次元モデルの描画画像との差を計算するステップと、前記テクスチャーモデルの生成パラメータを変更するステップとを更に有することを特徴とする付記１の３次元描画モデル生成方法。
【０１２６】
（付記１２）３次元モデルをテクスチャー画像で描画する３次元モデル描画方法において、前記３次元モデルを平坦化したモデルのポリゴンを描画するステップと、前記平坦化したモデルのテクスチャー画像を前記平坦化したモデルにマッピングするステップとを有することを特徴とする３次元モデル描画方法。
【０１２７】
（付記１３）視点と前記３次元モデルとの距離に応じて、精細度の異なる平坦化モデルとテクスチャー画像を選択するステップとを更に有することを特徴とする付記１２の３次元モデル描画方法。
【０１２８】
（付記１４）前記視点と前記３次元モデルとの距離が所定値より近づいたことを検出して、前記３次元モデルからテクスチャー画像を描画するステップを更に有することを特徴とする付記１３の３次元モデル描画方法。
【０１２９】
（付記１５）前記選択ステップは、前記テクスチャー描画画像と前記３次元描画画像との差を計算して得た精細度の異なる複数の平坦化モデルとテクスチャー画像を、前記視点と前記３次元モデルとの距離に応じて切り替えるステップからなることを特徴とする付記１３の３次元モデル描画方法。
【０１３０】
（付記１６）視線の方向に応じて、テクスチャー画像を切り替えるステップを更に有することを特徴とする付記１２の３次元モデル描画方法。
【０１３１】
（付記１７）前記３次元モデルの表面を平坦化するステップと、前記平坦化した面のテクスチャー画像を前記３次元モデルの描画画像から取得するステップと、前記平坦化した面のポリゴンと前記テクスチャー画像とで前記テクスチャーモデルを生成するステップとを更に有することを特徴とする付記１２の３次元モデル描画方法。
【０１３２】
（付記１８）３次元モデルをテクスチャー画像で描画するためのテクスチャーモデルを生成するプログラムにおいて、前記３次元モデルの表面を平坦化するステップと、前記平坦化した面のテクスチャー画像を前記３次元モデルの描画画像から取得するステップと、前記平坦化した面のポリゴンと前記テクスチャー画像とで前記テクスチャーモデルを生成するステップとをコンピュータに実行させることを特徴とするプログラム。
【０１３３】
（付記１９）前記テクスチャーモデルの描画画像と前記３次元モデルの描画画像との差を計算するステップと、前記テクスチャーモデルの生成パラメータを変更するステップとを更にコンピュータに実行させることを特徴とする付記１８のプログラム。
【０１３４】
（付記２０）３次元モデルをテクスチャー画像で描画する３次元モデル描画プログラムにおいて、前記３次元モデルを平坦化したモデルのポリゴンを描画するステップと、前記平坦化したモデルのテクスチャー画像を前記平坦化したモデルにマッピングするステップとをコンピュータに実行させることを特徴とするプログラム。
【産業上の利用可能性】
【０１３５】
３次元ポリゴンモデルから３次元モデルの外観形状を簡略化して、細かな凹凸を取り除いて、表面を平坦化したモデルを作成するので、ポリゴン数を削減して、円滑な描画が可能となる。このため、特に、複雑なモデルを円滑且つリアルタイムで描画するのに有効である。
【図面の簡単な説明】
【０１３６】
【図１】本発明の３次元モデル描画システムの一実施の形態の構成図である。
【図２】本発明のテクスチャーモデル作成及び描画処理の説明図である。
【図３】図２の形状の簡略化処理の説明図である。
【図４】図２のテクスチャー画像取得処理の説明図である。
【図５】図２の形状簡略化のための凸包処理の説明図である。
【図６】図２の形状簡略化のための凸分解処理の説明図である。
【図７】図２の形状簡略化のためのシルエット法の説明図である。
【図８】図２のテクスチャーマッピング処理の説明図である。
【図９】本発明の一実施の形態のテクスチャーモデルの生成処理フロー図である。
【図１０】図９の入力データの説明図である。
【図１１】図９の出力データの説明図である。
【図１２】図９のポリゴンモデルの一例の説明図である。
【図１３】図９により凸包構成したモデルの説明図である。
【図１４】図９の非凸部の検出処理の説明図である。
【図１５】図９のポリゴンモデルの分割処理の説明図である。
【図１６】図１５の分割された１つのモデルの説明図である。
【図１７】図９の投影画像の説明図である。
【図１８】図９の３次元モデルの再構成の説明図である。
【図１９】図９のテクスチャーマッピングの説明図である。
【図２０】図９の処理による図１２のポリゴンモデルのテクスチャーモデルの説明図である。
【図２１】本発明の一実施の形態のテクスチャーモデル描画処理フロー図である。
【図２２】図２１のためのビュー操作ツール画面の説明図である。
【図２３】図２１の粗いテクスチャーモデルの描画例の説明図である。
【図２４】図２１の詳細なテクスチャーモデルの描画例の説明図である。
【図２５】図２１の元のポリゴンモデルへの復帰例の説明図である。
【図２６】図２１の視線方向に応じたテクスチャー画像選択の説明図である。
【図２７】本発明の一実施の形態のテクスチャーモデル評価方法の説明図である。
【図２８】図２７の評価方法を使用したテクスチャーモデル生成処理フロー図である。
【図２９】図２７の評価方法を適用したテクスチャーモデル切り替え処理の説明図である。
【図３０】本発明の更に他の実施の形態の形状簡略化処理フロー図である。
【図３１】図３０の輪郭抽出処理フロー図である。
【図３２】図３０の輪郭から閉じた面の作成処理フロー図である。
【図３３】図３０の形状簡略化処理の説明図である。
【図３４】従来のポリゴンモデルの説明図である。
【図３５】従来のテクスチャーモデルの説明図である。
【符号の説明】
【０１３７】
１  ＣＰＵ
２  記憶装置
３  ３次元ＣＡＤ
４  ユーザ入力装置
５  グラフィックスボード
６  デイスプレイ
７  テクスチャーモデル生成処理
８  描画処理
２０  ３次元ポリゴンモデル
７０  形状簡略化処理
７２  テクスチャー画像生成処理
【図１】
2005275646.tif 000003
【図２】
2005275646.tif 000004
【図３】
2005275646.tif 000005
【図４】
2005275646.tif 000006
【図５】
2005275646.tif 000007
【図６】
2005275646.tif 000008
【図７】
2005275646.tif 000009
【図８】
2005275646.tif 000010
【図９】
2005275646.tif 000011
【図１０】
2005275646.tif 000012
【図１１】
2005275646.tif 000013
【図１２】
2005275646.tif 000014
【図１３】
2005275646.tif 000015
【図１４】
2005275646.tif 000016
【図１５】
2005275646.tif 000017
【図１６】
2005275646.tif 000018
【図１７】
2005275646.tif 000019
【図１８】
2005275646.tif 000020
【図１９】
2005275646.tif 000021
【図２０】
2005275646.tif 000022
【図２１】
2005275646.tif 000023
【図２２】
2005275646.tif 000024
【図２３】
2005275646.tif 000025
【図２４】
2005275646.tif 000026
【図２５】
2005275646.tif 000027
【図２６】
2005275646.tif 000028
【図２７】
2005275646.tif 000029
【図２８】
2005275646.tif 000030
【図２９】
2005275646.tif 000031
【図３０】
2005275646.tif 000032
【図３１】
2005275646.tif 000033
【図３２】
2005275646.tif 000034
【図３３】
2005275646.tif 000035
【図３４】
2005275646.tif 000036
【図３５】
2005275646.tif 000037