一開始看到題目"立體太陽系"
直接就想到了球體 所以直接上網找球體的公式
很快的就畫出圓了
地球公轉也很容易...不過到了月球繞地球 地球繞太陽
就又想了一下
最後想到其實也是一樣....只不過月球繞地球的點是一直變
只要及時回傳地球的球心座標給月球就很容易了
不過有個問題...
因為是直接用球體公式畫球 所以球都是實心的(沒有經緯線)
所以如果要自轉的話其實根本看不出來
後來經過同學的提示...可以利用glutWireSphere直接畫出有經緯線(透視架構)的球
所以就全部改成用這方法畫球了
再來就是一大考驗...
這樣沒有x y z座標 那要如何讓他自轉公轉
這對我來說是極大的考驗
上網搜尋了一些資料 發現可以用矩陣讓他旋轉
所以就大概畫了太陽系出來了
因為太陽實在太大了,所以實在無法依比例畫出
所以就先把太陽的半徑縮小10倍,而各行星的軌道比例是一樣的
現在可以利用鍵盤上的wsad鍵來移動畫面,也可以利用-=來放大或縮小畫面
現在就差月球實際公轉地球的情形與其他行星的衛星與小行星帶
至於彗星,這部分有點困難
預計以後的功能是可以按鍵直接對焦到對應的星球
目前完成材質貼圖、軌道傾角、赤道傾角、公轉自轉
目前微調了各星球的大小與軌道半徑與自轉速度
目前尚缺土星光環、太陽光照、宇宙背景
之後可能會新增小行星帶
目前已經把lighting放上去了
視角的切換也比較流暢了
沒有留言:
張貼留言