2012年3月18日 星期日

[作業一 元智一館]



主題介紹 - 青出於藍

        走著每天上學必經的綠蔭大道,緩步走向左手邊樸素的建築物,這就是元智一館,我們

每天奮戰與學習新知的地方。作品中呈現的藍天白雲,期許著我們可以在這資訊人才的搖籃

裡激發創意,創造出簡單中的不平凡。


程式設計與寫作方法、執行結果呈現

        在進行程式寫作以前,先在網路上找了張元智一館的圖像(圖一),方便設計與參考。由於

是創作,因此首要目標就是將一個個的物件給創造出來。圖片中的主體是一館建築物,再來

是窗戶、燈座、道路、樹木等等。這些物件反覆的利用OpenGL  Primitives 即可完成。

(圖一) 元智大學一館(Yuan Ze University Building 1, Taiwan)


        基本的寫法是將要畫的圖形包在函式 glBegin(GLenum mode) glEnd()之中,glBegin()的

參數 mode 是填入想要畫的Primitive,我們可以利用GL_LINESGL_LINE_LOOP

GL_LINE_STRIP 這類的Primitives畫線,GL_TRIANGLES實做三角形、 GL_QUADS實做長方

形,用GL_POLYGON實做多邊形。

        由於畫布上的物件是一層一層疊上去的,所以一定要搞清楚物件的先後順序,於是可以

得到初步的成果。(圖二)

(圖二)初步的成果


        有了初步的底圖之後,接下來就要為圖形著色,使用的函數是glColor3f(GLfloat  red


GLfloat  green, GLfloat  blue) 傳進去的參數是RGB三原色的比例(最高是1,最低是0),而不是

直接傳256色的色階,這跟以往在寫其它畫圖程式所用的RGB傳值的方式有點不同,所以一開

始在參數的轉換上遇到了一點小困難,往往不知道如何調出自己想要的顏色。後來我使用了

Colorspire + EXCEL來計算我的顏色一切就簡單多了(圖三),只要將在 Colorspire 抓到的RGB值丟進

EXCEL 除以255運算過後,就可以得到RGB顏色的比例。於是我們可以得到最後的成果。

(圖三) Colorspire + EXCEL
(圖四)加了顏色

心得與討論


        作業一是利用基本的 OpenGL Primitives 來完成元智大學一館的繪製,這是一個非常好的

練習,讓我們可以熟悉基本的2D繪圖以及相關參數的設置,另外我在程式的撰寫中也加入了

一些額外的技巧,例如圓形的繪製,雖然圓形不屬於基本的 Primitives ,不過透過簡單的程式

邏輯,讓繪圖增添了不少可能性。