2012年6月11日 星期一

981422-元智校園擬真3D空間場景

1.結果畫面展示與討論
這次作業是延續上次的作業,不同的是場景部份的幾何物件
必須從檔案中讀取顯示(例:obj),同時必須設定光源與物件
材質,而上次的作業,我也同樣是使用3ds max畫出model再以
obj檔讀入,所以這次的作業和上次作業相差很小,我只是多
放入了一些物件,讓擬真感更強烈一些些,以下是程式畫面

















2.心得呈現

這次的作業,本來是要貼圖的,結果試了很久還是失敗了
貼圖比想像中困難,特別是有些程式碼其實看不懂,很難
去debug,希望在下個作業我可以研究出貼圖!!


2012年5月20日 星期日

元智校園 - 3D空間遊走


1. 主題介紹 元智校園3D空間遊走

此作業是要使用openGL去描繪3D空間的元智校園
並且可以使用鍵盤讓使用者在校園裡遊走

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

作業三如同作業二,我分為兩個部分,第一個部分是使用3ds max軟體去繪畫出
每個館的3D立體model,並且以obj檔匯出;第二個部分才是使用OpenGL
OBJ檔載入程式畫在視窗上,並且可以讓使用者利用鍵盤的方向鍵去控制視角
以不同的視角來遊走校園。
這次作業的立體MODEL幾乎都只以長方體或圓柱體簡單的呈現而已,而一館是
直接拿作業二放上去。以下為程式執行畫面


程式一開始執行的畫面

 一館和六館
 六館五館和圓環
 五館和二館
 視角轉了90度,左邊為二館,右邊為三館和七館

由另一個角度看整個校園

跟上次作業一樣,有加入光源,讓整個畫面看起來更生動!


3.心得與討論

 這次的作業主要在練習空間遊走,每個建築物的3D位置擺放較花時
間,座標還是要一個一個慢慢去做調整,不過完成後,實際跑程式覺
得很有趣,比作業二更栩栩如生了,用程式遊走在校園裡彷彿身歷其境。



2012年4月30日 星期一

作業二 元智一館3D呈現



1. 主題介紹 元智一館3D呈現

此作業是要使用openGL去描繪元智一館的外觀

並且以3D的面貌呈現


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

這次的作業,我分為兩個部分,第一個部分是使用3ds max軟體去繪畫出
一館的3D立體model,並且以obj檔匯出;第二個部分才是使用OpenGL
OBJ檔載入程式,並且畫在視窗上,再使用鍵盤去控制各個軸面的旋轉

下圖是使用3DS MAX的介面,
依序為:由上往下的透視圖,由前往後的透視圖,由左往右的透視圖
其實就是由X,Y,Z軸所呈現的透視圖




 3DS MAX程式的右下角還會有一個實體圖
以下是我畫出一館的步驟,不過只擷取同一角度的圖








其實3DS MAX並沒有想像中簡單,步驟看似容易,也花費了相當的時間
因為3DS MAX是一個空間的概念!上面的每一個圖都是由一個體積拼出
來的,像拼積木一樣一塊一塊拼出來,這次畫一館最難的地方是窗戶
一館正面左側和右側的窗戶都是凹進去的,為了要讓窗戶有凹進去的感覺
需要一些繁瑣的動作和特效功能,而一館後方的窗戶我改用凸出來的感覺
是內建的物件,而且窗戶還分成有無打開的樣子,相當寫實!

 下圖可看出一館後面的窗戶是採用凸出來的設計,並且有些窗戶打開,有
些開一半,有些則關起來。


而在寫程式的部分,我是使用鍵盤QE鍵去做旋轉的動作,另外按
W
鍵尚可將一館拉近拉遠,並且加入了光源的投射,讓一館在旋轉的時
候,有光影的改變,讓旋轉更寫實。

(以下為程式真實的畫面)

3. 心得與討論

比起第一個作業,這次3D的呈現更為困難,光是研究3DS MAX這個軟體怎麼使用就
花費了相當的時間,在網路上找教學或是尋問同學,但不可否認的是3DS MAX真的相
當好用!而且繪畫出來的一館也較有真實感,經由這次的作業,讓我接觸到了3DS MAX
這個好工具,相信下次的作業也能使用3DS MAX去繪畫出更真實更漂亮的場景。



2012年3月18日 星期日

作業一 元智一館


1. 主題介紹 元智一館

此作業是要使用openGL 去描繪元智一館的外觀

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

在以openGL實作前,我先以素描把心目中的一館描繪出來
下圖是我畫一館所參考的照片















接下來,仔細的描繪出一館,比例很重要
並且用計算的方式把座標都標出來,先把座標標出來
等等實作的時候,才能順暢的畫出一館



















在程式部分,我全部都是用GL_POLYGON實作出來
因為打草稿的時候已抓出座標,所以在程式部分
就是照著算好的座標打上去,然後再以實際情況去微調

首先,我先將一館外觀大致的描繪出,如下圖。

















接著再一一描繪出細節

















最難的部分就在於圓柱體下方的曲線
因為沒有函式可以直接描繪出
所以我是用一個完整的圓形來取代曲線。

3. 心得與討論

雖然以前上視窗程式設計的時候,也用過程式去畫圖
但是這次用openGL去描繪一館也算是一個小小的挑戰
光是去弄懂openGL的函式就花了一點時間,除了老師
提供的範例
自己也上網去找了openGL的教學,而寫程

式的過程中,碰到最大的困難就是圓柱體下方的曲線
上網找了許多資料還是畫不出曲線,最後只好以圓形
代替。雖然這次作業對於第一次用openGL的我有點難
,但是完成的時候真的有很大的成就感。