2023年9月28日 星期四

week03 賴奕廷

 Week03

*step01

畫一個點

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


*step02

讓點亂數移動 碰到邊緣反彈


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 || x>500) dy= -dy;
}

弄出20個亂跑的點


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 [] y = new float[20];
float [] dx = new float[20];
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];
}
}

*step03

連線


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 [] y = new float[20];
float [] dx = new float[20];
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];
}
}


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 [] y = new float[N];
float [] dx = new float[N];
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];
}
}
加吸引力,線會被吸走
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 [] y = new float[N];
float [] dx = new float[N];
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;
       dy[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];
}
}

*step04
RGB漸變效果
void setup(){
  size(500,500);
  colorMode(HSB,360,100,100);

}

void draw(){
  background(frameCount%360,83,95);
}
漂亮的彩虹

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

做一個其中一顆球會跟別的顏色不一樣的遊戲
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);
      else fill(h,s,b);
      ellipse(30+j*60, 30+i*60,60,60);
    }
  }
  }


沒有留言:

張貼留言