電腦圖形學到底講了什麼

來源:互聯網
上載者:User
 

        最近看了好幾本圖形學的書,都是中國人寫的,感覺講什麼的都有,不同的書講的內容都不同。於是又翻了下孫家廣的《電腦圖形學(第三版)》,又看了下圖形學聖經《電腦圖形學原理及實踐 C語言描述》的目錄,發現還是聖經涵蓋的內容廣泛,幾乎涉及了其它圖形學教材的所有內容。東西太多,看完有點亂,於是自己梳理一下,看看到底有些什麼。

        粗略的看,電腦圖形學分為兩方面內容,一是建模,二是變換,三是渲染。所謂建模,就是將一個現實中的物體或者想象出來的物體做成一個模型,使電腦能夠識別。所謂變換,就是將空間中的實體變換到螢幕上。所謂渲染,就是在螢幕上顯示出來一些情境。


1、建模
        建模方面涉及的內容相對較少,這部分主要是和數學有關。因為電腦的基礎就是數學,電腦可識別的模型也即數學模型。

        (1) 模型的表示方法

        模型表示方法有兩種,一種是用方程表示,一種是用實體造型表示。

        方程表示主要包括常見的曲線曲面方程,BEZIER曲線曲面,B樣條曲線曲面和NURBS曲線曲面。

        實體造型表示包括內容挺多,如邊界表示,空間劃分表示,等等,很多。

        總而言之,這一部分的主要任務是以某種形式將一個實體表示出來。

        (2) 多邊形網格

        以某種形式將模型表示出來後,通常在三維圖形領域,模型並沒有真正的建立起來。通用的模型是多邊形網格形式的,於是需要進行轉換。

        在上一步形成的圖形可表示出大量的點,這些點都是實體表面上的點。按照一定的順序將點串連起來,就得到實體輪廓,即多邊形網格。

        通常採用三角形網格,為此需要對點進行三角剖分。常採用delaunay三角剖分和隨機增量剖分。

         (3) 網格簡化

        形成三角網格後,網格數量如果過多,需要對模型簡化,以降低渲染的負荷。在簡化的同時還要盡量不降低渲染的效果。通常有靜態網格簡化技術,細節層次技術,漸進式網格模型表示等。

 

2、座標系變換

       (1) 觀察變換

       這一部分是將空間物體從全局座標系變換到二維視區。因為物體處於三維空間中,然而螢幕是以圖片的形式顯示的,即視區是二維的,這樣就需要這樣一個變換。包括如下三個步驟:

        觀察變換:將實體從全局座標系變換到觀察座標系。

        正常化變換:將觀察域正常化

        視區變換:完成從觀察座標繫到視區的映射。

       (2) 裁剪

       裁剪是確定圖元是否落在某一地區。視區是有限的,在視區外的圖元不需要顯示在螢幕上。裁剪是在視區變換的過程中執行。

       裁剪演算法很多,關於直線裁剪,有Cohen-Sutherland演算法、Liang-Barsky演算法,關於多邊形裁剪,有Sutherland-Hodgman演算法、Weiler-Atherton演算法。

 

3、渲染
        渲染是電腦圖形學中最龐大的部分,這部分和電腦、數學、物理等多個學科都有聯絡。

        (1) 光照和明暗處理

        這部分研究的是光源發出的光打到實體表面產生的光照效果。於是需要研究如下內容:

        光照模型。即光源是什麼樣的,發出什麼樣的光。

        明暗處理模型。即模型的表面是什麼樣的,如何反射光。陰影屬於此部分

        光線追蹤。一種計算光照效果的演算法。

        輻射度演算法。另一種計算光照效果的演算法。

        即,這部分研究的主要內容是:光源發出什麼樣的光,物體對光如何反射,以及根據光源模型和明暗處理模型而產生的類比光照效果的演算法。

        (2) 顏色模型與著色

        現實世界是繽紛多彩的,因此必須有多種顏色。顏色模型有多種,如CIE-XYZ色度圖,RGB顏色模型,CMY顏色模型,HSV顏色模型,HLS顏色模型等等。

        選用某種特定的顏色模型,對實體進行著色,是渲染的重要內容,是增加渲染效果真實性的重要組成部分。

        (3) 可見面判定

        圖形學類比的是人眼看到的世界。對於一個實體,面對著我們的一側可以被看到,而實體的背部則不在視線範圍內。不在視線範圍內的部分稱為隱藏面。

        可見面判定即確定哪些面可見,哪些面不可見。這裡演算法也比較多,涉及到Z緩衝器演算法,曲面求交演算法等等。

        (4) 紋理

         為實體添加紋理,通常採用貼圖的形式,使實體更加真實。

 

 

總結:

        其實整理的也很亂,因為圖形學涉及的東西太多太雜了,比如幾何變換,投影等等,都沒有寫在上面。

        下面是三維圖形實現流程,我想有了這樣一個流程圖,心中就有了一條比較清晰的脈絡了。

        

        關於渲染過程畫的不全,但是比較重要的內容就是這些。寫這些也就是梳理一下,想闡述下某種技術在圖形學中到底有什麼作用,僅此而已。

 

 

The End

      

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.