(57)【要約】【課題】  詳細度が低いポリゴンモデルでの物体の表示をより適切に行えるようにするための技術を提供する。【解決手段】  ポリゴンモデルを簡略化する場合、それが表現する物体の輪郭を検出し、検出した輪郭、及びその近傍はその他の部分と比較して稜線縮退操作を行う頻度を抑える。それにより、検出した輪郭を優先して保存する形でポリゴンモデルの簡略化を行う。【選択図】      図１２
2005267272.tif 000002
【特許請求の範囲】
【請求項１】
複数の頂点を持つポリゴンの集合により３次元の物体を表現するポリゴンモデルの簡略化を行うための方法であって、
前記ポリゴンモデルで表現された前記物体の輪郭を検出し、
前記検出した輪郭を考慮して、前記物体の表現に用いるポリゴンの数を減少させることにより、前記ポリゴンモデルを簡略化する、
ことを特徴とするポリゴンモデルの簡略化方法。
【請求項２】
前記ポリゴンの２つの頂点を結ぶ稜線別に、該２つの頂点を１つにまとめて該稜線を消滅させる縮退操作を行うことにより生じる誤差を評価し、
前記評価した誤差を前記輪郭と併せて考慮して、前記稜線の数を前記縮退操作により減らすことにより、前記ポリゴンの数を減少させて前記ポリゴンモデルを簡略化する、
ことを特徴とする請求項１記載のポリゴンモデルの簡略化方法。
【請求項３】
前記輪郭の検出は、定められた視点で行い、
前記ポリゴンモデルを簡略化した後に前記視点のみを変更する場合に、該簡略化したポリゴンモデルによる前記物体の輪郭を該変更後の視点で再度、検出し、
該検出した輪郭を考慮して、前記簡略化したポリゴンモデルに対し、前記ポリゴンの２つの頂点を結ぶ稜線の縮退操作、及び該縮退によって既に１つにまとめられた頂点を分割する分割操作を行うことにより、該ポリゴンの数の変化を少なくとも抑えつつ簡略化したポリゴンモデルを新たに生成する、
ことを特徴とする請求項１、または２記載のポリゴンモデルの簡略化方法。
【請求項４】
複数の頂点を持つポリゴンの集合により３次元の物体を表現するポリゴンモデルの簡略化を行う画像処理装置において、
前記ポリゴンモデルを表すモデルデータを取得するデータ取得手段と、
前記モデルデータが表すポリゴンモデルで表現された前記物体の輪郭を検出する輪郭検出手段と、
前記輪郭検出手段による輪郭の検出結果を基に、前記物体の表現に用いるポリゴンの数を減少させることにより、前記データ取得手段がモデルデータを取得したポリゴンモデルを簡略化したモデルデータを生成するデータ生成手段と、
を具備することを特徴とする画像処理装置。
【請求項５】
前記物体の表現に用いる前記ポリゴンの２つの頂点を結ぶ稜線別に、該２つの頂点を１つにまとめて該稜線を消滅させる縮退操作を行うことにより生じる誤差を評価する誤差評価手段、を更に具備し、
前記データ生成手段は、前記輪郭、及び前記誤差評価手段が評価した誤差を基に、前記稜線の数を前記縮退操作により減らすことにより、前記ポリゴンの数を減少させて前記ポリゴンモデルを簡略化する、
ことを特徴とする請求項４記載の画像処理装置。
【請求項６】
ポリゴンモデルで表現された３次元の物体の画像を描画する画像描画装置において、
前記ポリゴンモデルを表すモデルデータを取得するデータ取得手段と、
前記モデルデータが表すポリゴンモデルで表現された前記物体の輪郭を検出する輪郭検出手段と、
前記ポリゴンモデルの詳細度から、前記ポリゴン数を決定するポリゴン数決定手段と、
前記輪郭検出手段による輪郭の検出結果を基に、前記ポリゴンの２つの頂点を１つにまとめて該頂点間の稜線を消滅させる縮退操作を行うことにより、前記データ取得手段がモデルデータを取得したポリゴンモデルを簡略化して、該ポリゴンモデルが表現する物体を前記ポリゴン数決定手段が決定したポリゴン数で表現するポリゴンモデルのモデルデータを生成するデータ生成手段と、
前記データ生成手段が生成したモデルデータを用いて前記物体の画像を描画する画像描画手段と、
を具備することを特徴とする画像描画装置。
【請求項７】
複数の頂点を持つポリゴンの集合により３次元の物体を表現するポリゴンモデルの簡略化を行う画像処理装置に実行させるプログラムであって、
前記ポリゴンモデルを表すモデルデータを取得する機能と、
前記モデルデータが表すポリゴンモデルで表現された前記物体の輪郭を検出する機能と、
前記検出する機能による輪郭の検出結果を基に、前記物体の表現に用いるポリゴンの数を減少させることにより、前記取得する機能によりモデルデータを取得したポリゴンモデルを簡略化したモデルデータを生成する機能と、
を実現させるためのプログラム。
【請求項８】
ポリゴンモデルで表現された３次元の物体の画像を描画する画像描画装置に実行させるプログラムであって、
前記ポリゴンモデルを表すモデルデータを取得する機能と、
前記モデルデータが表すポリゴンモデルで表現された前記物体の輪郭を検出する機能と、
前記ポリゴンモデルの詳細度から、前記ポリゴン数を決定する機能と、
前記検出する機能による輪郭の検出結果を基に、前記ポリゴンの２つの頂点を１つにまとめて該頂点間の稜線を消滅させる縮退操作を行うことにより、前記取得する機能によりモデルデータを取得したポリゴンモデルを簡略化して、該ポリゴンモデルが表現する物体を前記決定する機能により決定したポリゴン数で表現するポリゴンモデルのモデルデータを生成する機能と、
前記生成する機能により生成したモデルデータを用いて前記物体の画像を描画する機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の頂点を持つポリゴンの集合により３次元の物体を表現するポリゴンモデルを簡略化する技術に関する。
【背景技術】
【０００２】
近年、コンピュータ・グラフィックス（ＣＧ）は様々な分野で利用されている。そのＣＧで画像の表現に用いられるものにポリゴンモデルがある。そのポリゴンモデルは、ポリゴンと呼ばれる多角形の平面の集合により３次元物体を表現するモデルである。そのポリゴンの形状としては三角形が採用されるのが一般的である。そのポリゴンの集合により表された面はポリゴンパッチ面と呼ばれる。
【０００３】
３次元ＣＧでは、描画品質と描画速度の向上が望まれている。描画品質を向上させるためには、細部まで表現された解像度の高いモデルが必要である。しかし、解像度の高いモデルではポリゴン数が多いために、描画時間は長くなる。その描画時間を短くするためにポリゴン数を少なくすると、解像度は低下する。このように、描画品質と描画速度はトレードオフの関係にあるのが普通である。
【０００４】
描画速度と描画品質の両方を満足させるための手法の一つにＬＯＤ（Level Of Detail）を用いた描画手法がある。その手法では、図１３に示すように、画面上に描画する画像の見かけの大きさに応じて、その大きさが小さくなるほどポリゴン数のより少ないポリゴンモデルで画像を描画するようになっている。それにより、その画像の描画品質の視覚的な低下を回避しつつ、より高速な描画を実現させている。このことから、そのＬＯＤは、ＶＲ（Virtual Reality）やゲームなどのアプリケーション・プログラム（以下「アプリケーション」と略記）で広く採用されている。これは、そのようなアプリケーションでは、膨大なデータで表現される仮想空間内で描画する部分を変更（更新）する頻度が高いために、描画を高速に行えるようにすることが強く求められるからである。
【０００５】
ＬＯＤで用いるポリゴンモデルは事前に用意しても良い。しかし、各ポリゴンモデルを手作業で作成するのは困難である。このことから、詳細なポリゴンモデルを一つだけ用意して、それよりもポリゴン数の少ないポリゴンモデルはその詳細なポリゴンモデルから自動的に生成することも行われている（非特許文献１、２）。以降、詳細なポリゴンモデルから生成されるポリゴンモデルについては、元のポリゴンモデル（で表現される画像）を簡略化する形で近似するものであることから「近似ポリゴンモデル」と呼ぶこととする。
【０００６】
上記ポリゴンモデルの簡略化とは、ポリゴン数を減少させることである。そのポリゴン数の減少は、edge collapseと呼ばれる稜線縮退操作により行われる。その操作について図１４を参照して具体的に説明する。
【０００７】
図１４中のｖ１、及びｖ２は、ポリゴンの頂点である。その２つの頂点ｖ１、ｖ２を一つの頂点Ｖにまとめると、頂点ｖ１、ｖ２間の線である稜線は縮退して消滅し、その消滅に伴い、２つのポリゴンも消滅する。稜線縮退操作は、そのようにして稜線を縮退させることでポリゴン数を減少させるものである。ポリゴン数の簡略化は、その稜線縮退操作を反復的に行うことにより実現される。
【０００８】
稜線縮退操作の逆操作は、頂点分割操作（vsplit）と呼ばれる。その頂点分割操作は、一つにまとめられた頂点Ｖを元の２つの頂点ｖ１、ｖ２に分割し、その分割によって２つのポリゴンを発生させる操作である。頂点分割操作、稜線縮退操作は、その操作内容を示す情報を保存しておくことにより可逆性を持たせることができる（非特許文献２）。そのため、稜線縮退操作を利用した簡略化を行う場合には、その操作情報を保存しておくことにより、任意の段階の近似ポリゴンモデルを可逆的に生成することができる。
【０００９】
上記稜線縮退操作では、縮退させる稜線の選択（縮退させていく稜線の順番）、稜線縮退後の頂点位置の決定、の２点が重要である。なぜなら、簡略化後のポリゴンモデルで表現される画像は、この２点の決め方に大きく影響されるからである。従って、それら２点を適切な方法で決定しなければならない。
【００１０】
その従来の方法として、非特許文献１に記載されたように、ＱＥＭ（Quadric Error Metric）を用いたものがある。そのＱＥＭを用いた従来の方法では、前処理として、全ての頂点でＱＥＭを計算し、全ての稜線でＱＥＭ、縮退後の頂点の位置、その頂点の位置に縮退させることによって生じる誤差の大きさを示す評価値（ＱＥＤ：Quadric Error Distance）をそれぞれ計算する。以降、稜線のなかで評価値が最小（エネルギーが最小）の稜線を選択して縮退させていくことにより、ポリゴンモデルを簡略化していた。
【００１１】
縮退させた稜線の周辺に位置する頂点、稜線のＱＥＭは更新する。縮退によって１つにまとめられた頂点のＱＥＭは、縮退前の２つの頂点のＱＥＭの和とさせる。それにより、縮退操作前の形状情報を保存する。そのようにして形状情報を保存しながら稜線縮退操作を行うため、その操作によって簡略化されるポリゴンモデルが元のモデルから大きく変化するようなことを回避できるようになっている。また、行列を用いた比較的に単純な計算のみでその縮退操作は行えるため、ポリゴンモデルの簡略化を高速に行えるという利点もある。
【００１２】
ここでＱＥＭについて具体的に説明する。そのＱＥＭは、各頂点における、隣接面との距離の二乗和を計算するための行列を示すものである。
ポリゴンの面分の法線ベクトルをｎ、頂点座標をｖとすると次式が成り立つ。
【００１３】
ｎTｖ＋ｄ＝０                                           ・・・  （１）
ただし、（１）式中に上添字として示すＴは転置を表している。
このとき、任意の点ｖ（ｘ、ｙ、ｚ）との距離Ｄと二乗距離（quadric error）Ｄ2はそれぞれ
Ｄ＝ｎTｖ＋ｄ                                           ・・・  （２）
Ｄ2＝（ｎTｖ＋ｄ）2＝ｖT（ｎｎT）ｖ＋２ｄｎTｖ＋ｄ2  ・・・  （３）
により求められる。ここで、３×３行列をＡ、３次元ベクトルをｂ、定数をｃ、及びそれらの数値から構成される４×４行列をＱとすると、行列Ｑは以下のように定義することができ、二乗距離Ｑ（ｖ）すなわちＤ2は以下のように変形される。
【００１４】
Ｑ＝（Ａ，ｂ、ｃ）＝（ｎｎT，ｄｎ，ｄ2）                ・・・  （４）
Ｑ（ｖ）＝ｖTＡｖ＋２ｂTｖ＋ｃ                          ・・・  （５）
さらに点座標をｖ（ｘ，ｙ，ｚ，１）とすれば、（５）式は
Ｑ（ｖ）＝ｖTＱｖ                                       ・・・  （６）
とも表される。このＱをＱＥＭ、二乗距離Ｑ（ｖ）をＱＥＤと呼ぶ。そのＱ（ｖ）は２次式なので
∂Ｑ（ｖ）／∂ｘ＝∂Ｑ（ｖ）／∂ｙ＝∂Ｑ（ｖ）／∂ｚ＝０    ・・・  （７）
のとき最小値となる。この条件から、Ｑ（ｖ）の最小値、およびそれに対応する位置座標Ｖはそれぞれ以下のようになる。
【００１５】
Ｑ（Ｖ）＝−ｂTＡ-1ｂ＋ｃ                               ・・・  （８）
Ｖ＝−Ａ-1ｂ                                            ・・・  （９）
稜線縮退後の頂点位置は、（９）式を用いて決定される。
【００１６】
詳細度を示すＬＯＤを用いた描画手法では、描画する物体の見かけ上の大きさに応じて決定する。物体の見かけ上の大きさが小さくなるほど、ポリゴン数はより少なく設定される。しかし、従来は、ポリゴン数を減少させる稜線縮退操作はＱＥＤ（評価値）が小さい稜線から順次、行うことにより、物体の表面形状を全体的に保存するようになっていた。このため、例えば図１５に示すように、簡略化によるポリゴン数の減少に伴い、物体の輪郭形状が大きく崩れてしまうことがあった。
【００１７】
物体を大きく表示する場合、その全体を詳細に表現することが望まれる。しかし、物体を小さく表示するような場合には、輪郭はそれ以外の部分より正確に表現するのが望ましいと云える。これは、物体を認識するうえで輪郭から得られる情報量はそれ以外の部分から得られるそれより多いのが普通だからである。輪郭から物体の種類を判別することは比較的に容易であるが、模様からその判別をするのは困難なのが普通だからである。このようなことから、詳細度を低くする場合には、視覚的な違和感を与えるのを回避するために、言い換えれば物体の表示をより適切に行うために、表面形状は輪郭部分とそうでない部分とに分けて、輪郭形状の保存を優先させることが重要であると考えられる。
【特許文献１】特開平１１−２５９６７４号公報
【非特許文献１】M. Garland, P.S. Heckbert, Surface Simplification Using Quadric Error Metrics, Computer Graphics(SIGGRAPH), 1997, pp209-216
【非特許文献２】H. Hoppe, Progressive Meshes, Computer Graphics(SIGGRAPH), 1996, pp99-108
【発明の開示】
【発明が解決しようとする課題】
【００１８】
本発明の課題は、詳細度が低いポリゴンモデルでの物体の表示をより適切に行えるようにするための技術を提供することにある。
【課題を解決するための手段】
【００１９】
本発明の第１の態様のポリゴンモデルの簡略化方法は、複数の頂点を持つポリゴンの集合により３次元の物体を表現するポリゴンモデルの簡略化を行うための方法であって、ポリゴンモデルで表現された物体の輪郭を検出し、検出した輪郭を考慮して、物体の表現に用いるポリゴンの数を減少させることにより、ポリゴンモデルを簡略化する。
【００２０】
第２の態様のポリゴンモデルの簡略化方法は、上記第１の態様において、ポリゴンの２つの頂点を結ぶ稜線別に、該２つの頂点を１つにまとめて該稜線を消滅させる縮退操作を行うことにより生じる誤差を評価し、評価した誤差を輪郭と併せて考慮して、稜線の数を縮退操作により減らすことにより、ポリゴンの数を減少させてポリゴンモデルを簡略化する。
【００２１】
なお、上記輪郭の検出は、定められた視点で行い、ポリゴンモデルを簡略化した後に視点のみを変更する場合に、該簡略化したポリゴンモデルによる物体の輪郭を該変更後の視点で再度、検出し、該検出した輪郭を考慮して、簡略化したポリゴンモデルに対し、ポリゴンの２つの頂点を結ぶ稜線の縮退操作、及び該縮退によって既に１つにまとめられた頂点を分割する分割操作を行うことにより、該ポリゴンの数の変化を少なくとも抑えつつ簡略化したポリゴンモデルを新たに生成する、ことが望ましい。
【００２２】
本発明の第１の態様の画像処理装置は、複数の頂点を持つポリゴンの集合により３次元の物体を表現するポリゴンモデルの簡略化を行うことを前提とし、ポリゴンモデルを表すモデルデータを取得するデータ取得手段と、モデルデータが表すポリゴンモデルで表現された物体の輪郭を検出する輪郭検出手段と、輪郭検出手段による輪郭の検出結果を基に、物体の表現に用いるポリゴンの数を減少させることにより、データ取得手段がモデルデータを取得したポリゴンモデルを簡略化したモデルデータを生成するデータ生成手段と、を具備する。
【００２３】
第２の態様の画像処理装置は、上記第１の態様における構成に加えて、物体の表現に用いるポリゴンの２つの頂点を結ぶ稜線別に、該２つの頂点を１つにまとめて該稜線を消滅させる縮退操作を行うことにより生じる誤差を評価する誤差評価手段、を更に具備し、データ生成手段は、輪郭、及び誤差評価手段が評価した誤差を基に、稜線の数を縮退操作により減らすことにより、ポリゴンの数を減少させてポリゴンモデルを簡略化する。
【００２４】
本発明の画像描画装置は、ポリゴンモデルで表現された３次元の物体の画像を描画することを前提とし、ポリゴンモデルを表すモデルデータを取得するデータ取得手段と、モデルデータが表すポリゴンモデルで表現された物体の輪郭を検出する輪郭検出手段と、ポリゴンモデルの詳細度から、ポリゴン数を決定するポリゴン数決定手段と、輪郭検出手段による輪郭の検出結果を基に、ポリゴンの２つの頂点を１つにまとめて該頂点間の稜線を消滅させる縮退操作を行うことにより、データ取得手段がモデルデータを取得したポリゴンモデルを簡略化して、該ポリゴンモデルが表現する物体をポリゴン数決定手段が決定したポリゴン数で表現するポリゴンモデルのモデルデータを生成するデータ生成手段と、データ生成手段が生成したモデルデータを用いて物体の画像を描画する画像描画手段と、を具備する。
【００２５】
本発明の第１、及び第２の態様のプログラムは、上記第１の態様の画像処理装置、上記画像描画装置を実現させるための機能が搭載されている。
【発明の効果】
【００２６】
本発明は、ポリゴンモデルで表現された物体の輪郭を検出し、検出した輪郭を考慮して、物体の表現に用いるポリゴンの数を減少させることにより、ポリゴンモデルを簡略化する。このため、輪郭の保存を他の部分より優先させた形での簡略化を行うことができる。その輪郭を保存することにより、物体の視認性の低下はより抑えられるため、簡略化後のポリゴンモデルでの物体の表示（描画）はより適切に行うことができる。
【００２７】
ポリゴンの２つの頂点を結ぶ稜線別に、その稜線を消滅させる縮退操作を行うことにより生じる誤差を評価し、評価した誤差を輪郭と併せて考慮してポリゴンモデルを簡略化するようにした場合には、全体的な誤差をより抑える形でポリゴンモデルの簡略化を行えるようになる。
【００２８】
ポリゴンモデルを簡略化した後に視点のみを変更する場合に、簡略化したポリゴンモデルによる物体の輪郭を変更後の視点で再度、検出し、検出した輪郭を考慮して、簡略化したポリゴンモデルに対し、稜線の縮退操作、及び頂点を分割する分割操作を行うことにより、ポリゴンの数の変化を少なくとも抑えつつ簡略化したポリゴンモデルを新たに生成するようにした場合には、行うべき操作の数をより抑えられるようになる。このため、簡略化したポリゴンモデルの新たな生成をより高速に行えるようになる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
図１は、本実施の形態による画像描画装置の構成図である。
その画像描画装置は、図１に示すように、装置全体の制御を実行するＣＰＵ１と、ＣＰＵ１が実行するプログラムや各種制御用データを格納したＲＯＭ２と、ＣＰＵ１がワークに用いるＲＡＭ３と、ユーザが操作の対象とするスイッチ部４と、画像を表示する表示部５と、例えばハードディスク装置である外部記憶装置６と、を備えて構成されている。それにより、描画した画像を表示部５上に表示するものとして実現されている。
【００３０】
上記スイッチ部４は、各種スイッチやそれらへのユーザの操作を検出する検出回路を備えたものである。その検出回路は、随時、ユーザが操作したスイッチ、その操作内容をＣＰＵ１に通知する。
【００３１】
特には図示していないが、他に、通信ネットワークを介して通信を行うための通信制御部や、外部機器を接続するための各種インターフェースも備えている。外部記憶装置６は主に、物体をポリゴンモデルで表現するモデルデータを含め、それらを介して取得したデータやアプリケーションの保存に用いられる。
【００３２】
本実施の形態では、ポリゴンの集合により３次元の物体を表現するポリゴンモデルの簡略化、つまり近似ポリゴンモデルの生成を必要に応じて行いつつ、その物体（の画像）を描画して表示部５に表示させるようにしている。
【００３３】
画面上における物体の見かけの大きさは、視点と物体間の仮想的な距離が大きくなるほど小さくさせる必要がある。小さく表示させるほど、描画品質の違いを認識できる詳細度（ＬＯＤ）はより低くなる。このことから、本実施の形態では、視点と物体間の距離をユーザが指定できるようにして、ユーザが指定の距離に応じた詳細度でポリゴンモデルの簡略化を行うようにしている。また、物体（の画像）を描画（表示）する向き、つまり物体を見る視点、その方向もユーザが指定できるようにさせている。その向きについては以降「姿勢」と呼ぶことにする。詳細度を距離に応じて切り換える技術としては特許文献１に記載されたものがある。
【００３４】
ポリゴンモデルの簡略化は、姿勢に応じて物体の輪郭を検出し、検出した輪郭の保存を優先する形で行っている。輪郭の保存を優先することにより、輪郭近傍では他の部分より稜線縮退操作を行う頻度が抑えられる。このため、図１２に示すように、元のモデルを簡略化すると、簡略化後のモデルでは輪郭近傍のポリゴンは他の部分と比較して簡略化の影響を受ける度合いが減少して、輪郭形状の大きな崩れは抑えられることとなる。
【００３５】
簡略化によってポリゴン数を比較的に大きく減少させる場合、物体の細部まで詳細に表現することは不可能となる。細部の詳細が表現されなければ、物体の一部分から全体を認識するのは困難となる。それにより、物体を認識するうえで輪郭（外形）から得る情報量の割合はより増大することとなる。このため、輪郭形状の保存を他の部分より優先させることにより、より認識しやすい適切な形でモデルの簡略化を行えるようになる。そのように簡略化を行える結果、簡略化したポリゴンモデルで描画した物体が視覚的な違和感を与えるようなことはより抑えられることとなる。以降、その簡略化を実現させる動作について詳細に説明する。
【００３６】
図２は、ポリゴンモデルデータの構成を説明する図である。先ず、図２を参照して、そのモデルデータについて詳細に説明する。そのモデルデータは、例えば上記通信制御部、或いはインターフェースを介して取得されて外部記憶装置６に保存される。
【００３７】
図２において、Ｍ、ＬＩ、ＳＩ、ＮＶ、及びＮＦはパラメータを示すシンボルである。具体的にはＭはモデル番号、ＬＩは距離データ初期値、ＳＩは姿勢データ初期値、ＮＶは頂点個数、ＮＦは面分個数（ポリゴン数）をそれぞれ示している。モデル番号Ｍは、モデルデータ毎に割り当てられた識別用のパラメータである。距離データ初期値ＬＩ、及び姿勢データ初期値ＳＩは共に、視点と物体間の位置関係を示すパラメータである。距離データ初期値ＬＩはその間の距離の初期値を示し、姿勢データ初期値ＳＩは物体に対する視点の角度の初期値を示している。
【００３８】
図２中のＶ［１］は、括弧内の数値が割り当てられた頂点のＸＹＺの各座標値が格納されたエリアである。そのエリアは頂点個数分、確保されている。同様に、Ｆ［１］は、括弧内の番号が割り当てられたポリゴンを構成する各頂点の座標値が格納されたエリアである。図２中の「Ｖ１」「Ｖ２」「Ｖ３」は各頂点の位置を示すＸＹＺの各座標値を表している。図９は、それらのデータで形状、及び配置が定義されるポリゴンを表している。図９中のｎは法線ベクトルを表している。以降、便宜的に、例えば頂点毎にＸＹＺの座標値が格納されたエリア全体は括弧の前のシンボルからＶエリア、頂点毎にＸＹＺ座標値が格納されたエリアはＶ［］エリアと呼ぶことにする。Ｖ［］エリアのなかで数値（変数を含む）などによって具体的に特定されるエリアは括弧内にその数値、或いはシンボルなどを表記して表現（例えばＶ［１］エリア）することにする。これは他でも同様である。また、特に断らない限り、座標値とはＸＹＺの各座標値を指す意味で用いることにする。
【００３９】
上記構成のモデルデータは、外部記憶装置６に１つ以上、保存される。その記憶装置６に保存されたモデルデータは、モデル番号を指定することでユーザが任意に選択できるようになっている。
【００４０】
図３は、モデルデータによる物体の描画用にＲＡＭ３に確保されるエリアを説明する図である。図３に示すように、ＲＡＭ３には、Ｌ＿Ｖ＿Ｉエリア、Ｌ＿Ｅ＿Ｉエリア、Ｌ＿Ｖエリア、Ｌ＿Ｅエリア、Ｌ＿ＯＬＶエリア、Ｌ＿Ｈエリア、及びＬ＿Ｓエリアが確保される。各エリアには以下のようなパラメータ（データ）が格納される。
【００４１】
Ｌ＿Ｖ＿Ｉエリアには、頂点関係のパラメータの初期値が格納される。図３中のＶは図２のＶ［］エリアに格納された座標値と同じものである。ＱＥＭは、Ｖで座標値を示す頂点に対するＱＥＭであり、（４）式により算出されるものである。それらがサブエリアであるＬ＿Ｖ＿Ｉ［］エリア（頂点）毎に格納される。以降、Ｖで座標値を示す頂点は頂点Ｖと表記する。他も同様の表記法を用いる。
【００４２】
Ｌ＿Ｅ＿Ｉエリアには、稜線関係のパラメータの初期値が格納される。図３中のＶ１、Ｖ２は稜線の両端に位置する頂点の座標値を示し、ＱＥＭは稜線のＱＥＭ、ＶＭは稜線を縮退した場合にＱＥＤを最小にする頂点の座標値、ＱＥＤは頂点ＶＭに対応する最小のＱＥＤをそれぞれ示している。それらがサブエリアであるＬ＿Ｅ＿Ｉ［］エリア（稜線）毎に格納される。ＱＥＭの値は頂点Ｖ１、Ｖ２のＱＥＭの値を加算して得られる和である。
【００４３】
Ｌ＿Ｖエリアには、Ｖ、ＱＥＭ、Ｎで示す頂点関係のパラメータがＬ＿Ｖ［］エリア毎に格納される。Ｖ、ＱＥＭは、Ｌ＿Ｖ＿Ｉエリアに格納されたものと同様である。Ｎは、頂点Ｖに対する輪郭係数である。
【００４４】
その輪郭係数Ｎの値は、図１１に示すように、輪郭上の頂点である輪郭頂点のなかで頂点Ｖに最も近いものとの距離に応じて決定している。輪郭頂点ではその最大値Ｎｍａｘを割り当て、それから十分、離れた輪郭頂点でない頂点には１を割り当てるようにしている。輪郭頂点に比較的に近い距離内では、単位距離当たりの変化分を抑えることにより、輪郭係数Ｎとして大きい値を割り当てられるようにしている。これは、輪郭、及びその近傍における稜線縮退操作の実行を抑えるためである。図１１に示すように輪郭係数Ｎを決定するために、距離と輪郭係数Ｎの関係を定義したテーブル（輪郭係数変換テーブル）を例えば制御用データとしてＲＯＭ２に用意している。ここでの距離とは、空間上の２点間の距離ではなく、ポリゴンの表面上を辿る最短距離である。
【００４５】
Ｌ＿Ｅエリアには、Ｖ１、Ｖ２、ＱＥＭ、ＶＭ、ＱＥＤ、Ｎ、及びＥで示す稜線関係のパラメータがＬ＿Ｅ［］エリア毎に格納される。それらのなかで、Ｖ１、Ｖ２、ＱＥＭ、ＶＭ、及びＱＥＤは、Ｌ＿Ｅ＿Ｉエリアに格納されたものと同様である。Ｎは、頂点Ｖ１、Ｖ２に対する輪郭係数、具体的には例えばそれらの値の平均値、或いはそれらのなかの最大値である。Ｅは、評価値であり、本実施の形態ではＱＥＤにＮを掛けた値を採用している。そのような値を評価値Ｅとして採用することにより、輪郭、及びその近傍における稜線縮退操作の実行を抑え、輪郭形状を優先して保存できるようにさせている。
【００４６】
Ｌ＿ＯＬＶエリアは、輪郭頂点Ｖの座標値を格納するエリアである。
Ｌ＿Ｈエリアは、実行した稜線縮退操作の内容を示す履歴データ保存用のエリアである。サブエリアであるＬ＿Ｈ［］エリアには、その履歴データとして、Ｖ１、ＱＥＭ１、Ｖ２、ＱＥＭ２、及びＶが格納される。Ｖ１、Ｖ２は縮退させた稜線の両端に位置する頂点の座標値、ＱＥＭ１、ＱＥＭ２はその頂点のＱＥＭ、Ｖは縮退後の頂点の座標値、をそれぞれ示している。
【００４７】
Ｌ＿Ｈ［］エリアの頂点Ｖの座標値は、Ｌ＿Ｅ［］エリアに頂点Ｖ１、及びＶ２の一方の座標値として格納されている。Ｌ＿Ｈ［］エリアの頂点Ｖ１、Ｖ２をその頂点Ｖにまとめることで消滅したポリゴンは、頂点Ｖ１、Ｖ２、及びその頂点Ｖと稜線で結ばれた頂点を組み合わせとしたものである（図１４参照）。このようなことから、上記履歴データを保存しておくことにより、縮退させた稜線を復元することができる。
【００４８】
ユーザが姿勢のみを変更した場合、距離は変更されていないことから、ポリゴン数を変化させない形で近似ポリゴンモデルを生成する必要がある。Ｌ＿Ｓエリアは、そのように近似ポリゴンモデルを生成するために利用されるエリアである。そのサブエリアであるＬ＿Ｓ［］エリアには、Ｌ＿Ｈエリアに格納された頂点Ｖ、ＱＥＤの中から、必要なものが選択されて格納される。
【００４９】
次に、図４〜図８に示す各処理のフローチャートを参照して、ポリゴンモデルの簡略化を行い画像を表示部５に表示させる画像描画装置の動作について詳細に説明する。なお、図４〜図８に示す各処理は、例えばＣＰＵ１がＲＯＭ２に格納されたプログラムを実行することで実現される。
【００５０】
図４は、全体処理のフローチャートである。その全体処理は、電源をオンさせた後に実行する全体的な処理の流れを示したものである。始めに図４を参照して、全体処理について詳細に説明する。
【００５１】
先ず、ステップＳＡ１では、変数Ｍに初期値Ｍ０を代入する。続くステップＳＡ２では、変数Ｍに代入された値がモデル番号として割り当てられたポリゴンモデルを画像描画用に選択するモデル選択処理を実行する。その後は、ステップＳＡ３でその他初期処理を実行してからステップＳＡ４に移行する。その他初期処理を実行することにより、画像描画装置は予め定めた状態に初期設定される。
【００５２】
ステップＳＡ４では、モデル選択が行われたか否か判定する。ユーザがスイッチ部４を操作してモデルを指定した場合、その操作内容がＣＰＵ１に通知されることから、判定はＹＥＳとなってステップＳＡ５に移行し、そうでない場合には、判定はＮＯとなってステップＳＡ７に移行する。
【００５３】
ステップＳＡ５では、ユーザが指定したポリゴンモデルに対応する値を変数Ｍに代入する。次のステップＳＡ６では、そのモデルで画像を描画するためにモデル選択処理を実行する。その後に移行するステップＳＡ７では、視点と物体間の距離が入力されたか否か判定する。その入力のための操作をスイッチ部４に対してユーザが行った場合、判定はＹＥＳとなってステップＳＡ８に移行し、そうでない場合には、判定はＮＯとなってステップＳＡ１０に移行する。
【００５４】
ステップＳＡ８では、ユーザが入力した距離を変数Ｌに代入する。続くステップＳＡ９では、その距離に応じた詳細度で物体（の画像）を描画するための距離修正処理を実行する。その次のステップＳＡ１０では、姿勢が入力されたか否か判定する。その入力のための操作をスイッチ部４に対してユーザが行った場合、判定はＹＥＳとなってステップＳＡ１１に移行し、そうでない場合には、判定はＮＯとなってステップＳＡ１３に移行する。
【００５５】
ステップＳＡ１１では、ユーザが入力した姿勢を示す値を変数Ｓに代入する。次のステップＳＡ１２では、その姿勢で物体（の画像）を描画するための姿勢修正処理を実行する。その後は、ステップＳＡ１３で物体の描画をその時点で対象となるポリゴンモデルで行う描画処理を実行し、更にステップＳＡ１４でそれ以外のユーザの要求などに対応するためのその他処理を実行した後、上記ステップＳＡ４に戻る。その描画処理を実行することにより、表示部５の画面上にポリゴンモデルで表現された物体の画像が表示されることとなる。
【００５６】
上記全体処理を実行することにより、ユーザは所望のポリゴンモデルでの物体の描画を、距離により指定する大きさ（詳細度）、姿勢により指定する方向で行わせることができることとなる。以降は、その全体処理内で実行されるサブルーチン処理について詳細に説明する。
【００５７】
図５は、上記ステップＳＡ２、或いはＳＡ６として実行されるモデル選択処理のフローチャートである。全体処理内で実行されるサブルーチン処理では、始めに図５を参照して、その選択処理について詳細に説明する。
【００５８】
先ず、ステップＳＢ１では、外部記憶装置６に格納されたポリゴンモデルのなかからモデル番号が変数Ｍの値と一致するポリゴンモデルを選択し、距離データ初期値ＬＩを変数Ｌ、姿勢データ初期値ＳＩを変数Ｓ、ポリゴン数ＮＦを変数Ｋ、変数Ｋの値を変数ＫＭＡＸにそれぞれ代入し、ＲＡＭ３には図３に示すエリアをそれぞれ確保する。続くステップＳＢ２では、Ｖ［］エリア（図２参照）に格納されたＸＹＺの座標値をＬ＿Ｖ＿Ｉ［］エリアの頂点Ｖの座標値として全てコピーし、頂点Ｖ毎に、（４）式を用いて、その頂点Ｖに隣接する全てのポリゴン分に対して和を取ったＱＥＭを計算して格納する。ステップＳＢ３にはその後に移行する。
【００５９】
ステップＳＢ３では、Ｆエリア（図２参照）に格納された、ポリゴンを構成する頂点の組み合わせを参照して、稜線の両端に位置する頂点Ｖ１、Ｖ２を全て特定し、その頂点Ｖ１、Ｖ２の座標値をＬ＿Ｅ＿Ｉ［］エリアにそれぞれ格納する。ＱＥＭとしては頂点Ｖ１、Ｖ２のＱＥＭの和、縮退後の頂点ＶＭの座標値としては（９）式により計算したＱＥＤが最小となる座標値、ＱＥＤとしては（８）式により計算した最小値、をそれぞれ各Ｌ＿Ｅ＿Ｉ［］エリアに格納する。それらの格納が終了した後は、ＱＥＤの値に着目して例えばＬ＿Ｅ＿Ｉ［］エリアに格納したデータを降順にソートする。
【００６０】
ステップＳＢ３に続くステップＳＢ４では、各Ｌ＿Ｖ＿Ｉ［］エリアの頂点Ｖの座標値、ＱＥＭを各Ｌ＿Ｖ［］エリアにそれぞれコピーし、各Ｌ＿Ｅ＿Ｉ［］エリアの頂点Ｖ１、Ｖ２の各座標値、ＱＥＭ、頂点ＶＭの座標値、ＱＥＤを各Ｌ＿Ｅ［］エリアにそれぞれコピーする。その後はステップＳＢ５に移行して、ポリゴンモデルで表現された物体の輪郭を変数Ｓの値で指定される視点（方向）で検出する輪郭検出処理を実行してから一連の処理を終了する。
【００６１】
次にその輪郭検出処理について、図６に示すそのフローチャートを参照して詳細に説明する。
先ず、ステップＳＣ１では、変数Ｓの値で指定される視点から物体を見た場合の輪郭、つまり輪郭頂点を検出する。その検出は、以下のようにして行う。図１０を参照して具体的に説明する。
【００６２】
輪郭を検出する場合、図１０（ａ）に示すような隣接する２つのポリゴンを抽出する。その図１０（ａ）において、ポリゴンｆ１は頂点Ｖ１、Ｖ２、Ｖ３から構成され、ポリゴンｆ２は頂点Ｖ１、Ｖ４、Ｖ２から構成されている。
【００６３】
図１０（ｂ）、（ｃ）に示すスクリーンは、視点から見る視線方向と直交する仮想的な面である。Ｖ１’〜Ｖ４’は、各頂点Ｖ１〜４をその方向でスクリーンに投影した場合の点である。
【００６４】
図１０（ａ）に示すポリゴンｆ１、ｆ２は、頂点Ｖ１、Ｖ２を結ぶ稜線で接している。輪郭は、視点から見える部分の境界である。このため、視点からポリゴンｆ１、ｆ２の一方のみが見える場合、つまり頂点Ｖ１、Ｖ２が輪郭頂点であった場合、接していない頂点Ｖ３、Ｖ４のスクリーンに投影した点Ｖ３’、Ｖ４’は、図１０（ｂ）に示すように、点Ｖ１’、Ｖ２’を通る直線で区切った２つの領域のうちの一方に共に存在することになる。逆に、視点からポリゴンｆ１、ｆ２の両方が見える場合には、つまり頂点Ｖ１、Ｖ２が輪郭頂点でなかった場合には、接していない頂点Ｖ３、Ｖ４のスクリーンに投影した点Ｖ３’、Ｖ４’は、図１０（ｃ）に示すように、点Ｖ１’、Ｖ２’を通る直線で区切った２つの領域のうちで存在する領域が異なることになる。
【００６５】
上記ステップＳＣ１では、上述したようにして頂点単位で頂点が輪郭頂点か否かの確認を行い、輪郭頂点を抽出する。そのようにして抽出した輪郭頂点の座標値がＬ＿ＯＬＶ［］エリアにそれぞれ格納される。
【００６６】
そのステップＳＣ１に続くステップＳＣ２では、Ｌ＿ＯＬＶ［］エリアに格納された座標値、及び上記輪郭係数変換テーブル（図１１参照）を参照して、頂点毎に輪郭係数Ｎを算出し、Ｌ＿Ｖ［］エリアには算出した係数Ｎ、Ｌ＿Ｅ［］エリアには２つの頂点でそれぞれ算出した係数Ｎの平均値をそれぞれ格納する。次に移行するステップＳＣ３では、Ｌ＿Ｅ［］エリアの評価値Ｅとして、輪郭係数ＮにＱＥＤを掛けた値を算出し格納する。各エリアに評価値Ｅを格納し、更に評価値Ｅに着目して例えばＬ＿Ｅ［］エリアに格納したデータを昇順にソートした後、一連の処理を終了する。
【００６７】
輪郭係数Ｎ、評価値Ｅは、ユーザが姿勢を変更させる度に更新される。それにより、近似ポリゴンモデルの生成は、検出した輪郭の保存を優先して行われることとなる。
図７は、図４に示す全体処理内でステップＳＡ９として実行される距離修正処理のフローチャートである。次に図７を参照して、その修正処理について詳細に説明する。
【００６８】
先ず、ステップＳＤ１では、変数Ｌの値が示す距離、視点、視線方向から画面上に描画する物体の見かけの大きさを求め、その大きさからポリゴンモデルで目標とするポリゴン数Ｋ１を決定する。続くステップＳＤ２では、目標ポリゴン数Ｋ１が変数ＫＭＡＸの値より大きいか、またはそのポリゴン数Ｋ１が変数Ｋの値と等しいか否か判定する。目標ポリゴン数Ｋ１が変数ＫＭＡＸの値より大きいことは、オリジナルのポリゴンモデルに対する簡略化を行う必要がないことを意味する。ポリゴン数Ｋ１が変数Ｋの値と等しいということは、現在、物体の描画に用いているポリゴンモデルをそのまま用いることができるということを意味する。このようなことから、何れにしても近似ポリゴンモデルを新たに生成する必要がない場合、判定はＹＥＳとなり、ここで一連の処理を終了する。そうでない場合には、判定はＮＯとなってステップＳＤ３に移行する。
【００６９】
ステップＳＤ３では、目標ポリゴン数Ｋ１が変数Ｋの値より大きいか否か判定する。変数Ｋには、現在、物体の描画に用いているポリゴンモデルのポリゴン数が代入されている。このことから、そのポリゴンモデルよりもポリゴン数の多いポリゴンモデルが必要な場合、判定はＹＥＳとなってステップＳＤ４に移行し、そうでない場合には、判定はＮＯとなってステップＳＤ６に移行する。
【００７０】
ステップＳＤ４では、図５に示すステップＳＢ４と同様に、各Ｌ＿Ｖ＿Ｉ［］エリアのデータを各Ｌ＿Ｖ［］エリアにそれぞれコピーし、各Ｌ＿Ｅ＿Ｉ［］エリアのデータを各Ｌ＿Ｅ［］エリアにそれぞれコピーする。その後はステップＳＤ５で輪郭検出処理を実行してからステップＳＤ６に移行する。
【００７１】
ステップＳＤ６では、変数Ｋの値が目標ポリゴン数Ｋ１より大きいか否か、つまりポリゴンモデルの簡略化が終了していないか否か判定する。その簡略化が終了した場合、判定はＮＯとなり、ここで一連の処理を終了する。そうでない場合には、判定はＹＥＳとなってステップＳＤ７に移行する。
【００７２】
ステップＳＤ７では、Ｌ＿Ｅエリアのなかで評価値Ｅが最小となっている稜線を縮退させ、縮退稜線周辺の頂点、稜線のパラメータを再計算し、それらパラメータを更新する。具体的には、Ｌ＿Ｖエリアでは消失させた２頂点に対応するＬ＿Ｖ［］エリア内のパラメータを消去し、その２頂点をまとめた１頂点のパラメータとしてその座標値、及びＱＥＭをＬ＿Ｖ［］エリアに新たに格納する。Ｌ＿Ｅエリアでは、縮退させた稜線に対応するＬ＿Ｅ［］エリア内のパラメータを消去し、その縮退によって両端の頂点Ｖ１、Ｖ２のうちの何れかを変更すべき稜線では、図５に示すステップＳＢ３と同様に、頂点Ｖ１、Ｖ２の座標値、ＱＥＭ、縮退後の頂点ＶＭの座標値、ＱＥＤを更新する。Ｌ＿Ｈエリアでは、Ｌ＿Ｈ［］エリアを確保して、消失させた２頂点の座標値、各ＱＥＭ、生成した１頂点の座標値を格納する。
【００７３】
ステップＳＤ７に続くステップＳＤ８では、図６に示すステップＳＣ２と同様に、稜線縮退周辺で輪郭係数Ｎを算出してＬ＿Ｖ［］エリア、Ｌ＿Ｅ［］エリアに格納し、Ｌ＿Ｅ［］エリアでは、その係数ＮにＱＥＤを掛けて評価値Ｅを更に算出して格納する。評価値Ｅに着目したＬ＿Ｅエリア内のソートをその後に行ってからステップＳＤ９に移行し、変数Ｋにそれまでの値から２を引いた値を代入する。その代入を行った後に上記ステップＳＤ６に戻る。
【００７４】
このように、縮退させる稜線は評価値Ｅが最小のものから順に選択している。その評価値Ｅは輪郭係数ＮにＱＥＤを掛けて算出したものである。このため、評価値Ｅが最小のものから順に縮退させる稜線を選択することにより、輪郭を保存する形で簡略化が行われることとなる。
【００７５】
図８は、図４に示す全体処理内でステップＳＡ１２として実行される姿勢修正処理のフローチャートである。最後に図８を参照して、その修正処理について詳細に説明する。
先ず、ステップＳＥ１では、図６に示す輪郭検出処理を実行する。次のステップＳＥ２では、Ｌ＿Ｖエリア内で輪郭係数Ｎが閾値Ｎｔ以上、且つその座標値がＬ＿Ｈエリアに縮退後の頂点の座標値として格納されている頂点を抽出し、その座標値、及び（５）式を用いて算出したＱＥＤをＬ＿Ｓエリアに格納し、ＱＥＤに着目して降順にソートする。
【００７６】
その次に移行するステップＳＥ３では、変数ＱＥＤ１にＬ＿Ｓエリア内でＱＥＤの最大値を代入する。続くステップＳＥ４では、変数ＱＥＤ１の値が閾値ＱＥＤｔより大きいか否か判定する。変数ＱＥＤ１の値が閾値ＱＥＤｔより大きい場合、判定はＹＥＳとなってステップＳＥ５に移行する。そうでない場合には、判定はＮＯとなり、ここで一連の処理を終了する。
【００７７】
ステップＳＥ５では、変数ＱＥＤ１にＱＥＤを代入した頂点Ｖを２つの頂点に分割し、その周辺の頂点、稜線のパラメータを再計算し、それらパラメータを更新する。具体的には、Ｌ＿Ｖエリアではその頂点Ｖに対応するＬ＿Ｖ［］エリア内のパラメータを消去し、Ｌ＿Ｈエリア内のその頂点Ｖに対応する履歴データをコピーして、分割した２頂点のパラメータとして頂点の座標値、ＱＥＭをＬ＿Ｖ［］エリアに新たに格納する。頂点分割により稜線は３つ増加する（図１４参照）。このことから、Ｌ＿Ｅエリアでは、Ｌ＿Ｅ［］エリアを３つ確保して、それぞれ稜線のパラメータを格納する。
【００７８】
そのうちの一つは分割した２頂点が両端に位置する稜線である。その稜線のパラメータとしては、頂点Ｖ１、Ｖ２、ＶＭの各座標値は履歴データからコピーして格納する。ＱＥＭとしては、ＱＥＭ１とＱＥＭ２の和を格納する。ＱＥＤはＱＥＭ及び頂点ＶＭの座標値を用いて計算する。残り２つの稜線、及び頂点分割が影響する稜線では、頂点Ｖ１、Ｖ２の一方が分割した２頂点のうちの何れかとなる。このことから、その何れかの頂点の座標値、ＱＥＭを履歴データから取得し、その座標値は頂点Ｖ１、Ｖ２の一方として格納する。ＱＥＭは、取得したものに、他方の頂点のＱＥＭを加算して求める。縮退後の頂点ＶＭの座標値、ＱＥＤも新たに求める。Ｌ＿Ｈエリアでは、頂点を分割した頂点に対応する履歴データを消去する。
【００７９】
上述したような更新を行った後に移行するステップＳＥ６では、分割した頂点の座標値、ＱＥＤをＬ＿Ｓエリアから消去し、ＱＥＤについてソートする。次のステップＳＥ７では、分割頂点周辺で、図７のステップＳＤ８と同様に、輪郭係数Ｎを算出してＬ＿Ｖ［］エリア、Ｌ＿Ｅ［］エリアに格納し、Ｌ＿Ｅ［］エリアでは、その係数ＮにＱＥＤを掛けて評価値Ｅを更に算出して格納し、評価値Ｅに着目したＬ＿Ｅエリア内のソートを行う。その後にステップＳＥ８に移行する。
【００８０】
ステップＳＥ８では、図７のステップＳＤ７と同様に、Ｌ＿Ｅエリアのなかで評価値Ｅが最小となっている稜線を縮退させ、縮退稜線周辺の頂点、稜線のパラメータを再計算し、それらパラメータを更新する。続くステップＳＥ９では、図７に示すステップＳＤ８と同様に、稜線縮退周辺で輪郭係数Ｎを算出してＬ＿Ｖ［］エリア、Ｌ＿Ｅ［］エリアに格納し、Ｌ＿Ｅ［］エリアでは、その係数ＮにＱＥＤを掛けて評価値Ｅを更に算出して格納し、評価値Ｅに着目したＬ＿Ｅエリア内のソートを行う。その後に上記ステップＳＥ３に戻る。
【００８１】
このように、本実施の形態では、姿勢を変更する場合、閾値ＱＥＤｔより大きいＱＥＤを持つ頂点の分割が終了するまで、その分割と併せて評価値Ｅが最小の稜線を対象とした縮退を行うようにしている。それにより、ポリゴン数を維持しつつ、姿勢の変更に応じた近似ポリゴンモデルの生成を行うようにしている。
【００８２】
姿勢を変更させた物体描画用の近似ポリゴンモデルを元のポリゴンモデルの簡略化により生成する場合、その生成に要する処理時間は詳細度が低くなるほど長くなる。しかし、その近似ポリゴンモデルを、分割すべき頂点の分割、及び縮退させるべき稜線の縮退により生成するようにした場合には、全体的に行うべき操作の数をより抑えられるようになる。このため、詳細度に係わらず、必要な近似ポリゴンモデルを常に高速に生成できることとなる。
【００８３】
なお、本実施の形態では、閾値ＱＥＤｔは予め設定した値としているが、適切な閾値ＱＥＤｔはポリゴンモデルや詳細度などによって異なると思われることから、算出されるＱＥＤを参照して自動的に設定するようにしても良い。また、姿勢の変更に伴い物体の見かけ上の大きさが比較的に大きく変化することもあることから、姿勢のみをユーザが変更した場合にも目標ポリゴン数Ｋ１を求め、そのポリゴン数Ｋ１の近似ポリゴンモデルを必要に応じて生成するようにしても良い。
【００８４】
頂点を分割すべき度合いと稜線を縮退させるべき度合いに比較的に大きな差が生じることも考えられる。このことから、姿勢の変更に応じた近似ポリゴンモデルの生成を行う場合には、それらの度合いを考慮して、一方の操作をより多く行うようにしても良い。そのようにすると、全体的な誤差をより低減させることができることから、より適切な近似ポリゴンモデルを生成できるようになる。
【００８５】
保存する輪郭としては、物体の外形を表すものを想定しているが、輪郭には、模様といったように表面の表現が異なることで生じるものがある。このことから、例えば輪郭を重要度に応じて複数の階層に分類し、輪郭を階層別に異なる輪郭係数で優先して保存させるようにしても良い。
【００８６】
上述したような画像描画装置（画像処理装置）、或いはその変形例を実現させるようなプログラムは、ＣＤ−ＲＯＭ、ＤＶＤ、或いは着脱自在なフラッシュメモリ等の記録媒体に記録させて配布しても良い。通信ネットワークを介して、そのプログラムの一部、若しくは全部を配信するようにしても良い。そのようにした場合には、ユーザーはプログラムを取得してデータ処理装置にロードすることによって本発明を適用させることができるようになる。このことから、記録媒体は、プログラムを配信する装置がアクセスできるものであっても良い。
【図面の簡単な説明】
【００８７】
【図１】本実施の形態による画像描画装置の構成図である。
【図２】ポリゴンモデルデータの構成を説明する図である。
【図３】ポリゴンモデルデータによる物体の描画用にＲＡＭに確保されるエリアを説明する図である。
【図４】全体処理のフローチャートである。
【図５】モデル選択処理のフローチャートである。
【図６】輪郭検出処理のフローチャートである。
【図７】距離修正処理のフローチャートである。
【図８】姿勢修正処理のフローチャートである。
【図９】ポリゴンモデルデータで形状、及び配置が定義されるポリゴンを説明する図である。
【図１０】輪郭の検出方法を説明する図である。
【図１１】輪郭頂点からの距離に応じて設定される輪郭係数を説明する図である。
【図１２】本実施の形態で行われるモデルの簡略化を説明する図である。
【図１３】画面上に描画する画像の見かけの大きさに応じた詳細度の変更を説明する図である。
【図１４】稜線縮退操作、頂点分割操作を説明する図である。
【図１５】従来の簡略化方法で行われるモデルの簡略化を説明する図である。
【符号の説明】
【００８８】
１    ＣＰＵ
２    ＲＯＭ
３    ＲＡＭ
４    スイッチ部
５    表示部
６    外部記憶装置
【図１】
2005267272.tif 000003
【図２】
2005267272.tif 000004
【図３】
2005267272.tif 000005
【図４】
2005267272.tif 000006
【図５】
2005267272.tif 000007
【図６】
2005267272.tif 000008
【図７】
2005267272.tif 000009
【図８】
2005267272.tif 000010
【図９】
2005267272.tif 000011
【図１０】
2005267272.tif 000012
【図１１】
2005267272.tif 000013
【図１２】
2005267272.tif 000014
【図１３】
2005267272.tif 000015
【図１４】
2005267272.tif 000016
【図１５】
2005267272.tif 000017