2011年5月13日星期五

作業4元智3D地圖



   (a)主題介紹

撰寫一個OpenGL程式,建立元智大學的3D地圖,地圖場景空間中至少必須包括地面與元智大學的主要建築物1-7(你可以不同的立體物件如圓柱體、立方體等來代表各棟建築物)。這個程式必需讓使用者利用上,,,右鍵等鍵盤按鍵在所建立的虛擬元智大學空間場景中悠遊行走。)

(2)過程與成果展示


建築都是用cube, 偶爾譬如2館, 用一個quadric來畫, 之後貼圖, 大約如此,  skybox是一個巨大的cube, 所以物件都在其中----
5-building
-------
2-building
------------
6-building


video:


--key function-----
'w' look up
's' look down
'a' look left
'd' look right
left key ---- move left
right    ---- move right
up       ---- move forward
down     ---- move back

'u' --viewer rise
'j' --viewer down
 'Esc'-- quit fullscreen 
---mosue motion function----
click to left side of the screen --- look left , same as keyfunc 'a'
click to  right side of the screen ---look right, same as keyfunc 'd'

(2)心得與討論。
加了SkyBox.
每一棟建築的位置放到一個displayList裡面, 因為每棟建築都有貼圖, 如果不放到displayList裡面的話會很慢.
這次作業的重點因該是遊走, 然後向各個方向看. 就是練習使用viewing, 作業裡面使用gluperspecive 控制投影方式為透視投影, 使用gluLookAt來實現左右看, 上下看, 向前走, 向後走的目的. 
加了Lighting及TextureMapping, 因為自己在3D課程上已經學了這些, 所以就加上去了.2
http://yzucs317s971462.blogspot.com        ---My 3D Animation homework page







太陽系(the solar system)

撰寫一個OpenGL程式,模擬立體太陽系(the solar system)中行星與衛星的自轉與公轉等運動模型。

運行結果:




Video:




心得:
八大行星直接的距離並沒有按照實際的比例去寫, 因為那樣後面幾個行星, 天王星, 海外星距離太遠, 軌道太大, 如果進着看, 會看不到後面幾顆, 如果遠着看,則會顯得近處幾個很小很小. 同樣的問題是週期, 後面幾個行星週期很長, 比如天王星公轉週期是84年, 如果按比例寫的話, 就如同靜止一般. 還有大小的問題, 也同樣.
為了解決上述問題. 所以, 行星的大小, 公轉週期在這裡並不完全等比例與實際.
使用了 Lighting, Light位與太陽的位置.
使用gluPerspective透視投影, 使用gluLookAt設定相機位置. 上下鍵可旋轉整個畫面以便從不同角度觀看.