a-9 繰り返し 応用編

a-9 繰り返し 応用編

forループの中にforループを埋め込むとそれぞれのループ回数を掛け算した結果が全体の繰り返し回数になる。

size(480,120);
background(0);
noStroke();
for(int y=0;y<=height;y+=40){
  for(int x=0; x<=width;x+=40){
    fill(255,140);
    ellipse(x,y,40,40);
  }
}

forループの中にforループがある場合、繰り返しの回数は2つのループの回数の掛け算になる。上記の例は繰り返しで模様を描く場合の基礎になる。

size(480,120);
background(0);
noStroke();
for(int y=0; y<height+45; y+=40){
  fill(255,140);
  ellipse(0,y,40,40);
}
for(int x=0; x<width+45; x+=40){
    fill(255,140);
    ellipse(x,0,40,40);
}

forループが並んでいる場合は、実行すると一方のforループが横に13個、もう一方のforループが縦に4個の円を描いている。

size(480,120);
background(0);
fill(255);
stroke(102);
for(int y=20;y<=height-20;y+=10){
  for(int x=20;x<=width-20;x+=10){
    ellipse(x,y,4,4);
    line(x,y,240,60);
  }
}

格子状に並んだ各点から中心へ向かう線を描いたもの。

size(480,120);
background(0);
for(int y=32;y<=height;y+=8){
  for(int x=12;x<=width;x+=15){
    ellipse(x+y,y,16-y/10.0,16-y/10.0);
  }
}

円が縮みながら右下へずれていく。y座標をx座標に足す事で表現される。

Casey Reas,Ben Fry(2011)「Started with Processing」O'RELLY