2011年5月8日 星期日

太陽系基本運轉模型

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

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

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


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

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


然後這是片面的執行結果


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

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


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

沒有留言:

張貼留言