
http://mintosm.web.fc2.com/hw07-1/
HW07-2

http://mintosm.web.fc2.com/hw07-2/
HW07-3

HW07-4
未使用mouseX、mouseY卻能做出殘影的功能,
這之中的關鍵在於
fill(0, 10);
rect(0, 0, width, height);
這兩句程式碼中。
這是在配合draw()這個函式每秒能多次重複執行的功能而達成的效果。
在每次程式執行時,不斷蓋上一層薄薄的灰色,
而一層層的灰色會漸漸的近似黑色,以此製造出殘影效果。
承上述之原因,若想以background()替換fill(),則無法成功。
心得:
這次新教了兩個函式translate()和rotate()。第一個作業是用translate()來改變座標原點,讓rotate()能更容易達成讓三個矩形以圖中心為原點旋轉的效果。而用PI來計算角度,讓我想到了以前的數學課。接下來的課程主要在於研究教材上的範例,而這些範例都利用了人眼的錯覺來製造出神奇的效果。像是跟著滑鼠跑的小球,其實是因為快速刷新畫面而產生的錯覺。就因為是錯覺,所以在理解程式碼上就很容易誤解。像第三個作業主要是記錄滑鼠的前五十個座標,以小球的方式出現來顯示滑鼠的路徑。我觀察那些小球,發現它們的大小竟然會隨著時間長大,讓我百思不得其解。明明是同一顆小球,怎麼可能變大。後來才發現,它們不是長大,而是根本不是同一顆球。可能是理解力不是特別的好,所以才容易被錯覺所騙吧。我想今天我領悟到了,就算是親眼所見,也並非就是事實的真理。
沒有留言:
張貼留言