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

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



Processingリファレンス - 条件分岐
  1. if 文とループ

    1. if 文を使うことで、条件によりどちらの処理を実行すべきか判断させる.

    2. 2つの処理パターンがある.

      1. if 真偽の条件 then 処理@

      2. if 真偽の条件 then 処理@ else 処理A

    3. 条件式

      1. 比較演算子

        [==] 左辺が右辺に等しい,[!=] 左辺が右辺に等しくない, [<] 左辺が右辺より小さい, [>] 左辺が右辺より大きい,

        [<=] 左辺が右辺より以下,[>=] 左辺が右辺より以上

      2. 論理演算子

        [ || ] 論理和・OR 演算, [ && ] 論理積・AND 演算, [ ! ] 論理否定・NOT演算


  2. 直線のx1,x2座標をランダムな変数にし,ランダムに直線を描く

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

    ソースファイル
    //ファイル名:sketch_xxxxxxxxxx.pde 
    //直線を描く
    
    void setup ( ) {
      size(500, 500); //キャンバスの大きさ
      background(255);//キャンバスの背景色 白
    }
    
    void draw( ) {
    
    //座標の位置をランダムに作り出す
    float x1=random(0,500);// 0≦x1≦500
    float x2=random(0,500);// 0≦x2≦500
    float y1=random(0,500);// 0≦y1≦500
    float y2=random(0,500);// 0≦y2≦500
    
      line(x1, y1, x2, y2);//ランダムな位置に直線を描く
    
    //save("st_line_1d-a.jpg");// 実行結果を画像形式で保存
    }
    
    
    実行結果

  3. if ループを使って,ランダムに作成した100以下の長さの直線だけを描く

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

    ソースファイル
    //ファイル名:sketch_xxxxxxxxxx.pde 
    //直線を描く
    
    void setup ( ) {
      size(500, 500); //キャンバスの大きさ
      background(255);//キャンバスの背景色 白
    }
    
    void draw( ) {
    
    //座標の位置をランダムに作り出す
    float x1=random(0,500);// 0≦x1≦500
    float x2=random(0,500);// 0≦x2≦500
    float y1=random(0,500);// 0≦y1≦500
    float y2=random(0,500);// 0≦y2≦500
    
      float len = sqrt(sq(abs(x1-x2)) + sq(abs(y1-y2)));
      //直線の長さが100以下なら描く
      if (len <=100) {
        line(x1, y1, x2, y2);//ランダムな位置に直線を描く
      }
    
    //save("st_line_1d-b.jpg");// 実行結果を画像形式で保存
    }
    
    
    実行結果

  4. if ループを使い,100以下の長さの直線にランダムに色を付け,繰返し描く

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

    ソースファイル
    //ファイル名:sketch_xxxxxxxxxx.pde 
    //直線を描く
    
    void setup ( ) {
      size(500, 500); //キャンバスの大きさ
      background(255);//キャンバスの背景色 白
    }
    
    void draw( ) {
    
    //色のRGBをランダムに作り出す
    float r=random(0,255);// 0≦r≦255
    float g=random(0,255);// 0≦g≦255
    float b=random(0,255);// 0≦b≦255
    
      stroke(r,g,b); //ランダムな線の色
    
    //座標の位置をランダムに作り出す
    float x1=random(0,500);// 0≦x1≦500
    float x2=random(0,500);// 0≦x2≦500
    float y1=random(0,500);// 0≦y1≦500
    float y2=random(0,500);// 0≦y2≦500
    
      float len = sqrt(sq(abs(x1-x2)) + sq(abs(y1-y2)));
    
      //直線の長さが100以下なら描く
      if (len <=100) {
        line(x1, y1, x2, y2);//ランダムな位置に直線を描く
      }
    
    save("st_line_1d-c.jpg");// 実行結果を画像形式で保存
    }
    
    
    実行結果

[ 目次に戻る ]