向量圖形

计算机图形学中用点、直线或者多边形等基于数学方程的几何图元表示图像

向量圖形電腦圖學中用直線或者多邊形等基於數學方程的幾何圖元表示的圖像。向量圖形與使用像素表示圖像的點陣圖不同。

向量圖形的顯示效果範例:(a)原始向量圖;(b)向量圖放大8倍;(c)點陣圖放大8倍。點陣圖的放大質素較差,但是向量圖可以不降低質素地無限放大。

綜述

編輯

所有的現代電腦顯示器都要將向量圖形轉換成柵格圖像的格式,包含螢幕上每個像素數值的柵格圖像儲存在主記憶體中。

從電腦發展的最初1950年代一直到1980年代,曾經使用過一種不同類型的向量圖形系統顯示器。在這些系統中CRT顯示器的電子束直接逐段生成所需圖形,螢幕其它部分保持為黑的狀態。為了達到沒有閃爍或者接近沒有閃爍的效果,這個過程每秒要重複很多次。這種顯示系統可以生成解像度非常高的藝術線條,並且不需要柵格系統生成同樣解像度所需要的對於當時來說非常巨大的主記憶體空間。這種基於向量的顯示器稱為X-Y顯示器

 
向量化是去除相片中多餘資訊的好方法。(為了在本頁顯示,圖像轉成了JPEG格式。)
 
原始相片,JPEG柵格圖像
 
向量化的Steam Locomotive 7646,最初是Windows Metafile格式。

向量圖形顯示器的最初應用之一是US SAGE防空系統。向量圖形系統只有在1999年美國的空管中出現過故障,現在依然在軍隊以及一些特殊系統中使用。另外,1963年,電腦圖學先驅Ivan Sutherland在MIT Lincoln Laboratory的TX-2上使用向量系統執行他的Sketchpad程式。

後來的向量圖形系統包括Digital的GT40 [1]。有一個名為Vectrex的家庭遊戲系統使用了向量圖形,另外還有「Asteroids」以及「Space wars」這樣的遊樂中心遊戲也使用了向量圖形。另外值得一提的是Tektronix 4014,儘管它的顯示是靜態的。

如今向量圖形這個術語主要用於二維電腦圖學領域。它是藝術家能夠在柵格顯示器上生成圖像的幾種方式之一。另外幾種方式包括文字、多媒體以及三維渲染。實質上而言,所有當今的三維渲染都是二維向量圖形技術的擴充。工程製圖領域的繪圖儀仍然直接在圖紙上繪製向量圖形。

目的

編輯

例如,程式繪製一個半徑r所需的主要資訊是:

  1. 半徑r
  2. 圓心坐標
  3. 輪廓樣式與顏色
  4. 填充樣式與顏色

這種繪製圖比點陣圖的優越之處有:

  • 儲存最少的資訊,檔案大小比點陣圖要小,並且檔案大小與物體的大小無關
  • 在圖像處理軟件中,任意放大向量圖形,不會遺失細節或影響清晰度,因為向量圖形是與解像度無關的。無限地放大這個圓,它仍然保持平滑;而點陣圖用多邊形表示的曲線將會顯現出不是真正的曲線
  • 在放大的時候,直線與曲線都不會成比例地變粗,它只會保持不變或者要小於縮放比例;為了看起來比較平滑,使用簡單幾何形狀表示的不規則曲線將會成比例地變粗,並且看起來不再像這些幾何形狀
  • 儲存的物體參數可以在後面修改。這也就是說物體的運動縮放旋轉、填充等都不會降低繪製的精度。另外,可以用與裝置無關的單位表示,這樣更好地柵格裝置上進行柵格化
  • 從三維的視角來看,由於陰影可以抽象為形成它們的光線,所以向量圖形的陰影渲染更加真實。這樣就可以得到真實感的圖像及渲染效果。
  • 當調整向量圖形的大小、將向量圖形列印到 PostScript 印表機、在 PDF 檔案中儲存向量圖形或將向量圖形匯入到基於向量的圖形應用程式中時,向量圖形都將保持清晰的邊緣。因此,對於將在各種輸出媒體中按照不同大小使用的圖稿(如徽標),向量圖形是最佳選擇[1]

典型的圖元對象

編輯

這只是其中的一部分,另外還有各種各樣用於不同應用程式的曲線,如「Catmull-Rom樣條」非均勻有理B樣條等。

通常點陣圖圖像也是一個元對象,從概念上來看它同矩形的表現類似。

向量運算

編輯

向量圖形編輯器通常可以旋轉、平移、鏡像、拉伸、扭曲向量圖形,通常可以進行仿射變換,改變深度位置並且將圖元與複雜物體合併。 更加複雜的變換包括封閉形狀集合運算併集補集交集等)。

向量圖形非常適合於與裝置無關的簡單或者合成的製圖或者不需要實現真實感的場合。例如,「PostScript」以及PDF頁面描述語言就使用了向量圖形模型。

列印

編輯

向量藝術線條是列印領域中的一項關鍵技術。因為藝術線條是從一系列數學點得到的,所以無論如何縮放藝術線條列印結果質素都非常高。例如,將同一個向量標識圖列印到名片上或者放大到廣告牌上,都可以得到同樣的圖像質素。與此不同的是,如果點陣圖從名片大小放大到廣告版的尺寸,那麼圖像細節將會變得非常模糊。

三維造型

編輯

3D電腦圖形學中,向量表面表示非常常見,而點陣圖可以用作表面紋理、高度場數據以及凸凹紋理對映等特殊目的。在低階系統中,在應用程式中用簡單的多邊形網格表示幾何細節,在這些場合互動幀率或者簡單性都是非常重要的。在高端系統中,如果希望通過犧牲渲染時間的方法換取更好的圖像質素及精度,那麼就可以使用貝塞爾曲面NURBS或者細分曲面等平滑表示方法。但是,我們也可以用「Phong shading」這樣的演算法從多邊形網格實現一個平滑曲面。

參考文獻

編輯
  1. ^ 存档副本. [2014-07-17]. (原始內容存檔於2014-07-26). 

外部連結

編輯

參見

編輯