(57)【特許請求の範囲】
【請求項１】
画像処理装置で実行されるプログラムに従い，ポリゴンデータにより地形画像を形成する方法において,
ジオメトリ処理部により,
各頂点に三次元座標データが特定された複数のポリゴンにより形成される多面体を,仮想三次元空間内の直交する２軸X，Zにより形成される二次元平面に平面状に複数個並べるステップと，
前記平面状に複数個並べられた前記複数の多面体のそれぞれを，前記多面体内の点の座標の３軸方向Ｘ，Ｙ，Ｚに対してそれぞれＲｘ,Ｒｙ,Ｒｚの角度で回転させるステップと，
前記回転された複数の多面体により形成されるモデルを，前記仮想三次元空間内の視点を基準に二次元平面に投影して二次元座標データに変換するステップを有し，
さらに，レンダリング処理部により，
前記二次元平面に投影された二次元座標データに地形のテクスチャを貼り付けるレンダリング処理を行うステップと，
を有することを特徴とするポリゴンデータによる地形画像の形成方法。
【請求項２】
請求項1において,
前記ジオメトリ処理部による多面体を複数に並べるステップにおいて,少なくとも一部が相互に重なるように隣接して,前記二次元平面に並べられることを特徴とするポリゴンデータによる地形画像の形成方法。
【請求項３】
請求項1において,
更に,前記ジオメトリ処理部により,前記二次元平面に並べられた複数個の多面体に生じる隙間を,所定のテクスチャデータが与えられた隙間埋め込み用ポリゴンを埋め込むステップを有することを特徴とするポリゴンデータによる地形画像の形成方法。
【請求項４】
プログラムを実行制御するＣＰＵと,該ＣＰＵによる前記プログラムの実行制御により,ポリゴンの各頂点に三次元座標データが特定された多面体を二次元座標データに変換して画像形成を行うプログラムを格納した記録媒体であって,
前記プログラムは,
前記ＣＰＵに,
ジオメトリ処理部により,
前記ポリゴンの各頂点に三次元座標データが特定された多面体を,仮想三次元空間内の直交する２軸Ｘ，Ｙにより形成される二次元平面に平面状に複数並べさせ,更に，並べられた前記複数の多面体のそれぞれを，該多面体内の点の座標の３軸方向Ｘ，Ｙ，Ｚに対してそれぞれＲｘ,Ｒｙ,Ｒｚの角度で回転させるステップと，
前記回転された複数の多面体により形成されるモデルを，前記仮想三次元空間内の視点を基準に２次元平面に投影して二次元座標データに変換させるステップと，
さらに，レンダリング処理部により，
前記二次元座標データに地形のテクスチャを貼り付けるレンダリング処理を行うステップと,
を実行制御させることを特徴とするプログラムを格納した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ポリゴンによる地形等の画像モデルの形成方法及び、この方法を用いる画像処理装置に関し、特に１つの多面体の頂点データを基にしてポリゴンによる画像モデルを形成する方法及び、この方法を用いる画像処理装置に関する。
【０００２】
【従来の技術】
近年、コンピュータグラフィック技術を用い、仮想３次元空間内に配置された物体を画像表示する画像処理装置が普及し、表示物体をより現実に近いものに表示すべく、仮想現実の研究開発が進められている。
【０００３】
かかるコンピュータグラフィック技術において、仮想３次元空間中の物体は、複数の多角形の面、いわゆるポリゴンで構成して表示することが行われる。更に、複雑な地形等の画像モデルを複数のポリゴンで表示することが行われる。
【０００４】
図１０は、ポリゴンで表示される複雑な画像モデルの一例として地形画像を示す図である。地形を構成する複数のポリゴンの各頂点に３次元座標が与えられて、地形画像データとなる。例えば、ポリゴンＡは、頂点ａ1,ａ2,ａ3 を有し、ポリゴンＢは、頂点ｂ1(＝ａ2), ｂ2,ｂ3,ｂ4 を有する。更に、ポリゴンＣは、頂点ｃ1(＝ｂ3), ｃ2,ｃ3,ｃ4 を有し、ポリゴンＤは、頂点ｄ1(＝ｂ4), ｄ2(＝ｃ1), ｄ3(＝ｃ4), ｄ4 を有する。
【０００５】
従って、地形等の画像モデルが複雑になるほどポリゴンの数が増加し、各ポリゴンの頂点座標データは膨大なものとなる。このために、必ずしも表示画像に精細さを要求されない海面の状態、地表の起伏等をポリゴンで表示する場合は、画像形成のためのデータが増大し、設計に著しい時間を要することになる。
【０００６】
【発明が解決しようとする課題】
従って、本発明の目的は、簡易な手順で画像モデルを形成することを可能とするポリゴンによる画像形成方法及び、この方法を用いる画像処理装置を提供することにある。
【０００７】
更に、本発明の目的は、所定の頂点データのみを用意し、これを変形することの繰り返しで複雑な画像モデルの形成を可能とするポリゴンによる画像形成方法及び、この方法を用いる画像処理装置を提供することにある。
【０００８】
【課題を解決するための手段】
上記目的を達成するために、本発明に従うポリゴンによる画像形成方法の基本的構成としては、ポリゴンデータによる画像の形成方法において、仮想３次元空間内の１つの多面体の各頂点に３次元座標データを特定し、各頂点に対し特定される３次元座標データのうち、直交する２軸により形成される二次元平面に対応する座標データを平行移動し、二次元平面に複数個の多面体を並べ、更に、並べられた複数の多面体のそれぞれを所定角度回転し、表面に現れる複数のポリゴンにより画像モデルを表わすように構成する。
【０００９】
更に、前記二次元平面に並べられた複数個の多面体に生じる隙間を、必要により、多面体の各面に対するテキスチャデータから求められる値のテキスチャデータで埋めるように構成する。
【００１０】
この場合、前記多面体の各面に対するテキスチャデータから求められる値のテキスチャデータは、多面体の各面に対するテキスチャデータの平均値とすることが容易である。
【００１１】
更に、前記多面体を直方体とする場合、仮想３次元空間内の１つの直方体の各頂点に３次元座標データを特定し、各頂点に対し特定される該３次元座標データのうち、直交する２軸により形成される二次元平面に対応する座標データを平行移動し、少なくとも一部が相互に重なるように隣接して、該二次元平面に複数個の直方体を順次に並べ、更に、並べられた該複数の直方体のそれぞれを所定角度回転し、表面に現れる複数のポリゴンにより画像モデルを表わすようにしたことを特徴とする。
【００１２】
このように、１つの多面体、典型例として直方体の各頂点の３次元座標データを基として、二次元平面に複数の直方体を並べ、これらを回転することにより、少ないデータと簡易な処理で容易にポリゴンによる画像モデルを形成することができる。
【００１３】
更に、前記隣接して、順次に並べられた複数個の直方体の任意の直方体を前記直交する２軸に直交する第３の軸方向にずらし、その後に前記複数の直方体のそれぞれを所定角度回転するようにする。これにより、より複雑な画像モデルを容易に形成することができる。
【００１４】
【発明の実施の形態】
以下本発明の実施の形態を図面に従い説明する。尚、図面において、同一または類似のものには、同一の参照番号または参照記号を付して説明する。
【００１５】
図１は、本発明のポリゴンによる画像形成方法を適用する画像処理装置の構成ブロック図である。
【００１６】
図１において、ＣＰＵ１は、ポリゴンにより表示される画像を処理するためのプログラムの実行を制御するものである。ＣＰＵ１にはプログラムの進行に伴いディスプレー装置８上に表示するポリゴンの頂点データやレジスタセットファンクションを一次的に蓄えておくメモリであるデータバッファ２が接続されている。
【００１７】
そして、このメモリに蓄えられる、ディスプレー装置８上に表示する地形画像モデルに対応するポリゴンの頂点データを簡易に生成することに本発明の特徴がある。図１において、前記頂点データに従って３次元空間内にポリゴンを配置し、これをディスプレー装置８上に表示するために２次元座標系に変換するためのジオメトリ処理部３が、データバッファ２に接続されている。
【００１８】
更に、表示する各ポリゴンに対し、着色、シェーディング、テクスタチャの貼り付けを行うレンダリング処理部４が接続されている。レンダリング処理部４の出力側には、フレームバッファ７が接続され、表示される一画面分のデータが格納される。フレームバッファ７にＣＲＴ等のディスプレー装置８が接続され、フレームバッファ７の内容が順次に表示される。
【００１９】
ここで、上記ジオメトリ処理部３は、データバッファ２からプログラムの進行及び処理速度に対応して、ポリゴンの頂点データ（頂点座標、頂点カラー、テクスチャマップ座標、頂点透明度及び頂点の法線ベクトル等を有する）やレジスタセットファンクションを読み出す。
【００２０】
ジオメトリ処理部３は、頂点座標データに基づき３次元空間にポリゴンを配置し、３次元空間のどの領域まで表示対象とするかのビューポートの決定、法線ベクトルに基づき各頂点の輝度の計算等を行う。また、ビューポートよりはみ出すポリゴンの頂点除去即ち、クリッピングを行う。更に、ビューポートに配置されたポリゴンを所定の視点を基準に２次平面に投影して３次元から２次元への座標変換を行う。
【００２１】
２次元座標に座標変換されたポリゴンデータは、レンダリング処理部４に送られる。レンダリング処理部４は、図示しない塗り潰し回路、テクスチャ貼り付け回路、デプステスト回路、ブレンディング回路から構成されている。
【００２２】
塗り潰し回路は、ポリゴンの各頂点で囲まれた範囲にある画素（ピクセル）の情報を計算し、他のレンダリング処理部４内の各回路に渡す機能を有する。上記計算は、ポリゴンの各頂点間にあるピクセルの情報を対応の両頂点に与えられている頂点情報（頂点座標、頂点輝度、頂点カラー等）を基に、例えば線形補間するものである。
【００２３】
テクスチャ貼り付け回路は、ピクセルの座標に対応したアドレス位置にあるテクスチャをテクスチャマップ５から読み出し、ピクセルのカラーを計算して求める回路である。デプステスト回路は、複数のポリゴンの前後関係を比較して、最も手前に配置されたポリゴンのデータをデプスバッファ６に記憶させる回路である。
【００２４】
即ち、デプスバッファ６には、先に描いた図形（ポリゴン）のピクセルのＺ値が記憶されている。特に、本発明に従い生成されるポリゴンデータを考えると、後に生成過程を説明するように、多面体の実施例として直方体を考えると、直方体の回転により隣接する直方体の面同士が交差する場合が生じる。
【００２５】
したがって、直方体の面の一部が隣接する直方体の面に入り込み、隣接する直方体の面に隠されることになる。かかる場合は、隣接する直方体の面に隠される部分は表示されない。この隠される部分は、デプス値が隣接する直方体の面のそれより大きく、奥側にあることになる。
【００２６】
このようにポリゴン同士のデプス値を比較し、比較の時点で手前に位置するポリゴンを表示対象とすべく、該当のポリゴンデータをデプスバッファ６に記憶させる。
【００２７】
そして、画面上の先に描かれたポリゴンと重なる位置に、新しくポリゴンを表示する場合、新しいポリゴンを構成する各ピクセルのＺ値と、デプスバッファ６から読み出される先に描かれたポリゴンのピクセルのＺ値とを比較する。比較の結果、新しいポリゴンのピクセルが手前の場合は、デプスバッファ６に当該ピクセルのＺ値が書き込まれる。
【００２８】
ブレンディング回路は、フレームバッファ７から読み込んだ、先に描かれているポリゴンのピクセルのカラー情報と、新しく処理するポリゴンのピクセルのカラー情報とを混合し、フレームバッファ７に再び書き込む。このフレームバッファ７の情報が１画面分ずつディスプレー装置８に送られて表示される。
【００２９】
次に、上記のような構成の画像処理装置において、画像表示のために処理されるポリゴンによる画像モデルのデータを本発明に従い形成する実施の形態を説明する。
【００３０】
以下の実施の形態の説明において、画像モデルを地形画像を例として説明するが、本発明はかかる画像モデルに限定されない。海面画像、樹木肌の画像等の表示にも適用可能である。
【００３１】
図２は、ポリゴンによる地形画像データの本発明に従う形成方法の実施の形態処理フローである。本発明の説明において、基準となる物体をオブジェクトと呼ぶ。そして、オブジェクトの実施例として直方体を仮想３次元空間内に想定する（ステップＳ１）。このオブジェクトは、８個の頂点と６つの面を有する。従って、８個の各頂点に対する３次元座標データが特定される。
【００３２】
次いで、 このオブジェクトを３次元座標の２軸方向の２次元平面に平行移動して複数個並べる（ステップＳ２）。これは、仮想３次元空間内に想定された前記直方体の２軸方向の座標値を順次シフトすることにより平行移動し、複数の直方体を平面状に並べることが可能である。この時、平面状に並べられた複数の直方体の隣接する直方体同士が重なる様に配置される。
【００３３】
かかる様子は、図３のように示される。即ち、図３において、仮想３次元空間内に前記直方体１０が想定される。そして、この直方体１０をｘ、ｚ軸座標方向に平行移動することにより、ｘ、ｚ軸方向の２次元平面１００に複数個の直方体が並べられる。
【００３４】
図３において、ｘ、ｚ軸方向の２次元平面１００に複数個の直方体が並べられた状態において、参照数字１０１、１０２は、隣接する直方体同士の重なる部分の一例である。
【００３５】
次いで、図２のフローに戻り説明すると、ｘ、ｚ軸方向の２次元平面１００に並べられた複数個の直方体をそれぞれ回転させる（ステップＳ３）。好ましくは、Ｙ軸に辺が平行とならない様に回転させる。これにより、ｘ、ｚ軸方向の２次元平面１００に並べられた複数個の直方体の頂点のＹ軸方向の位置が同一とならず、高さが異なってくる。
【００３６】
更に、このようにして形成される図形の表面に現れる直方体の各面の部分をポリゴンデータとし、これらのポリゴンデータを図１のデータバッファ２を通して、ジオメトリ部３、レンダリング部４により、先に説明したコンピュータグラフィック処理を行うことにより、図４に示す表示画面例のごとく地形の画像がディスプレー装置８に表示される。
【００３７】
次に本発明のより良い理解のために、具体的実施例により、本発明を説明する。図５は、オブジェクトとして、直方体を立方体とした例である。従って、立方体は、８つの頂点▲１▼〜▲８▼と、６つの面を有して構成される。
【００３８】
各頂点▲１▼〜▲８▼の座標データは、オブジェクトの中心を原点とした座標系、これをオブジェクト座標系と呼び、（ｘ，ｙ，ｚ）で表わされる値とする。更に面データ（図５の例では、正方形）は、面を構成する４頂点の番号例えば、（ｐ▲１▼、ｐ▲２▼、ｐ▲３▼、ｐ▲４▼）で表わされる。
【００３９】
更に、図６は、かかる図５のオブジェクトを基に、図２の手順を実行する過程を示す図であり、実施例として、ｘ−ｚ軸の２次元平面にオブジェクトを４つ並べる場合の例を示す図である。図６の（ａ）列は、上面から見た図、図６の（ｂ）列は、斜めから観察した時の図である。
【００４０】
上記図５のオブジェクトをｘ軸方向、ｚ軸方向に平行移動して（縦２×横２）個となるように並べる［図６（１）〜（３）参照］。この時、それぞれ隣接するオブジェクトが重なるように並べる。
【００４１】
今、ｘ軸方向、ｚ軸方向への平行移動量をそれぞれＭｘ、Ｍｚとした時、オブジェクトの１頂点（ｘ，ｙ，ｚ）の平行移動後の座標は、（ｘ＋Ｍｘ，ｙ，ｚ＋Ｍｚ）となる。尚、平行移動量Ｍｘ、Ｍｚは、同一オブジェクト内のすべての頂点について同じである。
【００４２】
このようにして、オブジェクトをｘ軸方向、ｚ軸方向に平行移動して縦２×横２個とした時の地形モデルは、頂点データの数８×４＝３２個、面データの数６×４＝２４個で構成される。
【００４３】
次いで、並べられたオブジェクトを回転させる（図６（４）〜（５）参照）。各オブジェクトをオブジェクト座標のｘ，ｙ，ｚ軸に対し、任意の角度で回転させる。回転は、各オブジェクトごとに行う。
【００４４】
オブジェクトのｘ軸回転の角度をＲｘとした時、オブジェクト内の点の座標（ｘ，ｙ，ｚ）のｘ軸回転後の座標は、
（ｘ，ｙ×cosRx ＋ｚ×sinRx ，−ｙ× sinRx ＋ｚ× cosRx ）
となる。
【００４５】
同様に、ｙ軸回転の角度をＲｙとすると、ｙ軸回転後の座標は、
（ｘ×cosRy −ｚ× sinRy ，ｙ，ｘ× sinRy ＋ｚ× cosRy ）
となる。更に、
同様に、ｚ軸回転の角度をＲｚとすると、ｚ軸回転後の座標は、
（ｘ× cosRz ＋ｙ× sinRz ，−ｘ× sinRz ＋ｙ× cosRz，ｚ）
となる。
【００４６】
更に、複数の軸に対して回転を行う場合は、上記の関係に従って、それぞれの回転を順番に行えばよい。なお、Ｒｘ，Ｒｙ，Ｒｚは同一のオブジェクト内の全ての点で一定である。
【００４７】
図７は、上記のようにして生成したモデルを上面から見た図である。○で囲んだ部分の頂点は、オブジェクトが重なりあって、生じたものであり、頂点データは存在しない。これに対し、かかる頂点を含む全ての頂点についてデータが必要であった従来の方法と比較して、本発明によりデータ量を増加させない利点が容易に理解できる。
【００４８】
ここで、一般にコンピュータグラフィック技術において、オブジェクトを構成するポリゴンを、３角形または４角形とする場合が一般的である。したがって、地形モデルを構成する面は、図７に示されるように、４角形に限られないが３角形及び４角形以外の多角形である場合は、複数の３角形及び／または４角形に切り分けて別々に面データとして持つ必要がある。
【００４９】
このため、従来の方法では、頂点データが更に増加することになるが、本発明によりかかる頂点データが増加するという問題も回避できる。
【００５０】
図８は、更に本発明の拡張の実施の形態である。図６（３）のように平面に並べられた複数のオブジェクトを、回転する前に、ｙ軸方向に任意に平行移動するようにしている（図８（ａ）参照）。
【００５１】
従って、ｙ軸方向に任意に平行移動した後、図６（４），（５）で説明したように、オブジェクトを回転することにより、図８（ｂ）に示すように、より複雑なモデルを形成することが可能である。
【００５２】
更に、上記した実施の形態および実施例において、オブジェクトをｘ軸、ｚ軸に平行移動する際に、隣接するオブジェクトを重ねるように説明した。これによりオブジェクトが重なりあい、複雑な形状を容易に作ることが可能である。更に、隣接するオブジェクトを重ねる様に平行移動する理由は、オブジェクトが重なりあっていないと、オブジェクトを回転させた時にオブジェクトとオブジェクトの間に隙間が生じるのを防ぐためである。
【００５３】
しかし、より簡易に複雑な形状を生成する場合は、必ずしも隣接するオブジェクトを重ねる様に平行移動する必要はない。更に、本発明は、基本となるオブジェクトは直方体に限定されない。直方体に対し、３角錐となる４面体あるいは、６面より大きい多面体を用いることも可能である。
【００５４】
この場合は、オブジェクトを並べた時及び、回転させた時に、オブジェクト間に隙間が生じる可能性がある。従って、オブジェクト間の隙間を例えばオブジェクトを構成するポリゴンのテキスチャデータの平均値で埋めるようにすることも可能である。
【００５５】
図９は、オブジェクトを並べた時及び、回転させた時に、オブジェクト間に隙間が生じる可能性に対する別の対応を説明する図であり、多面体として３角錐を用いた例である。
【００５６】
図９において、３角錐１００が先に直方体の例で説明した同様に並べられ、且つ回転された状態を示している。３角錐１００は、４面のポリゴン面で構成され５つの頂点座標を有する。したがって、３角錐１００の配置及び回転状態により５つの頂点座標が変化するだけで、ポリゴンによる画像が形成できる。
【００５７】
更に、図９では、並べられた複数の３角錐１００の間に隙間１０４が生じている。したがって、所定の隙間埋め込み用のポリゴン１０を用意する。図９において３角錐１００の下部の波線部分１０１，１０２，１０３は、画像表示領域を設定するクリッピングの段階で隙間埋め込み用のポリゴン１０の下側部分に位置され非表示部分となる３角錐１００のポリゴン領域部分である。
【００５８】
ポリゴン１０に対し所定のテキスチャデータが与えられるので、複数の３角錐１００の間に生じた隙間１０４は、ポリゴン１０に対する所定のテキスチャデータで埋め込まれる。この時、ポリゴン１０に対する所定のテキスチャデータを３角錐１００を構成するポリゴンのテキスチャデータと同一又は、類似とすることにより複数の３角錐１００とポリゴン１０との連続性が保つことができる。
【００５９】
尚、隙間埋め込み用のポリゴン１０の頂点座標Ａ，Ｂ，Ｃ，Ｄは、例えば画像表示領域を設定する上記のクリッピングの段階でのクリッピング面と垂直になるように設定すれば良い。
【００６０】
又、図９の例において、隙間埋め込み用のポリゴン１０を１つのみ示しているが、簡単化を阻害しない限りであれば、複数枚の隙間埋め込み用のポリゴンを所定角度で交差させて用いることも可能である。
【００６１】
【発明の効果】
以上、図面に従い実施の形態を説明したように、本発明は、オブジェクトを平行移動、回転する処理も頂点ごとに行うことなく、オブジェクト単位で行うことが可能である。このため、処理の手順を少なく行える。
【００６２】
更に、本発明を適用することにより、地形、水面、木面等のオブジェクトをポリゴンにより形成する場合に簡易な操作で、しかも少ないデータ量で形成することが可能である。
【図面の簡単な説明】
【図１】本発明のポリゴンによる地形画像形成方法を適用する画像処理装置の構成ブロック図である。
【図２】ポリゴンによる地形画像データの本発明に従う形成方法の実施の形態処理フローである。
【図３】本発明の方法において、オブジェクトを３次元座標の２軸方向の２次元平面に複数個並べる過程を説明する図である。
【図４】地形の画像をディスプレーに表示されタイムチャート時の状態例を示す図である。
【図５】オブジェクトとして、直方体を立方体とした例を示す図である。
【図６】図５のオブジェクトを基に、図２の手順を実行する過程を示す図であり、実施例として、ｘ−ｚ軸の２次元平面にオブジェクトを４つ並べる場合の例を示す図である。
【図７】本発明に従い生成したモデルを上面から見た状態を説明する図である。
【図８】本発明の拡張の実施の形態であり、オブジェクトをｙ軸方向に更に平行移動する様子を説明する図である。
【図９】オブジェクト間に隙間が生じる時の対応を説明する図である。
【図１０】ポリゴンで表示される複雑な地形の一例を示す図である。
【符号の説明】
１  ＣＰＵ
２  データバッファ
３  ジオメトリ処理部
４  レンダリング処理部
５  テクスチャマップ
６  デプスバッファ
７  フレームバッファ
８  ディスプレー
【図１】
0003931375.tif 000002
【図２】
0003931375.tif 000003
【図３】
0003931375.tif 000004
【図４】
0003931375.tif 000005
【図５】
0003931375.tif 000006
【図６】
0003931375.tif 000007
【図７】
0003931375.tif 000008
【図８】
0003931375.tif 000009
【図９】
0003931375.tif 000010
【図１０】
0003931375.tif 000011