ポリゴン

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索
ポリゴンで造られた回転放物線

ポリゴン: polygon)とは、多角形のことであるが、この記事ではサーフェスモデルなど、コンピュータグラフィックス特に3次元コンピュータグラフィックスにおける応用について述べる。

一般に日常的には「三角形」や「四角形」といった語は、それらの辺だけのものを指すのか、囲まれた中身を含む「面分」か、明確でないことも多い(「円」で言うならば、「円周」と「円盤」の違い)。しかし、形状モデリング等の応用では、その面が塞がっている面なのか、穴が開いているのかは大きな違いであり、識別の必要がある。そのため、きちんと多角形として「閉じて」いて、囲まれた中身を含む場合はクローズドポリゴン(closed polygon)、ただの連結な線分など閉じていない場合をポリラインあるいはオープンポリゴン(open polygon)、と呼び分ける(ことがある)。

(なお、3次元に限らず2次元コンピュータグラフィックスにおいても同様である。一例として、地理情報システム(GIS) などの地図データ及び描画では、領域の輪郭はポリゴンであり、道路や鉄道などはポリラインである)

このようなポリゴンで構成された物体は、基本的に直線と平面のみで構成されるが、線・面分割を細かくしてスムーズシェーディングなどの処理を併用する事で擬似的に曲線・曲面も表現できる。またピクサー社は単純なポリゴン形状で有機的曲面形状を制御するサブディビジョンサーフェス技術を開発している。

概要[編集]

ポリゴンの数が増えるほど詳細な表現が可能になり、何らかの入力操作に応じてリアルタイムに表示計算を行うコンピュータやゲーム機では1秒間に処理できるポリゴンの数がハードウェアの性能の比較に用いられることもある。例えば、初期の家庭用ゲーム機では、1994年にはセガメガドライブの周辺機器スーパー32Xでポリゴンのソフト(厳密にはこの場合のポリゴンは、三角形の意味でない)が発売されたが、スーパー32Xが32ビットでもメガドライブ自体は16ビットというハードの性能の限界があった。2000年に発売されたソニーのゲーム機、PlayStation 2に搭載されたEmotion Engineは、毎秒300~600万ポリゴン。2007年の時点では、携帯電話向けのものでさえ、東芝のTC35711XBGのように、毎秒1億ポリゴンにも達するものさえある。しかしCPUのFLOPSと同様、1秒間に処理できるポリゴンの数だけがハードウェアの性能の優劣を決定づける要素ではない。逆に、ハードの負荷を減らす為に制作側は極力少ない数のポリゴン(ローポリゴン)でキャラクターのモデリングを行う事を要求されるため、細部の表現には各種のテクスチャマッピングと組み合わせることが多い。

現在では、ほとんどの場合、三角形のポリゴンが使われる。これは、四角形以上のポリゴンの場合は、個々の頂点座標の位置関係によっては、ポリゴンに捩れが発生してしまい、このときポリゴンの面を正しく(あるいは高速、またはグーロー補間に)塗り潰すアルゴリズムの実装が複雑なためである。

三角形ポリゴンであれば、三つの頂点座標がどのような位置関係でも条件を考慮せずに同じアルゴリズムで塗りつぶせ、正しくグーロー補間できる。

三角形ポリゴンを塗り潰すアルゴリズムを多少変更すれば、フラット補間なら四角形以上のポリゴンも塗りつぶせないことはないが、凹多角形の場合はアルゴリズムが複雑になり、フィルレートも低下する。これらの理由から、リアルタイムコンピューターグラフィックスの世界では、三角形ポリゴンが使用されるのが普通である。

また、三角形ポリゴンを複数組み合わせて、四角形以上のポリゴンの処理を代替することは可能なので、いわゆるGPUなどは基本的に三角形ポリゴンの処理に特化した設計である(比較的に知名度があるハードウェアだと、セガModel3に使用されている、LockheedMartin Real3D/PRO-1000などは、四角形のポリゴンベースで処理をするが、もともとが軍事シミュレータ用であり例外的な存在である)。

凸多角形を塗り潰すアルゴリズムには、スキャンラインと辺の交点の間を塗るという方法がある。

関連項目[編集]