トップページに、Processingについて書いた記事を、辞書のように見つけやすくしてみました

【Processing】whileの使い方【図形をたくさん書くのが楽になる】

【Processing】whileの使い方【図形をたくさん書くのが楽になる】
  • URLをコピーしました!
ワタタク

今回の記事の目的はProcessingの「while」を理解し、自分なりに使ってみること。

記事内のProcessingのバージョンは4.3。

動きのある画像は、コードではなく、GIF画像編集で無限再生されるようにしています。

目次

【Processing】whileについて

whileについて
  • whileの英語の意味は「…する間に」
  • Processingで実行すると、同じことを何度も繰り返すことができます
    • 円を5つ連続で描くみたいなこと
  • 円を連続で5つ書くのも楽に書ける
    • ellipse()関数を5回書かなくてよくなる

【Processing】whileの主な書き方

while (条件式) {
コード
}

【Processing】whileの使い方【画像とコード】

円を横に並べるパターンと、笑顔のマークを横に並べるパターン。

円を横に並べる

Processing while 円を横に並べる
size(500, 500);
background(255);
int i = 0;
while (i < 550) { //iが550よりも小さいとき
  ellipse(i, 250 , 50, 50); //円を描く
  i = i + 50; //iは繰り返すごとに50,100, 150, 200と550まで横に増えていく
}

顔をつけて横に並べる

Processing while 顔をつけて横に並べる
size(500, 500);
background(255);
int i = 0;
while (i < 550) {
  // 円の顔(水色)
  fill(173, 216, 230); // 水色
  ellipse(i, 250 , 50, 50);
  
  // 左目(黒)
  fill(0);
  ellipse(i - 10, 240, 10, 10);
  
  // 右目(黒)
  ellipse(i + 10, 240, 10, 10);
  
  // 口(黒)
  noFill();
  arc(i, 260, 20, 20, 0, PI);
  
  i = i + 50;
}

【Processing】whileは連続で書くことができるのか

Xで教えていただいたことをきっかけに、whileは連続で書くことができるのかを追記致します。

結論としてwhileは2個以上使って書くことができました。(画像とコードは少し先)

whileを4つ使って、4辺の端っこに沿うように円を描く。

void setup() {
  size(500, 500);
  background(255);
  fill(173, 216, 230); // 水色
  noStroke();
  
  int diameter = 50; // 円の直径 diameterは英語の直径という意味
  int x = 0;
  int y = 0;
  
  // 上端に円を並べる
  while (x <= width - diameter) {
    ellipse(x + diameter / 2, diameter / 2, diameter, diameter);
    x += diameter;
  }
  
  x = 0;
  
  // 下端に円を並べる
  while (x <= width - diameter) {
    ellipse(x + diameter / 2, height - diameter / 2, diameter, diameter);
    x += diameter;
  }
  
  y = 0;
  
  // 左端に円を並べる
  while (y <= height - diameter) {
    ellipse(diameter / 2, y + diameter / 2, diameter, diameter);
    y += diameter;
  }
  
  y = 0;
  
  // 右端に円を並べる
  while (y <= height - diameter) {
    ellipse(width - diameter / 2, y + diameter / 2, diameter, diameter);
    y += diameter;
  }
}

【Processing】whileの中で使われている変数「i」の意味

ループの中で繰り返し処理を行う際に、カウンターとして使われる変数名として便利だから以下の2つの英語を省略して「i」が使用されている。

  • index
    • プログラミングでの意味:位置や順序を示すために使われる
    • 英語の意味:索引
  • iterator
    • プログラミングでの意味:繰り返し処理を行うためのカウンターとして使われる
    • 英語の意味:反復子(繰り返し処理のこと)

変数の「i」がどちらの意味が適しているかは、プログラムによると思います。

「i」と出てきたらindexかiteratorのどちらかだとまずは考えるといいですね。

【Processing】whileはどんな表現で使えそうか

連続して、図形を並べるときに使用できますね。

【Processing】whileを使ってみた感想

forという構文を使ってwhileと同じことができるので、 whileはあまり使わないと思う。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次