先設定視窗大小,把背景填成白色(255),填入灰色(238),用noStroke();不要畫出框線,用rect設定四邊形座標x,y,z,h
把作業一的前4行複製,用float s= 400/14;計算每個格子的大小,寫for迴圈 for(int i=0;i<14;i++)左手i對應y座標,for(int j=1;j<14;j++)右手j對應x座標
加入void setup() 把課堂作業二的程式碼加入進去,再加入void draw(),如果mouse按下去,就畫線,給兩個座標:現在mouse跟之前的mouse
課堂作業四
自己畫的圖太醜想要描圖,像上周一樣把圖拉進來,畫超大四邊形,用半透明的色彩全部蓋住,alpha值用滑鼠控制,把mouseX的值在下面小黑印出來
課堂作業五
week02-5a
把week02-3跟week02-4的程式碼整合,但沒辦法像想像中去描圖
week02-5b 把前面week02-4的程式碼複製,利用資料結構,把歷史軌跡記起來
ArrayList <Integer> x=new ArrayList <Integer>();
ArrayList <Integer> y=new ArrayList <Integer>();
用for迴圈從資料結構取出來,在滑鼠拖曳的時候在mouseX跟mouseY加上線
課堂作業六
week02-5b還有一些問題,他只會用一筆畫畫完,要讓他把線斷開,要分大的跟小的資料結構
ArrayList <Integer>x,y;先有兩個還沒準備好的兩個小的資料結構,等mousePressed再新增準備
大的資料結構
ArrayList <ArrayList <Integer>> xx=new ArrayList <ArrayList <Integer>>();
ArrayList <ArrayList <Integer>> yy=new ArrayList <ArrayList <Integer>>();
大寫I對應大的資料結構
for(int I=0;I<xx.size();I++)
取出裡面小的資料結構
ArrayList <Integer> x=xx.get(I);
ArrayList <Integer> y=yy.get(I);
小的再照舊畫
for(int i=1;i<x.size();i++){
line(x.get(i),y.get(i),x.get(i-1),y.get(i-1));
}
滑鼠按下去時建立新的資料結構
x=new ArrayList <Integer>(); xx.add(x);
y=new ArrayList <Integer>(); yy.add(y);
課堂作業七
在void mouseDragged() 裡面先試試邊畫邊印出座標println("vertex("+mouseX+","+mouseY+")");
再新增一個void keyPressed,改在keyPressed()按下s或S時,再全部印println("vertex("+x.get(i)+","+y.get(i)+");");
再在前面跟後面分別加上println("beingShape();");和println("endShape();");分隔開座標
沒有留言:
張貼留言