コンピュータグラフィックス表面

ポリゴンサーフェス

オブジェクトは、サーフェスのコレクションとして表されます。3Dオブジェクト表現は2つのカテゴリに分けられます。

  • Boundary Representations (B-reps) − 3Dオブジェクトを、オブジェクトの内部を環境から分離する一連のサーフェスとして記述します。

  • Space–partitioning representations −オブジェクトを含む空間領域を、重なり合わない小さな連続したソリッド(通常は立方体)のセットに分割することにより、内部プロパティを記述するために使用されます。

3Dグラフィックスオブジェクトで最も一般的に使用される境界表現は、オブジェクトの内部を囲むサーフェスポリゴンのセットです。多くのグラフィックシステムはこの方法を使用します。ポリゴンのセットは、オブジェクトの説明のために保存されます。これにより、すべてのサーフェスを線形方程式で記述できるため、オブジェクトのサーフェスレンダリングと表示が簡素化および高速化されます。

ポリゴンサーフェスは、設計およびソリッドモデリングアプリケーションで一般的です。 wireframe display表面構造の一般的な指標を与えるために迅速に行うことができます。次に、ポリゴンサーフェス全体のシェーディングパターンを補間して照らすことにより、リアルなシーンが生成されます。

ポリゴンテーブル

この方法では、サーフェスは頂点座標と関連する属性のセットによって指定されます。次の図に示すように、5つの頂点は、Vから、ある1からV 5

  • 各頂点には、テーブルにv 1:x 1、y 1、z 1として表されるx、y、およびz座標情報が格納されます。

  • Edgeテーブルは、ポリゴンのエッジ情報を格納するために使用されます。以下の図において、エッジE 1頂点vとの間にある1及びV 2 Eとして表に示されている1:V 1、V 2

  • ポリゴンサーフェステーブルには、ポリゴンに存在するサーフェスの数が格納されます。以下の図から、表面S 1は、エッジEによって覆われている1、E 2およびE 3 Sとしてのポリゴン面テーブルで表現することができる1 E:1、E 2、及びE 3

平面方程式

平面の方程式は次のように表すことができます。

Ax + By + Cz + D = 0

ここで、(x、y、z)は平面上の任意の点であり、係数A、B、C、およびDは平面の空間プロパティを表す定数です。A、B、C、およびDの値は、平面内の3つの非同一線上の点の座標値を使用して3つの平面方程式のセットを解くことによって取得できます。平面の3つの頂点が(x 1、y 1、z 1)、(x 2、y 2、z 2)および(x 3、y 3、z 3)であると仮定します。

比率A / D、B / D、およびC / Dについて次の連立方程式を解きます。A、B、C、およびDの値を取得します。

(A / D)x 1 +(B / D)y 1 +(C / D)z 1 = -1

(A / D)x 2 +(B / D)y 2 +(C / D)z 2 = -1

(A / D)x 3 +(B / D)y 3 +(C / D)z 3 = -1

上記の方程式を行列式で取得するには、クラメルの法則を上記の方程式に適用します。

$ A = \ begin {bmatrix} 1&y_ {1}&z_ {1} \\ 1&y_ {2}&z_ {2} \\ 1&y_ {3}&z_ {3} \ end {bmatrix} B = \ begin {bmatrix} x_ {1}&1&z_ {1} \\ x_ {2}&1&z_ {2} \\ x_ {3}&1&z_ {3} \ end {bmatrix} C = \ begin {bmatrix} x_ {1}&y_ {1}&1 \\ x_ {2}&y_ {2}&1 \\ x_ {3}&y_ {3}&1 \ end {bmatrix} D =-\ begin {bmatrix} x_ {1}&y_ {1}&z_ {1} \\ x_ {2}&y_ {2}&z_ {2} \\ x_ {3}&y_ {3}&z_ {3} \ end {bmatrix } $

パラメータA、B、C、およびDを持つ任意の点(x、y、z)について、次のように言うことができます。

  • Ax + By + Cz + D≠0は、点が平面上にないことを意味します。

  • Ax + By + Cz + D <0は、ポイントがサーフェスの内側にあることを意味します。

  • Ax + By + Cz + D> 0は、ポイントがサーフェスの外側にあることを意味します。

ポリゴンメッシュ

3Dサーフェスとソリッドは、ポリゴン要素とライン要素のセットで近似できます。そのような表面は呼ばれますpolygonal meshes。ポリゴンメッシュでは、各エッジは最大2つのポリゴンで共有されます。ポリゴンまたは面のセットは、一緒になってオブジェクトの「スキン」を形成します。

このメソッドは、グラフィックスで幅広いクラスのソリッド/サーフェスを表すために使用できます。ポリゴンメッシュは、隠面判定アルゴリズムを使用してレンダリングできます。ポリゴンメッシュは3つの方法で表すことができます-

  • 明示的な表現
  • 頂点リストへのポインタ
  • エッジリストへのポインタ

利点

  • ほぼすべてのオブジェクトのモデル化に使用できます。
  • それらは、頂点のコレクションとして簡単に表すことができます。
  • それらは簡単に変形できます。
  • それらはコンピュータ画面上で簡単に描くことができます。

短所

  • 曲面はおおよその説明しかできません。
  • 髪の毛や液体など、ある種のオブジェクトをシミュレートすることは困難です。