2023年9月28日 星期四

week03 UC


執行後點會往右下角移動成一條線http://








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

把背景變成黑色








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

加上 [ 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);
      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)//dist距離小於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];
   }
}






增加attraction吸引力

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.00003;///增加吸引力 dy[i] += (y[k]-y[i])*0.00003; } } 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(#FC2119);
}







把背景變彩色的
size(400,400);
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++){ 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); } } }


沒有留言:

張貼留言