2023年9月28日 星期四

91 week03

 設中文大字形36

點線面:

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;
}
背景改黑色,增加dx,dy兩個亂數,限制點跑的邊界:
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;
}
增加點的數量,陣列設定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];
  }
}
點跟點之間連線,畫紅線連結:
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];
  }
}
改N=40,點變多,線條改白色:
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];
  }
}
改點N=50,增加吸引力*0.00001:
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 [] 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];
  }
}
改變顏色,工具顏色選擇器,任選顏色:
void setup(){
  size(500,500);
}
 void draw(){
   background(#6F1C1C);
 }
更換色彩系統,會變色呼吸燈:
void setup(){
  size(500,500);
  colorMode(HSB,360,100,100);
}

 void draw(){
   background(frameCount%360,83,95);
 }
彩虹色,改色彩系統:
size(400,400);
colorMode(HSB,360,100,100);
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();
}
float h,s,b;
void chooseColor(){
  h=random(360);
  s=random(50,100);
  b=random(50,100);
}  
 void draw(){
   background(203,63,65);
   for(int i=0;i<5;i++){
     for(int j=0;j<5;j++){
       fill(h,s,b);
       ellipse(30+j*60,30+i*60,60,60);
  }      
 }
}
有一個顏色不同:
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==I&&j==J) fill(h+dh,s+ds,b+db);
       else fill(h,s,b);
       ellipse(30+j*60,30+i*60,60,60);
  }      
 }
}









沒有留言:

張貼留言