
計算機圖形學表面
多邊形表面
物體表示為一系列表面的集合。3D物體表示分為兩類。
邊界表示法 (B-reps) − 它將3D物體描述為一組將物體內部與環境分開的表面。
空間劃分表示法 − 透過將包含物體的空間區域劃分為一組小的、不重疊的、連續的實體(通常是立方體),它用於描述內部屬性。
3D圖形物體最常用的邊界表示法是一組封閉物體內部的表面多邊形。許多圖形系統都使用這種方法。儲存多邊形集合來描述物體。由於所有表面都可以用線性方程描述,這簡化並加快了表面的渲染和顯示。
多邊形表面在設計和實體建模應用中很常見,因為它們的線框顯示可以快速完成,從而大致指示表面結構。然後透過在多邊形表面上插值陰影圖案來產生逼真的場景以進行照明。

多邊形表
在這種方法中,表面由頂點座標集和相關屬性指定。如下圖所示,共有五個頂點,從v1到v5。
每個頂點儲存x、y和z座標資訊,在表中表示為v1:x1、y1、z1。
邊表用於儲存多邊形的邊資訊。在下圖中,邊E1位於頂點v1和v2之間,在表中表示為E1:v1、v2。
多邊形表面表儲存多邊形中存在的表面數量。從下圖可以看出,表面S1由邊E1、E2和E3覆蓋,這可以在多邊形表面表中表示為S1:E1、E2和E3。

平面方程
平面表面的方程可以表示為:
Ax + By + Cz + D = 0
其中(x, y, z)是平面上的任意一點,係數A、B、C和D是描述平面空間屬性的常數。我們可以透過使用平面中三個非共線點的座標值求解一組三個平面方程來獲得A、B、C和D的值。假設平面的三個頂點是(x1, y1, z1)、(x2, y2, z2)和(x3, y3, z3)。
讓我們求解以下聯立方程以求解比率A/D、B/D和C/D。你將得到A、B、C和D的值。
(A/D) x1 + (B/D) y1 + (C/D) z1 = -1
(A/D) x2 + (B/D) y2 + (C/D) z2 = -1
(A/D) x3 + (B/D) y3 + (C/D) z3 = -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表面和實體可以用一組多邊形和線元素來近似。這種表面稱為多邊形網格。在多邊形網格中,每條邊最多由兩個多邊形共享。多邊形或面的集合共同構成物體的“皮膚”。
此方法可用於表示圖形中廣泛的實體/表面類別。可以使用隱藏表面消除演算法渲染多邊形網格。多邊形網格可以透過三種方式表示:
- 顯式表示
- 指向頂點列表的指標
- 指向邊列表的指標

優點
- 它可以用來模擬幾乎任何物體。
- 它們很容易表示為頂點的集合。
- 它們很容易變換。
- 它們很容易在電腦螢幕上繪製。
缺點
- 曲線表面只能近似描述。
- 很難模擬某些型別的物體,例如頭髮或液體。