##week05_01_cwa_typhoon_images
PImage img = loadImage("TWI_IR1_CR_800-2024-10-02-09-00.jpg"); size(800, 800); background(img);
##week05_02_cwa_typhoon_array_loadStrings
int N = 299;//剛好有299張圖 PImage [] imgs = new PImage[299];//準備好299張圖 對應的陣列 void setup() { size(800, 800); //把list.txt的299行,放入filenames裡 String [] filenames = loadStrings("list.txt"); for (int i=0; i<N; i++) { //把每一張圖都讀進來 imgs[i] = loadImage(filenames[i]); } } void draw() { int i = frameCount % N; //照時間輪 %N 取餘數,以免超過陣列大小 background(imgs[i]);//現在要顯示第i張圖 } ##week05_03_cwa_typhoon_2750
PImage img; void setup() { size(500, 500);//小視窗、大圖片 img=loadImage("LCC_VIS_TRGB_2750-2024-10-02-07-40.jpg"); } float s=1.0, x=0, y=0; float realX =0, realY=0; void draw() { background(255);//白背景 translate(x, y); scale(s); image(img, 0, 0); } void mouseDragged() {//void mouseDragged() x+=mouseX - pmouseX; y+=mouseY - pmouseY; } void mouseWheel(MouseEvent e) { realX = (mouseX - x)/s; realY = (mouseY - y)/s; float oldS=s; if (e.getCount()<0) s*=1.1;//大於,小於可決定縮放方向 else s *=0.9; x=x+realX*oldS -realX*s; y=y+realY*oldS - realY*s; if (x>0)x=0; if (y>0)y=0; if (s<0.2) { x=0; y=0; s=0.2; } }
##week05_04_pendulum_mouseDragged_x_yvoid setup() { size(400, 600); } float x = 200, y = 300; void draw() { background(255); line(200, 100, x, y); ellipse(x, y, 30, 30); } void mouseDragged() { x=mouseX; y=mouseY; }##week05_05_pendulum_cos_sin_draw_line
void setup() { size(400, 600); } float x = 200, y = 300; void draw() { background(255); stroke(0);//原來是黑色的線 line(200, 100, x, y); ellipse(x, y, 30, 30); stroke(255, 0, 0); line(x, y, x, y+100); PVector d =new PVector(x-200, y-100).normalize(); PVector d2 = new PVector(0, 1); float g = PVector.dot(d, d2); d.mult(100*g); stroke(0, 255, 0); line(x, y, x+d.x, y+d.y); } void mouseDragged() { x=mouseX; y=mouseY; }
##week05_6_PVector_new_PVector_x_y
void setup() { size(400, 600); c=new PVector(200, 100); p=new PVector(200, 130); } PVector c, p; void draw() { background(255); ellipse(c.x, c.y, 10, 10); ellipse(p.x, p.y, 10, 10); }
##week05_7_pendulum_PVector_normalize_dot_mult
void setup() { size(400, 600); } float x=200, y=300; void draw() { background(255); stroke(0);//原來是黑色的線 line(200, 100, x, y); ellipse(x, y, 30, 30); stroke(255, 0, 0); line(x, y, x, y+100); PVector d =new PVector(x-200, y-100).normalize(); PVector d2 = new PVector(0, 1); float g = PVector.dot(d, d2); d.mult(100*g); stroke(0, 255, 0); line(x, y, x+d.x, y+d.y); PVector N=new PVector (d.y, -d.x).normalize(); N.mult(100*sin(acos(g))); stroke(0, 0, 255); line(x, y, x+N.x, y+N.y); } void mouseDragged() {//void mouseDragged() x=mouseX ; y=mouseY; }
##week05_8_pendulum_not_OK_PVector_sub_veiocity
void setup() { size(400, 600); } float x=200, y=300; void draw() { background(255); stroke(0);//原來是黑色的線 line(200, 100, x, y); ellipse(x, y, 30, 30); stroke(255, 0, 0); line(x, y, x, y+100); PVector d =new PVector(x-200, y-100).normalize(); PVector d2 = new PVector(0, 1); float g = PVector.dot(d, d2); d.mult(100*g); stroke(0, 255, 0); line(x, y, x+d.x, y+d.y); PVector N= PVector.sub(d2.mult(100), d); //N.mult(100*sin(acos(g))); stroke(0, 0, 255); line(x, y, x+N.x, y+N.y); v.x+=N.x/1000; v.y+=N.y/1000; x+=v.x; y+=v.y; } PVector v=new PVector(); void mouseDragged() {//void mouseDragged() x=mouseX ; y=mouseY; }
##上傳github!!
沒有留言:
張貼留言