2008年10月7日

模擬立體太陽系﹝2008/10/20﹞

一開始看到題目"立體太陽系"

直接就想到了球體 所以直接上網找球體的公式

很快的就畫出圓了

地球公轉也很容易...不過到了月球繞地球 地球繞太陽

就又想了一下

最後想到其實也是一樣....只不過月球繞地球的點是一直變

只要及時回傳地球的球心座標給月球就很容易了

不過有個問題...

因為是直接用球體公式畫球 所以球都是實心的(沒有經緯線)

所以如果要自轉的話其實根本看不出來

後來經過同學的提示...可以利用glutWireSphere直接畫出有經緯線(透視架構)的球

所以就全部改成用這方法畫球了

再來就是一大考驗...

這樣沒有x y z座標 那要如何讓他自轉公轉

這對我來說是極大的考驗

上網搜尋了一些資料 發現可以用矩陣讓他旋轉

所以就大概畫了太陽系出來了


因為太陽實在太大了,所以實在無法依比例畫出

所以就先把太陽的半徑縮小10倍,而各行星的軌道比例是一樣的

現在可以利用鍵盤上的wsad鍵來移動畫面,也可以利用-=來放大或縮小畫面

現在就差月球實際公轉地球的情形與其他行星的衛星與小行星帶

至於彗星,這部分有點困難

預計以後的功能是可以按鍵直接對焦到對應的星球



目前完成材質貼圖、軌道傾角、赤道傾角、公轉自轉
目前微調了各星球的大小與軌道半徑與自轉速度
目前尚缺土星光環、太陽光照、宇宙背景
之後可能會新增小行星帶



目前已經把lighting放上去了

視角的切換也比較流暢了

沒有留言: