2024年10月7日 星期一

week05

 //week05_1_cwa_typhoon_images

//存檔後,ctrl-K,開檔案總管,看DATA目錄裡,圖檔

PImage img=loadImage("TWI_IR1_CR_800-2024-10-02-08-00.jpg");

size(800,800);

background(img);//若圖的大小,與size(_)相同,可直接把圖當背景。











//week05_2_cwa_typhoon_array_loadStrings

int N=299;

PImage[]imgs=new PImage[299];

void setup(){

  size(800,800);

  String[]filenames=loadStrings("list.txt");

  for(int i=0;i<N;i++){

    imgs[i]=loadImage(filenames[i]);

  }

}

void draw(){

  int i = frameCount % N;

  background(imgs[i]);

}











//week05_3_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(){

  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;

}











//week0504_pendulum_mouseDragged_x_y

void 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;

}











//week0505_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;

}











//week0506_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);

}











//week0507_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(){

  x=mouseX;

  y=mouseY;

}











//week0508

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(d,d2.mult(100),d);

 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(){

  x=mouseX;

  y=mouseY;

}



沒有留言:

張貼留言