2020年5月1日 星期五

week10

1. Lyto Different Color
1.1 畫2*2圈圈
size(300,500);
ellipse(75,200+75,150,150);
ellipse(75+150,200+75,150,150);
ellipse(75,200+75+150,150,150);

ellipse(75+150,200+75+150,150,150);
1.2a 3*3
size(300,500);
ellipse(50,200+50,100,100);
ellipse(50+100,200+50,100,100);
ellipse(50+100+100,200+50,100,100);
ellipse(50,200+50+100,100,100);
ellipse(50+100,200+50+100,100,100);
ellipse(50+100+100,200+50+100,100,100);
ellipse(50,200+50+100+100,100,100);
ellipse(50+100,200+50+100+100,100,100);
ellipse(50+100+100,200+50+100+100,100,100);
1.2b 3*3for版
size(300,500);
for(int y=0;y<3;y++){
  for(int x=0;x<3;x++){
  ellipse(50+x*100,200+50+y*100,100,100);
  }
}  
1.3 公式解
size(300,500);
int n=10;
int R=300/n,w=R/2;
for(int y=0;y<n;y++){
  for(int x=0;x<n;x++){
  ellipse(w+x*R,200+w+y*R,R,R);
  }
1.4 讓圓會變大
void setup(){
  size(300,500);
}
int n=10;
int R=300/n,w=R/2,XR=0;
void draw(){
  for(int y=0;y<n;y++){
    for(int x=0;x<n;x++){
    ellipse(w+x*R,200+w+y*R,XR,XR);
    }
  }
  if(XR<R)XR++;
}
1.5 圈圈會自己變多
void setup(){
  size(300,500);
}
int n=2,XR=0;
void draw(){
  background(0);
  int R=300/n,w=R/2;
  for(int y=0;y<n;y++){
    for(int x=0;x<n;x++){
    ellipse(w+x*R,200+w+y*R,XR,XR);
    }
  }
  if(XR<R)XR+=R/40;
  else{
    n++;
    XR=0;
  }
}
1.6 上色
int ansX=1,ansY=2;
int n=3,XR=0;
void draw(){
  background(0);
  int R=300/n,w=R/2;
  for(int y=0;y<n;y++){
    for(int x=0;x<n;x++){
      if(x==ansX&&y==ansY)fill(128);
      else fill(255);
      if(dist(mouseX,mouseY,w+x*R,200+w+y*R)<w)fill(255,0,0);
      ellipse(w+x*R,200+w+y*R,XR,XR);
    }
  }
  if(XR<R)XR+=R/40;
}
1.7 異色位址會變
void setup(){
  size(300,500);
}
int ansX=1,ansY=2;
int n=3,XR=0;
void draw(){
  background(0);
  int R=300/n,w=R/2;
  for(int y=0;y<n;y++){
    for(int x=0;x<n;x++){
      if(x==ansX&&y==ansY)fill(128);
      else fill(255);
      if(dist(mouseX,mouseY,w+x*R,200+w+y*R)<w){
        if(mousePressed&&x==ansX&&y==ansY){
          ansX=int(random(n));
          ansY=int(random(n));
        }
      }
      ellipse(w+x*R,200+w+y*R,XR,XR);
    }
  }
  if(XR<R)XR+=R/40;
}
1.8 顏色能一直變
void setup(){
  size(300,500);
  colorMode(HSB,256);
}
int ansX=1,ansY=2;
int n=3,XR=0,H=0;
void draw(){
  background(0);
  int R=300/n,w=R/2;
  for(int y=0;y<n;y++){
    for(int x=0;x<n;x++){
      if(x==ansX&&y==ansY)fill(H-10,243,234);
      else fill(H,255,255);
      if(dist(mouseX,mouseY,w+x*R,200+w+y*R)<w){
        if(mousePressed&&x==ansX&&y==ansY){
          ansX=int(random(n));
          ansY=int(random(n));
          H+=20;
          if(H>256)H=0;
        }
      }
      ellipse(w+x*R,200+w+y*R,XR,XR);
    }
  }
  if(XR<R)XR+=R/40;
}











沒有留言:

張貼留言