2023年9月28日 星期四

m week03

 week03

1. 點、線、面

3_1

void setup(){
  size(500,500);
}
float x=250, y=250;
void draw(){
  ellipse(x, y, 5, 5);
}

void setup(){
  size(500,500);
}
float x=250, y=250;
float dx=1, dy=1;
void draw(){
  ellipse(x, y, 5, 5);
  x += dx;
  y += dy;
}

3_2

void setup(){
  size(500,500);
  dx = random(-1,+1);//亂數往哪裡跑
  dy = random(-1,+1);//亂數往哪裡跑
}
float x=250, y=250;
float dx=1, dy=1;
void draw(){
  background(0);
  ellipse(x, y, 5, 5);
  x += dx;
  y += dy;
  if(x<0 || x>500) dx = -dx;
  if(y<0 || y>500) dy = -dy;
}

3_3

void setup(){
  size(500,500);
  for(int i=0; i<20; i++){
    x[i] = random(500);
    y[i] = random(500);
    dx[i] = random(-1,+1);//亂數往哪裡跑
    dy[i] = random(-1,+1);//亂數往哪裡跑
  }
}
float [] x = new float[20];//float x=250, y=250;
float [] y = new float[20];
float [] dx = new float[20];//float dx=1, dy=1;
float [] dy = new float[20];
void draw(){
  background(0);
  for(int i=0; i<20; i++){
    ellipse(x[i], y[i], 5, 5);
    x[i] += dx[i];
    y[i] += dy[i];
    if(x[i]<0 || x[i]>500) dx[i] = -dx[i];
    if(y[i]<0 || y[i]>500) dy[i] = -dy[i];
  }
}

3_4

void setup(){
  size(500,500);
  for(int i=0; i<20; i++){
    x[i] = random(500);
    y[i] = random(500);
    dx[i] = random(-1,+1);//亂數往哪裡跑
    dy[i] = random(-1,+1);//亂數往哪裡跑
  }
}
float [] x = new float[20];//float x=250, y=250;
float [] y = new float[20];
float [] dx = new float[20];//float dx=1, dy=1;
float [] dy = new float[20];
void draw(){
  background(0);
  for(int i=0; i<20; i++){
    ellipse(x[i], y[i], 5, 5);
    for(int k=0; k<20; k++){
      stroke(255,0,0);
      if(dist(x[i],y[i], x[k],y[k])<100)
        line(x[i],y[i], x[k],y[k]);
    }   
    x[i] += dx[i];
    y[i] += dy[i];
    if(x[i]<0 || x[i]>500) dx[i] = -dx[i];
    if(y[i]<0 || y[i]>500) dy[i] = -dy[i];
  }
}

3_5

void setup(){
  size(500,500);
  for(int i=0; i<N; i++){
    x[i] = random(500);
    y[i] = random(500);
    dx[i] = random(-1,+1);//亂數往哪裡跑
    dy[i] = random(-1,+1);//亂數往哪裡跑
  }
}
int N = 40;
float [] x = new float[N];//float x=250, y=250;
float [] y = new float[N];
float [] dx = new float[N];//float dx=1, dy=1;
float [] dy = new float[N];
void draw(){
  background(0);
  for(int i=0; i<N; i++){
    ellipse(x[i], y[i], 5, 5);
    for(int k=0; k<N; k++){
      float d = dist(x[i],y[i], x[k],y[k]);
      stroke(2.55*(100-d));
      if(d<100)
        line(x[i],y[i], x[k],y[k]);
    }   
    x[i] += dx[i];
    y[i] += dy[i];
    if(x[i]<0 || x[i]>500) dx[i] = -dx[i];
    if(y[i]<0 || y[i]>500) dy[i] = -dy[i];
  }
}

3_6

void setup(){
  size(500,500);
  for(int i=0; i<N; i++){
    x[i] = random(500);
    y[i] = random(500);
    dx[i] = random(-1,+1);//亂數往哪裡跑
    dy[i] = random(-1,+1);//亂數往哪裡跑
  }
}
int N = 50;
float [] x = new float[N];//float x=250, y=250;
float [] y = new float[N];
float [] dx = new float[N];//float dx=1, dy=1;
float [] dy = new float[N];
void draw(){
  background(0);
  for(int i=0; i<N; i++){
    ellipse(x[i], y[i], 5, 5);
    for(int k=0; k<N; k++){
      float d = dist(x[i],y[i], x[k],y[k]);
      stroke(2.55*(100-d));
      if(d<100){
        line(x[i],y[i], x[k],y[k]);
        dx[i] += (x[k]-x[i])*0.00001;//加一點吸引力
        dx[i] += (y[k]-y[i])*0.00001;//加一點吸引力
      }
    }   
    x[i] += dx[i];
    y[i] += dy[i];
    if(x[i]<0 || x[i]>500) dx[i] = -dx[i];
    if(y[i]<0 || y[i]>500) dy[i] = -dy[i];
  }
}


3_7

改變色彩系統
void setup(){
  size(500,500);
  colorMode(HSB, 360, 100, 100);
}

void draw(){
  background(186,83,95);
}

變顏色
void setup(){
  size(500,500);
  colorMode(HSB, 360, 100, 100);
}

void draw(){
  background(frameCount%360,83,95);
}

3_8

做出彩虹
size(400,400);
noStroke();
colorMode(HSB, 400);
for(int i=0; i<400; i++){
  for(int j=0; j<400; j++){
    stroke(i, 400, 400);
    point(i, j);
  } 
}

3_9

void setup(){
  size(300,300);
  colorMode(HSB, 360,100,100);
  chooseColor();
}
void mousePressed(){
  chooseColor();
}
int I, J;
float h, s, b, dh, ds, db;
void chooseColor(){
  h = random(360);
  s = random(50, 100);
  b = random(50, 100);
  I = int(random(5));
  J = int(random(5));
  dh = random(-10, +10);
  ds = random(-10, +10);
  db = random(-10, +10);
}
void draw(){
  background(203, 63, 65);
  for(int i=0; i<5; i++){
    for(int j=0; j<5; j++){
      fill(h,s,b);
      if(i==I && j==J) fill(h+dh, s+ds, b+db);
      ellipse(30+j*60, 30+i*60, 60, 60);
    }
  }
}




沒有留言:

張貼留言