2023年9月28日 星期四

10160163-week03

 week03

week03-1

劃出點線面



week03-2
新增亂數
亂數往哪裡跑


week03-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);//dx=random(-1,+1);
  dy[i]=random(-1,+1);//dy=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];
  }
}

week03-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);//dx=random(-1,+1);
  dy[i]=random(-1,+1);//dy=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];
  }
}


week03-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);//dx=random(-1,+1);
  dy[i]=random(-1,+1);//dy=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];
  }
}


week03-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);//dx=random(-1,+1);
  dy[i]=random(-1,+1);//dy=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.0000001;
      dy[i]+=(y[k]-y[i])*0.0000001;
  }
  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];
  }
}





week03-7

設定顏色


顏色可以閃爍
加入frameCount(顏色閃爍,像彩虹一樣)

week03-8


week03-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++){
    if(i==1 && j==J) fill(h+dh,s+ds,b+db);
    fill(h,s,b);
    ellipse(30+j*60,30+i*60,60,60);
    }
  }
}



沒有留言:

張貼留言