2025年3月6日 星期四

Processing筆記_week03

 概要:

這次的課程,我們開始接觸3D的圖形,以及動畫的呈現,後面的程式碼會有類似於數學公式演示的動畫。

第1個程式碼,我們在void setup()設定 size()只是這次多了一個關鍵字--P3D,這可以將之後的圖形用3D的方式呈現,並且隨著鼠標移動,自動旋轉。

第2個程式碼,我們在學習繪製各種圖形,像是線條、長方形、點、橢圓形,以及填滿色彩,還有筆刷粗度。

第3個程式碼,我們在嘗試繪製正方形,有些參數可以不宣告,但是加上後就會有不同的效果,像是這邊的例子就是修改四個角的銳利程度。

第4個程式碼,我們在嘗試實作類似小畫家選擇筆刷顏色顏色的功能,當滑鼠點擊時,我們會判斷其座標,去知道現在應該變成什麼顏色的筆刷。

第4-a程式碼,剛剛程式碼在切換顏色時,邊框也會變成那個顏色,我們希望能維持原本的黑色。利用stroke()宣告新的mtstroke這樣就不會搞混了。









第5個程式碼是貓抓老鼠,宣告一個橢圓形他會隨著滑鼠移動,而圓圈則會慢慢跟上我們的橢圓形,利用數學公式的部分,可以營造圓形緩緩移動的效果,如果分母數值更大,則移動會更慢。











第6個程式碼,我們在製作一個動畫,左上方的點會緩緩移動到右下的點,這次動畫利用lerp()配合frameCount()達到動畫的效果。

第6-b的程式碼與剛剛的程式碼類似,剛剛移動的軌跡由留下,這次的則沒有。

第7個程式碼,我們利用bezier()函式繪製出曲線。













第8個程式碼,我們利用剛剛繪製的曲線,繪製動畫,有個球體會沿著曲線移動,且因為有取餘數,所以動畫會重複撥放。
第8-b的程式碼,修改參數,繪製一個不同形狀的動畫。
第9個程式碼,我們宣告P3D的視窗,接著隨機生成白色小點,會讓其有星空的效果。
第10個程式碼,與前一個類似,這次在滑鼠移動Y軸會放大視窗,且星星變得更密集。
第11個程式碼,建立一個球體,會自動旋轉,且會跟隨滑鼠。







第12個程式碼,與前一個類似,利用lights()將球體打光。















第13個程式碼,宣告兩個球體,擺放在不同的位置,觀察其陰影的變化。


沒有留言:

張貼留言