ポリゴンメッシュ(または非構造格子)は、3D
コンピュータグラフィックスとソリッドモデリングにおいて、
多面体オブジェクトの形状を定義するために使用される、
頂点、
辺、
面の集合です。通常、レンダリングを容易にするために、
三角形や
四角形などの単純な凸多角形で構成されますが、より一般的な凹多角形や穴のある多角形も使用されることがあります。
ポリゴンメッシュの研究は、
コンピュータグラフィックスと
幾何学モデリングの大きな分野を形成しています。多様な表現方法が、さまざまなアプリケーションや目的に合わせて利用されています。メッシュに対して行われる操作には、ブール演算、平滑化、簡素化などがあり、ネットワーク経由で送信するためのストリーミングやプログレッシブメッシュの技術も存在します。
ポリゴンメッシュはオブジェクトの表
面のみを明示的に表現しますが、ボリュームメッシュは表
面と内部の両方を表現します。
コンピュータグラフィックスにおける利用は広範囲に及び、
レイトレーシング、衝突検出、剛体力学などの
アルゴリズムで活用されています。
メッシュの構成要素
ポリゴンメッシュで作成されるオブジェクトは、異なるタイプの要素で構成されています。主な要素は以下の通りです。
頂点 (vertex): 位置を表し、色、法線ベクトル、テクスチャ座標などの追加情報を持つことがあります。
辺 (edge): 2つの
頂点を結ぶ線。
面 (face): 閉じた辺の集合。三角形の面は3つの辺、四角形の面は4つの辺を持ちます。
ポリゴン (polygon):
面の集合。多角形の
面をサポートするシステムでは、
ポリゴンと
面は等価とみなされます。しかし、多くのレンダリングハードウェアは3
辺または4
辺の
面のみをサポートしているため、
ポリゴンは複数の
面として表現されることがあります。
数学的には、
ポリゴンメッシュは
幾何学的形状やトポロジーなどの要素を持つ非構造格子または無向グラフと見なすことができます。
サーフェスとスムージンググループ
サーフェス(またはスムージンググループ)は、滑らかな領域をグループ化するために使用されます。例えば、ソーダ缶のキャップとシリンダー部分を考えてみましょう。円筒形状の側
面は、すべての
面法線が中心から水平に離れるようにする必要がありますが、キャップの法線は±(0,0,1)方向を指す必要があります。スムーズなレンダリングを実現するには、メッシュの滑らかな部分をグループ化し、滑らかさを停止する場所を決定する必要があります。
スムージンググループの代替として、メッシュは分割角度などのデータを持ち、特定の閾値以上の法線を持つ
ポリゴンを自動的に別のスムージンググループとして扱うことがあります。また、高解像度のメッシュでは
ポリゴンが小さくなるため、スムージンググループの必要性が低くなる場合があります。また、単にメッシュの残りの部分からサーフェスを分離することも可能です。
レンダラーは通常、連続していない
ポリゴンの境界を越えてエッジを滑らかにしません。
メッシュフォーマットと追加データ
メッシュフォーマットには、さまざまな有用なデータが含まれることがあります。グループはメッシュ内の独立した要素を定義し、スケルタルアニメーションのためのサブオブジェクトや、非スケルタルアニメーションのための独立したアクターを決定するのに役立ちます。マテリアルは、メッシュの異なる部分が異なる
シェーダーを使用できるように定義されます。多くのメッシュフォーマットはUV座標も保持しており、2次元テクスチャマップのどの部分をメッシュのどの部分に適用するかを示すために使用されます。
まとめ
ポリゴンメッシュは、3Dグラフィックスやモデリングにおいて不可欠な技術であり、その多様性と応用範囲は非常に広いです。その構成要素やスムージングの概念を理解することで、より高度な3Dモデリングやレンダリングが可能になります。
関連項目
3次元コンピュータグラフィックス
ポリゴン