2025年3月13日 星期四

Processing筆記_week04

 概要:

第四周的課程,最主要是在製作一些關於2D、3D呈現的動畫,在後面幾個程式我們會製作跟行星相關的模型!

第1個程式,我們製作了一個圓形,中間包裹著另一個圓形,其中中間的圓形會跟著滑鼠游標去做移動,類似於眼球移動的效果。雖然沒有很理解公式的內容,但因為數值內包含sin()與cos()所以我們知道移動的範圍是有限的,

第2個程式與第1個程式很像,只是我們在右邊又多加了一個大圓圈與小圓圈,營造出更像眼睛的效果。
第3個程式,我們製作了一個3D的正方體,我們將其移到正中間,在使用rotateX(radians())去改變X軸方的方向,稍微查了一下什麼是radians(),就是弳度,另一種計算角度的方式,如果沒有加這個函式的話,旋轉會變快很多。
第4個程式是藉由改變滑鼠的X軸方向,來讓這個橢圓轉動。
第5個程式比較複雜,我們宣告兩個3D圖形,首先先把中心點放在視窗中間,然後將正方體放在中心下方100單位,之後再將選轉軸往上25單位,再往上50單位放置長條型。我們如何將兩個圖形的位置不同,需要利用pushMatrix()暫時改變位置,等到popMatrix()後位置就會還原。

第5-a的程式是在分解剛剛長方體的運作方式,選轉軸設置在中點,利用滑鼠移動X軸會旋轉Z軸,最後呈現長方體。
第5-b的程式與5-a程式很像,不一樣的地方是長方體會隨著滑鼠移動,且會自動運轉。
第6個程式與5-b程式很像,只是從長方體改成球體,我們這樣就得到一個會自轉的球體了!

第7個程式碼,我們製作了太陽與地球,太陽會轉動,而地球也會轉動(公轉),再利用pushMatrix()去讓地球能自轉~

第8個程式碼,我們一樣保留太陽與地球,然後新增一個月亮,一樣是利用pushMatrix(),最後記得要將球體的大小去做改變。


第9個程式碼,我們去https://www.solarsystemscope.com/textures/下載地球圖片,並且顯示。

第10個程式碼,我們嘗試將地球的圖片貼在球體上,利用setTexure()將圖片貼上。
第11個程式碼,我們將地球置中,並且開始旋轉。
第12個程式碼,我們將月球置中,並將圖檔貼上,最後讓其自轉。
第13個程式碼,跟前兩個一樣,只是這次改為太陽的照片。
第14個程式碼,我們學會貼模後,就可以將之前第8個程式碼改寫,讓動畫看起來更逼真!





沒有留言:

張貼留言