2011年6月19日 星期日

3D圖論-八大行星延伸應用

這次作業我是延用之前做的八大行星code
不過我這次將所有星球球體做OBJ loading的方式
因為有修3D動畫程式設計的關係所以這次作業並不會很困難
不過到是在texture mapping上遇到了一些問題
關於圓球狀的貼圖
如果是內建gluSphere球狀貼圖應用那還會
不過在OBJ球狀貼圖應用就顯得生疏
不過還是想辦法貼上去
只不過貼圖的預期並不像當初那樣完美
這次程式多加了一些東西
F1~F3可以修改背景貼圖
可以試試看換三種宇宙背景
光源部分我選擇只開四盞燈
六盞的話水星會因為燈光效應變的非常的亮
四盞效果最好
燈光因為glLookAt矩陣變換而位移的問題已經在display function裡面解決
所以場景的燈光問題已經解決
基本上對於場景本身以人類的視野而言
XZ軸和Y軸的場景布置(背景貼圖)大約為黃金比例1.682:1為完美
看上去較為舒適
在場景悠遊方面我仍然選擇使用大天球移動(有些參數難以更動)
以下是我這次程式執行時的樣子


主要還是在於球面貼圖的部分
或許之後期末考後有時間應該還會再去找找解決的方法

2011年5月16日 星期一

元智3D校園場景草圖

這次作業其實跟3D的元智大學場景擬草圖是一樣的要求
便不在多做解釋
我是把作業本身的顏色稍微改一下
基本上我在想如何要把obj和texture mapping給弄上去
但是我在obj轉檔的時候就卡住了...
這是我這次作業的暫時執行結果


然後再sketch up8匯出時大失敗...



所以~現在還在解決這些問題
我必須找找程式把檔案給吃到哪去了...=    =

2011年5月8日 星期日

太陽系基本運轉模型

這次作業是太陽系的基本運轉模型
其實說真的...挺複雜的...光天文單位就已經讓我很頭痛了
可怕的函式還是很驚人

不過這次的主題還是在於openGL的眾多函式運用
尤其是函式的排序顯得特別重要
這次練習到的有視角glLookAt、函式排序、和Matrix的push和pop
在這次作業裡常常用到這三個東西
不做最大的收穫應該是在函式排序
例如說行星的旋轉要公轉不影響自轉要怎麼排序
或者是土星環不想要跟土星一起轉, 但是卻已經寫在同一個push pop裡面要怎麼排序才行
這些在我的程式碼註解裡面都有提到~!
lookat方面我讓觀察者衛星處在一三維空間的虛擬天球
這部分程式碼裡面也有提到

講來講去還是先來看看結果吧!
首先...先看操作的部分


上鍵 : 將衛星本身上移可俯視角度加大 
下鍵 : 將衛星本身下移可仰視角度加大 
左鍵 : 將衛星本身向太陽中心往左偏移 
右鍵 : 將衛星本身向太陽中心往右偏移
"z"鍵 : 將視野縮小
"x"鍵 : 將視野放大
"s"鍵 : 八大行星模型開始旋轉
"q"鍵 : 八大行星模型停止旋轉
"+"鍵 : 轉速加快 (附註:嫌轉太慢就加速, 別看他慢慢轉浪費時間) 
"-"鍵 : 轉速減慢 
"i"鍵 : 讓使用者回到初始化視角 

眾多天文單位...(這是已經整理好的了)


然後這是片面的執行結果


甜甜圈部分...不用懷疑, 很陽春的土星環和小行星帶...
如果覺得看不懂的話就玩玩看程式就知道了

基本上太陽部分我曾經試過用光源...但是我用錯了, 有光源的太陽被我搞得跟卓別林默劇一樣...
我還是不太熟悉光源阿


所以我後來決定還是用個大紅球給他!!

2011年3月27日 星期日

作業1 元智夜景

基本上就是繪製校園某個夜間的場景,以下是我的成品。


雖然說是利用3D動畫程式設計的藍圖為背景架構,不過還是經過一番精雕細琢

主要改進的是利用函式的問題

POLYGON是很好用的工具,但是他不能執行凸多邊形的連線運算

再者,TRIANGLES系列函式在2D繪圖裡對於光影的特效顯得特別好用

用多邊形或是四邊形的函式用漸層色,效果不好而且會色散。