標籤:
多邊形表
情境中的對象一般用一組多邊形面片來描述。實際上,圖形軟體包經常提供以多邊形網格形式描述表面形狀的函數。對每一個對象的描述包括指定多邊形面片的幾何資訊和其他表面參數(如顏色、透明性及光反射特性)。在輸入每個多邊形的資訊時,資料放進一些表格中等待後續處理、顯示和情境的對象管理。這些多邊形資料表分成兩組來組織:幾何資料表和屬性資料表。幾何資料表包含頂點座標和標識多邊形面片空間方向的參數。對象的屬性資訊包含指定對象的透明程度及其表面的反射效能和紋理特徵。
情境中對象的幾何資料簡單地組織為三張表:頂點表、邊表和面片表(簡稱為面表)。對象的每一頂點的座標儲存在頂點表中。邊表包含指向頂點表的指標以確定每一多邊形的邊的端點。而面片表包含指向邊表的指標以確定每個多邊形的邊。圖3.50給出了對象表面兩個相鄰多邊形面片的相關表。另外,對象及其組成多邊形均可賦以對象和面片標識,這樣可以比較容易地引用它們。
3.50中將幾何資料放在三個表格中的做法為引用各個組成部分(每個對象的頂點、邊、和面片)提供了方便。使用標識多邊形邊界的邊表資料還可以高效地顯示對象。
另一種安排是只用兩張表:頂點表和面片表。但這種方案不夠方便,有些邊會線上框圖中畫兩次。
另一種可能是僅使用一張面片表,這會引起座標資訊的重複,因為每一面片中都使用了顯式的座標值。邊和面的關係也必須從面片表的頂點清單中進行重建。
可以在圖3.50的資料表中加人附加資訊來提高資訊的提取速度。例如,擴充邊表使其包含指向面片表的指標,從而使屬於兩個多邊形的公用邊能被快速標識(參見圖3.51 )。這對需要從一個多邊形到下一個平滑過渡著色的繪製過程特別有用。類似地,頂點表也可以擴充指向相應邊的指標,以便快速提取資訊。
另外一些常常儲存在資料表中的幾何資訊包括每一條邊的斜率和多邊形邊、多邊形面片及情境中每一對象的座標範圍。輸入頂點時,我們可以計算邊的斜率並通過掃描座標值來確認單條線段及多邊形的最小和最大的x,y,z值。由於幾何資料表可以包含情境中大量的複雜物件的頂點和邊,檢查其一致性和完整性是十分重要的。特別是在互動應用中有可能在描述頂點、邊和多邊形的過程中,產生一些輸入錯誤使對象的顯示變形。
資料表中包含的資訊越多,錯誤的檢查越容易。因此,當使用三個資料表(頂點、邊和面片)時錯誤的檢查比較容易,因為這個方案提供了最多的資訊。可由圖形軟體包來完成的測試有:
- 每一頂點至少有兩條邊以其作為端點
- 每條邊至少是一個多邊形的組成部分
- 每一個多邊形都是封閉的
- 每個多邊形至少有一條共用邊
- 如果邊表包含指向多邊形的指標,那麼由多邊形指標引用的每條邊都有一個反向指標指回該多邊形。
電腦圖形學(二)輸出圖元_10_多邊形填充區_4_多邊形表