2024年10月7日 星期一

week05.0313

 //week05_1_cwa_typgoon_images

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

size(800,800);

background(img);














//week05_2_cwa_typgoon_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;
}
























//week05_4_pendulm_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;
}


















//week05_5_pendulm_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);
  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_pendulm_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;
}

























//week05_8_pendulm_not_OK_PVector_sub_velocity
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);
  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;
}













沒有留言:

張貼留言