2012年10月4日 星期四

HW02

2-2

這是這次的作業,途中有遇到一個困難的地方,以下是我的程式碼:
for(int i=0;i<360;i=i+60){
*noStroke();
*smooth();
**float radius = 1.0;
float angle1=radians(i);
for (int deg = 0; deg < 360*10; deg += 7) {
float angle = radians(deg);
float x = 400+(cos(angle1) * 100) + (cos(angle) * radius);
float y = 400+(sin(angle1) * 100) + (sin(angle) * radius);
fill(255,196,0);
ellipse(x, y, 6, 6);
radius = radius + 0.34;
}
}
這是其中一圈圓的程式碼,
之前試了很多次都失敗,
後來把*號的地方移進for迴圈就解決了,
不過這是別人教我的,
後來再仔細研究一下,
發現只要把**的地方放到for迴圈就可以了,
雖然我還是覺得很奇怪,
因為這只是定義一個值而已,
有沒有放進去應該沒差。
如果放到for迴圈外他就會變成下面這個樣子。
這是因為程式中的radius在後面有遞增,
所以如果放在最外面就會出錯。
這也是我一時不查沒發現,
等打完這篇網誌才發現的,
哈哈,怎麼感覺好晚XD

今天除了學習這個,還學到setup()draw()frameRate()
比較要注意的是大小寫的區別,
雖然程式寫的時候他不會提醒你,
但如果全都寫成小寫最後程式就會出錯,
像我寫成小寫時一執行它就會跳出一個網頁,
似乎是要我自己查詢的意思。

今天蠻充實的,
以後繼續努力。




沒有留言:

張貼留言