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;//如果還沒超過範圍, ++ 從小變到大...
}









沒有留言:
張貼留言