2012年6月25日 星期一

作業五 3D房間

(一) 主題介紹

畫一個房間 裡面有一些家具

(二) 成果與過程展示





一個簡單的小房間
地上是用大理石紋理
房間的家具皆是用sketchup作成的obj檔
up, down, left, right 可以控制視野移動的前後左右
之前得過小化,在這次的功課裡
我在loadobj那邊的成是瑪裡面找到了相關的Scale函式
解決的大小問題
而關於燈光的方面,我在前左右都打了光
以免會有陰影的地方而看不太清楚

(三)心得與感想

這次的作業將老師所教的都應用進去了
並修改了之前的小問題
總體來說是又學會了一步





2012年6月11日 星期一

作業四 元智小人國


(一)主題介紹

將一館、三館、五館、六館盡量照實際位置擺放進校園
不過不知道為什麼
放進去的大小過小
所以有種在小人國的感覺

(二)成果與過程展示





這次的作業要用到obj檔
所以用了sketchup去製作
途中遇到許多挫折,尤其是再匯出成obj檔時
遇到的顏色無法顯示的問題
而obj的讀檔則是參照老師的範例

燈光部分也是個很大的挑戰
往往照不出我想要的結果

上面圖的館都有點破圖
而五館由於是凹進去的
燈光照不到而成線一整個黑掉

(三)心得與感想

這次的作業花了比作業123更久的時間
在sketchup上面做出來的館都美輪美奐的
但實際上丟進程式裡卻完全變了樣
讓我有點傷心
期望下次最後一個作業能有所改善!

2012年5月20日 星期日

作業三 元智校園


(一)主題介紹


畫出遊走於其中的元智校園
這次跟之前比起來加的現實了
要畫的東西整個又多了很多
不只要沿用之前的一館 其它的館也要畫出來 不過只要用長方體表現

(二)成果與過程展示







這次的作業比較巨大
因為要畫出整個校園
所以空間要抓得比較好 不然的話各個館的位置會有所差異
而這次最難的地方是在寫要怎麼遊走在其中
這方面的話我是參考老師所提供的code
在平面上的移動都要考慮到角度上的變動
這部分花了我很多時間在理解上面
其他的部分則是向老師所講的用長方體代替


(三)心得與感想

這次的作業比起之前的又更貼近現實了
開始有點像遊戲的感覺了
人物可以遊走在裡面實在是很酷
其他部分若是在做得很細膩一定會很完美!
感覺作業越來越有趣了!

2012年4月29日 星期日

作業二 3D元智二館

(一)主題介紹


畫出3D的元智一館
這次跟之前比起來多了一個維度
要畫的東西整個就多了很多

(二)成果與過程展示




基本上做法跟上一個作業一樣
不過這次的面比之前畫的多了5倍
每個長方體都要畫六面
3D元智一館是先由各個中間會留下空洞長方體組成
然後線是玻璃等顏色是由裡面的長方體透出來的
圓柱體則是這樣造出來的:

GLUquadricObj *quadratic;
gluCylinder(quadratic,0.6,0.6,3.1,32,32);
quadratic=gluNewQuadric();
然後在移動到想要的位置,不過這裡要注意的是,要用glPushMatrix()和glPopMatrix()包起來
像這樣:

glPushMatrix();
glColor3f( 0.7, 0.7, 0.7 );
glTranslatef( 11, 3.1, -0.5 );
glRotatef( 90, 1, 0, 0 );
gluCylinder(quadratic,0.6,0.6,3.1,32,32);
glPopMatrix();
這樣才能單純只移動到圓柱體,否則的話整個一館都會一起移動和旋轉!

在整個一館的旋轉方面,我試用簡單的glRotatf()去旋轉,其中角度用變數去更改
在按下'A'和'D'鍵時角度會增加及減少,用這樣的方法去控制一館的旋轉。

(三)心得與感想

這次的作業要由於是立體的,側面和背面都要畫出來。
由於側面和正面會有相關的地方,所以在畫正面的長方體時也要考慮到策面的樣子,
也就是說當正面的長方體會覆蓋到側面時,就要將該長方體拆成兩塊。
這是我覺得這次作業最辛苦的地方!
這次作業寫完滿足感遠遠大於作業一,感覺更貼近現實了!

2012年3月18日 星期日

作業一 元智一館

(一) 主題介紹

無敵平面的元智一館
原因 : 因為畫的實在是太平面

(二)  成果與過程展示















我一開始想畫的一館就是正面的樣子,所以在立體感上面的展現基本上是零。
這張一館平面圖全部是由 GL_POLYGON,GL_LINES,GL_LINE_LOOP所構成,值得注意的是順序的部分,舉例來說,圖中紅線的部分若是畫的太早會被覆蓋掉,所以排序的時候要注意先後問題。
在另一方面,由於不想用過多的負號值去運算,所以用了gluLookAt以及gluPerspective兩個涵式去調整camera的位置和遠近。


(三)心得與感想

這次的作業最大的困難就是在於判斷物件的座標軸,常常為了一個調整到滿意的地方而不停的更改程式碼,還有再物件的排序上也有時候會覆蓋到其他的物件。
對於這一次的繪圖,整體來說我覺得滿有趣的,雖然有時候會出現令你很無言的影像但用一堆文字打出一張圖的感覺真的滿酷的。