2020年5月1日 星期五

week P

2*2的圓
size(300,500);
ellipse(75,200+75, 150,150);/第一排-1 /x=75,y=200+75
ellipse(75+150,200+75, 150,150);//x,y,半徑

ellipse(75,200+75+150, 150,150);//x,y,半徑
ellipse(75+150,200+75+150, 150,150);//x,y,半徑
                                                                 
                                                                           3*3的圓
size(300,500);
ellipse(50,200+50, 100,100);//第一排-1 x,y,半徑
ellipse(50+100,200+50, 100,100);//第一排-2 x,y,半徑
ellipse(50+100+100,200+50, 100,100);//第一排-3 x,y,半徑

ellipse(50,200+50+100, 100,100);//第二排-1 x,y,半徑
ellipse(50+100,200+50+100, 100,100);//第二排-2 x,y,半徑
ellipse(50+100+100,200+50+100, 100,100);//第二排-3 x,y,半徑

ellipse(50,200+50+100+100, 100,100);//第三排-1 x,y,半徑
ellipse(50+100,200+50+100+100, 100,100);//第三排-2 x,y,半徑
ellipse(50+100+100,200+50+100+100, 100,100);//第三排-3 x,y,半徑
                                                                           3*3的圓(精簡版)
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);
  }
}
                                                         n為變數
size(300,500);
//因為寬度是300,有n個球去分,每個球分到直徑300/n,半徑是300/n/2
int n=5;//n是多少就是幾層
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);
  }
}

void setup()
{
  size(300,500);
}
int n=5;
int R=300/n, w=R/2, RR=0;//會變動的R直徑,我們叫他RR
void draw()
{//因為寬度是300,有n個球去分,每個球分到直徑300/n,半徑是300/n/2
  for(int y=0; y<n; y++)
  {
    for(int x=0; x<n; x++)
    {
      ellipse(w+x*R,200+w+y*R, RR,RR);//從小變到大...
    }
  }
  if(RR<R) RR++;//如果還沒超過範圍, ++ 從小變到大...
}  
void setup()
{
  size(300,500);
}
int n=3,RR=0;//會變動的R直徑,我們叫他RR

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, RR,RR);//從小變到大...
    }//因為寬度是300,有n個球去分,每個球分到直徑300/n,半徑是300/n/2
  }
  if(RR<R) RR+= R/30;//如果還沒超過範圍, ++ 從小變到大...
  else {
     n++;//下一個數目
     RR=0;//從小開始長
  }
}  //為了讓速度一致, 改成RR += R/10 變成很快
void setup()
{
  size(300,500);
}
int ansX=1, ansY=2;//答案
int n=3,RR=0;//會變動的R直徑,我們叫他RR

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, RR,RR);//從小變到大...
    }//因為寬度是300,有n個球去分,每個球分到直徑300/n,半徑是300/n/2
  }
  if(RR<R) RR+= R/30;//如果還沒超過範圍, ++ 從小變到大...
  else {
     n++;//下一個數目
     RR=0;//從小開始長
  }
}  //為了讓速度一致, 改成RR += R/10 變成很快

void setup()
{
  size(300,500);
}
int ansX=1, ansY=2;//答案
int n=3,RR=0;//會變動的R直徑,我們叫他RR

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(240);//答案有點不同
      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, RR,RR);//從小變到大...
    }//因為寬度是300,有n個球去分,每個球分到直徑300/n,半徑是300/n/2
  }
  if(RR<R) RR+= R/30;//如果還沒超過範圍, ++ 從小變到大...
void setup()
{
  size(300,500);
  colorMode(HSB, 256);
}
int ansX=1, ansY=2;//答案
int n=3,RR=0;//會變動的R直徑,我們叫他RR
int H=0;//Hue色調、色相
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, RR,RR);//從小變到大...
    }//因為寬度是300,有n個球去分,每個球分到直徑300/n,半徑是300/n/2
  }
  if(RR<R) RR+= R/30;//如果還沒超過範圍, ++ 從小變到大... 
}  

沒有留言:

張貼留言