Last updated: 2015 -2014. Kajiyama                    [ 目次に戻る ]

while ループを使って直線を繰返し描く



Processingリファレンス - while ループ
  1. while ループ

      a. while ループとは、ブロック内の処理を指定した条件が満たされるまで繰り返し実行する.

      b. while ループの構文

      //サンプル 円の中心座標を whileで処理
      
      void setup ( ) {
        size(500, 500); //キャンバスの大きさ
      }
      
      int i = 1; //カウンター
      int x = 0;int y = 0;
      
      void draw( ) {
          while (i <= 45) {
          x = 10 * i;y = 10 * i;
          ellipse(x, y, 10, 10);
          i = i + 1;
          }
      }
      
      
      c. 2重 while ループの構文

      //サンプル 円の中心座標を2重 whileで処理
      
      void setup ( ) {
        size(500, 500); //キャンバスの大きさ
      }
      
      
      int x = 0;int y = 0;
      
      void draw( ) {
           int i=1;//カウンター
           while (i <= 45) {
                  int j=1;//カウンター
                  while (j <= 45) {
                  x = 10 * i; y = 10 * j;
                  ellipse(x, y, 10, 10);
                  j=j+1;
                  }
           i=i+1;
           }
      }
      


  2. 等間隔の直線を描く

    ・次のソースファイルをコピーして,Processing開発環境のエディタ領域に貼り付ける.

    ソースファイル
    //直線を描く
    
    void setup ( ) {
      size(500, 500); //キャンバスの大きさ
      background(255);//キャンバスの背景色を白
      strokeWeight(10);//線の太さを10ピクセルに
    }
    
    void draw( ) {
    
     line(100, 100, 100, 400);
     line(150, 100, 150, 400);
     line(200, 100, 200, 400);
     line(250, 100, 250, 400);
     line(300, 100, 300, 400);
     line(350, 100, 350, 400);
     line(400, 100, 400, 400);
      
    //save("st_line_1e.jpg");// 実行結果を画像形式で保存
    //noLoop();//繰返し処理を止める
    }
    
    
    実行結果


  3. 変数を探す

    ・次のソースファイルをコピーして,Processing開発環境のエディタ領域に貼り付ける.

    ソースファイル
    //直線を描く
    
    void setup ( ) {
      size(500, 500); //キャンバスの大きさ
      background(255);//キャンバスの背景色を白
      strokeWeight(10);//線の太さを10ピクセルに
    }
    
    void draw( ) {
    
    int x1 = 50; int y1 = 100;//最初の直線の座標
    int x2 = 50; int y2 = 400;
    
     line(50*2, y1, 50*2, y2);
     line(50*3, y1, 50*3, y2);
     line(50*4, y1, 50*4, y2);
     line(50*5, y1, 50*5, y2);
     line(50*6, y1, 50*6, y2);
     line(50*7, y1, 50*7, y2);
     line(50*8, y1, 50*8, y2);
    
    //save("st_line_1e2.jpg");// 実行結果を画像形式で保存
    //noLoop();//繰返し処理を止める
    }
    
    
    実行結果

  4. whileループと変数

    ・次のソースファイルをコピーして,Processing開発環境のエディタ領域に貼り付ける.

    ソースファイル
    //whileループで直線を描く
    
    void setup ( ) {
      size(500, 500); //キャンバスの大きさ
      background(255);//キャンバスの背景色を白
      strokeWeight(10);//線の太さを10ピクセルに
    }
    
    void draw( ) {
    int x1; int y1 = 100;//最初の直線の座標
    int x2; int y2 = 400;
    
      int i = 2;//カウンター
      while ( i <=8) { 
         x1 = 50*i; x2 = x1;
         line(x1, y1, x1, y2);
         i = i+1;
      }
    
    //save("st_line_1e3.jpg");// 実行結果を画像形式で保存
    //noLoop();//繰返し処理を止める
    }
    
    
    実行結果

  5. whileループで間隔を変えてみる

    ・次のソースファイルをコピーして,Processing開発環境のエディタ領域に貼り付ける.

    ソースファイル
    //whileループで直線を描く
    
    void setup ( ) {
      size(500, 500); //キャンバスの大きさ
      background(255);//キャンバスの背景色を白
      strokeWeight(10);//線の太さを10ピクセルに
    }
    
    void draw( ) {
    int x1; int y1 = 100;//最初の直線の座標
    int x2; int y2 = 400;
    
      int i = 1;//カウンター
      while ( i <=24) { 
        x1 =20*i;x2 = x1;
        line(x1, y1, x2, y2); 
        i = i+1;
      }
    
    //save("st_line_1f.jpg");// 実行結果を画像形式で保存
    //noLoop();//繰返し処理を止める
    }
    
    
    実行結果

  6. 1個のwhileループで変数を変えてみる

    ・次のソースファイルをコピーして,Processing開発環境のエディタ領域に貼り付ける.

    ソースファイル
    //2重のforループで直線を描く
    
    void setup ( ) {
      size(500, 500); //キャンバスの大きさ
      background(255);//キャンバスの背景色を白
      strokeWeight(10);//線の太さを10ピクセルに
    }
    
    void draw( ) {
    int x1; int y1 = 50;//最初の直線@の座標
    int x2; int y2 = 450;
    int x3 = 50; int y3;//最初の直線Aの座標
    int x4 = 450; int y4;
    
      int i = 1;//カウンター
      while ( i <=9 ) { 
        x1 =50*i;x2 = x1;
        y3 =50*i;y4 = y3;
          stroke(0,0,255);//縦の線色を青
        line(x1, y1, x2, y2);
          stroke(255,0,0);//横の線色を赤
        line(x3, y3, x4, y4);
        i = i+1;
      }
    
    //save("st_line_1g.jpg");// 実行結果を画像形式で保存
    //noLoop();//繰返し処理を止める
    }
    
    
    実行結果

  7. 二重のwhileループで変数を変えてみる

    ・次のソースファイルをコピーして,Processing開発環境のエディタ領域に貼り付ける.

    ソースファイル
    //2重のwhileループで直線を描く
    
    void setup ( ) {
      size(500, 500); //キャンバスの大きさ
      background(255);//キャンバスの背景色を白
      strokeWeight(10);//線の太さを10ピクセルに
    }
    
    void draw( ) {
    int x1;int y1;//最初の直線の座標
    int x2;int y2;
    
      int i = 1;//カウンター
      while ( i <=8 ) { 
         x1 = 50*i; x2 = x1 +40;
         int j=1;//カウンター
           while (j <=8) { 
           y1 = 50*j; y2 = y1 +40;
           line(x1, y1, x2, y2);
           j = j+1;
           }
         i = i+1;
      }
    
    //save("st_line_1h.jpg");// 実行結果を画像形式で保存
    //noLoop();//繰返し処理を止める
    }
    
    
    実行結果

[ 目次に戻る ]