2024年10月7日 星期一

week05 人工智慧互動科技

 //week05_01

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

size(800,800);

background(img);


//week05_02

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[frameCount%N]);

}


//week05-3

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

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

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

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

  x += N.x/100;

  y += N.y/100;

}

void mouseDragged(){

  x = mouseX;

  y = mouseY;


}



//week05-7

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);//.normalize();

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

  

  //x += N.x/100;

  //y += N.y/100;

}

PVector v = new PVector();

void mouseDragged(){

  x = mouseX;

  y = mouseY;


}



沒有留言:

張貼留言