2011年5月13日 星期五

Assignment #3 太陽系(the solar system)

主題介紹

九大國度


這是我們所居住的太陽系,美麗的九大行星(現已為八大行星)各自繞著太陽公轉和自轉,這次我就來讓他們在畫面上呈現吧。

過程與成果展示

首先將畫面大小及一些基本參數設定好之後就要開始繪製太陽,將太陽的座標設定在畫面的正中央,利用glColor3f和glutWireSphere繪製出太陽。接下來利用glRotatef和glTranslatef讓地球繞著太陽作公轉和自轉的動作,月球再繞著地球轉。

接著上網搜尋了九大行星的公轉字轉週期表,依照各行星公轉和自轉的週期繪製其他七顆行星。

太陽系模擬的完成圖,另外我還加上了特殊鍵SpecialKeyFunc的功能,利用鍵盤的"↑"讓轉動加速,鍵盤的"↓"讓轉動減速,實際運作情況可由下面的影片觀賞。


心得與討論

首先要先抱怨一下Blog回朔的問題,讓我星期四就打好的網誌又得全部重打一次,實在是沒什麼心情。這次作業由於可以找到畫球的範例所以起頭相當順利,但在繪製地球的時候就碰到了瓶頸,glRotatef和glTranslatef的順序讓我吃足了苦頭,地球很任性的一直不肯乖乖的照著我的想法轉,後來慢慢的嘗試終於成功了。另外一個就是在寫其他八顆行星時由於有些行星的公轉週期實在太長導致在畫面上幾乎成停滯的狀態,所以我就自行調整了各行星的公轉比率,讓所有行星看起來都會轉動。經過這次作業讓我對於繪圖越來越有信心,希望之後的作業也能夠這麼順利。

沒有留言:

張貼留言