2012年6月25日 星期一

作業五-簡約房間

主題介紹:房間擺設

學了這麼多的寫作技巧,簡單的將自己的房間模擬出來

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

終於不必獨自面對那可怕的openGL
可以跟同組的組員一起討論如何製作這一次的作業

這一次主要是用sketchup先繪製好圖檔
之後再慢慢load進code裡面
但是因為遇到期末考
所以就很簡單的將幾個一兩個圖檔匯入
還有更改背景、還有lookat的方式
這一次遊走的方式有點改變
除了一般的直接前行之外
還有顛頗的效果




心得與討論

有組員一起討論的感覺其實挺不錯的
比起自己單打獨鬥又多了一份力量

其實畫圖還蠻好玩的
比起以前的一些code平淡無奇
感覺以後可以在深入研究一些code
讓我把模擬情境繪製的更栩栩如生

2012年6月11日 星期一

作業四-著色與從檔案讀取3D物件練習

一、主題:我是造物神-元智

這一次主要是要我們練習讀obj檔,還有視角移動
但是光讀obj檔就花了我大半時間,所以每棟建築物之間距離拿捏不是很好(汗
(因此我才說我是造物神Orz)

二、成果展示與過程


可愛的六館與五館

一館、三館與七館


二館

其實這一次讀檔是從網路上抓下來的範例
但是之前都是用code畫出圖案
比較起來用sketchup來畫圖片比較陌生
然後畫著畫著看到Portal有範例就手癢抓下來了...

三、心得與感想

其實聽同學說用這類的畫圖工具畫會比自己寫code還方便
而且還更精美!!!!!!!
但是第一次用難免會不好上手
希望之後自己研讀的時候可以將這些技巧熟用
畫出更相似的圖片

2012年5月21日 星期一

作業三-認識元智校園

主題介紹:認識元智校園

號稱偶像劇大學的元智       
如果想要以簡單的圖形方式介紹給從來沒來過或者即將要進入元智校園的新生        
我想是再好不過了        
以簡單的圖形讓大家了解元智校園內部大概是怎麼樣的分佈        
一起看下去吧!


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


以OpenGL的形式完成這一次的作業        
撰寫的概念主要是以畫出六棟建築物        
再將各個位置分別標示出來        
以圖表的概念如下:
─┐             ─┐                                    ─┐
│   六      │              │   五      │                                    │   二       │
│   館      │              │   館      │                                    │   館       │
──             ──                                    ──
─┐                                                                   ─┐           ─┐

│   一      │                                                                    │   三      │           │   七      │
│   館      │                                                                    │   館      │           │   館      │
──                                                                   ──           ──        
而繪製的順序是:
─┐              ─┐                                    ─┐

│   六      │→→ →  │   五      │ → → → → → → → │   二      │
│   館      │               │   館      │                                    │   館      │
──              ──                                    ──       
         ↑                                                                                      ↓

─┐                                                                     ─┐          ─┐
│   一      │                                                                      │   三      │→ → │   七      │
│   館      │                                                                      │   館      │          │   館      │
──                                                                     ──          ──
        

第一個首先是將一館畫好,將簡單的四方體還有些許窗戶補上即完成         
第二個是將六館畫出,因為是在一館旁邊,所以如果有順序的話過去會比較好描座標點
        

接下來是五館,如果是以長方體繪製的話我怕會跟一館太像,所以將正面做了些許改變         
依序是二館,我的呈現方式是讓他以八角柱的方式表現出來
       

然後是三館,以H形的建築物表現

        

最後是七管        
但是因為七館的形狀太複雜        
我一直想不出來到底要怎麼樣去呈獻        
試了好多方法                
看起來都怪怪的        
無計可施之餘才只用長方體表示(嘆)



心得與討論
        

這一次作業我覺得可以讓其他人有身歷其境的感覺        
以各種視角來去看待每棟元智的建築物               
當然        
比起第一次作業的難度多了很多                
除了有構思如何撰寫之外        
立體座標一直是我最頭痛的地方        
常常在紙上標出自己覺得是正確的座標                
但是實際上程式編譯過後的結果往往跟自己預期的不一樣        
雖然困難同時也豐富了結果的驚喜感        
比起一開始的2D圖行有趣多了!

2012年4月30日 星期一

作業二-元智一館

一、主題介紹 - 出生之犢不畏虎之一館立體圖


        我承認這一次主題想的有點浮誇
        但是這也說明了我對於立體圖的挑戰從不畏懼
        好吧,我承認其實我畏懼了
        因為光設立座標點就讓我足足悲劇了好幾個小時


二、成果展示與過程


        從一開始我只有小小的草圖(如圖下)
   
       其實光畫這小小的草圖就花了我大半時間
       因為要將有缺陷的面設立新的座標點
       對於有稍微空間障礙的我實在是一大挑戰
       
       後來因為對於空間的座標點實在太惱人
       所以選擇開始著手於旋轉的方面去下手
       會這麼做其實是因為已經有一點草圖了
       所以旋轉不會去妨礙到圖片的視覺
       我是選擇使用滑鼠來讓使用者從各個不同的角度去看
       畢竟滑鼠的靈敏度要比鍵盤高很多
       可以一下子就移動到自己想要的角度


       後來發現了一個難題
       那就是──圓柱該怎麼畫!!!!!!!!
       Google到的結果就是利用下面的函式:
       GLUquadricObj *quadratic;
       gluCylinder(quadratic,20,20,20,32,32);
       quadratic=gluNewQuadric(); 

       這個是opengl內建的可以用來畫圓柱
       我是只換過前三個數字參數 "下圓的半徑、上圓的半徑、圓柱的高度" 
       利用glPushMatrix();   glPopMatrix();兩個來包起來       
       包起來的作用是在你想單獨traslation一個物品的時候可以隔開
       不然沒隔起來就會發現整個世界都跟著變了。

       圓柱的參考程式碼:
       glPushMatrix();
       glColor3f(0.5,0.5,0.5);
       glTranslatef(52,10,30);
       glRotatef(90,1.0,0.0,0.0);
       GLUquadricObj *quadratic;
       quadratic=gluNewQuadric();         
       gluCylinder(quadratic,25,25,70,20,50);         
       glPopMatrix();
       
       最後完成的圖片:




       

三、心得與感想

       其實只要一想到之後作業可能都會採用這種3D的模式就讓我一個頭兩個大
       畢竟對於這種填空間座標
       對於一個對空間概念有些許障礙的人來說
       真的是一大悲劇      
       

2012年3月19日 星期一

HW1 一館


1主題介紹 - "灰"諧一館


一館讓大家第一眼印象就是有點陰沉的樣子,這一次幾乎都是使用灰色來表達作業的樣子。


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


前置作業基本上是將一館的平面圖大致描繪出來,參採的是下面這張圖片。 


一開始將整體的外框先架設出來,如下圖。


接下來再補上窗戶就差不多完成了。


3心得與討論
頭一次使用openGL撰寫程式,跟以往學到的都不太一樣,尤其是在補顏色的時候,以往的概念是用實際數字去填補顏色,這一次用的是比例的方法,還有就是畫圖的方式,首次嘗試使用openGL當然免不了在網路上蒐尋相關的寫法跟資料,基本上還有很多需要再補足的地方,日後有學到更精深的寫法在於予呈現。