非關語言: 電腦圖學入門

非關語言: 電腦圖學入門

電腦圖學(Computer Graphics)是資料結構、演算法與數學的應用,要深入瞭解的話,是個可以作為一生研究的領域,然而基礎的電腦圖學是某些從事資訊行業的人所不可少的,這並不專指程式設計人員,也包括了3D繪圖與動畫設計人員。

這邊的文件是我學習電腦圖學時的一些心得,也是入門電腦圖學的基礎,對於一些基本的2D或3D繪圖需求應該也足以應付,為了展現一些成果及部份的程式設計實作,使用了Java Applet與HTML 5 Canvas來展現,當然,與資料結構及演算法一樣,電腦圖學與程式語言沒有絕對相關性。

座標系統
學習圖學的第一 步,就是先瞭解物體在二維平面與三維空間中 如何定義位置,然後瞭解在二維螢幕上,電腦如何處理每個點的繪製。

頂點配置
無論是二維或是三維繪製,頂點的使用是一個重要的課題,如何定義各類圖象的頂點,以在節省記憶體與效能之間取得平衡,一直是值得研究的對象。

深度處理
三維世界中的有遠近,近的物體遮蓋遠的物體,深度的判斷除了簡單的遮蓋作用之外,對於隱藏面就省去不畫,節省計算資源。

色彩
有時您以為顏色一 樣,其實根本不一樣,色彩的一些細微變 化,有時足以影響整個構圖的感覺。
遞迴繪圖
對於一些複雜的幾何圖形,您可以研究出其遞迴規律並使用程式簡單的運行,即可構造出複雜的圖案,自然界中的某些物體常存在這類的遞迴規律。

動畫
可以寫些動畫來自娛總是令學習的過程有趣一些,這邊介紹幾個動畫入門,您可以結合之前的主題自行實作一些簡單的動畫。

背景、地圖
遊戲製作中幾個簡單的地圖製作以及障礙物的處理其實並不困難,透過下面的幾個主題,您可以稍微瞭解一下製作的原理。

粒子系統
自然界中的一些粒子運動看似複雜,其實每個例子有其獨立的狀態,透過對狀態的模擬與包裝,您也可以模擬出一些自然界的粒子運動。