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

【Processing】random()関数【指定した範囲内でランダムな数を生成し、それを使って表現する】

【Processing】random()関数【指定した範囲内でランダムな数を生成し、それを使って表現する】
  • URLをコピーしました!

今回のrandom()関数の記事を読み終えた後に、以下のrandomSeed()の記事を読むと、さらにランダムを使いこなせるようになります。

【Processing】randomSeed()関数の使い方【毎回同じ順番で、決まった乱数の数を出てくるようにできる】

ワタタク

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

この記事を書いた人
  • クリエイティブコーディング初心者が、アーティストとして活躍するまでの上達の過程を発信
  • コンセプトは「クリエイティブコーディング1万時間の歩き方」
  • 参考にしてもらえるブログにするため、Processingを独学で勉強して共有中

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

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

目次

【Processing】random()関数について

random()関数について
  • random は英語で「ランダム」という意味
  • random() 関数は、0から指定した数の間でランダムな数を返します。
    • じ引きやサイコロを振るときのように、何が出るか分からない状態を指します
    • 例えば、random(10) と書くと、0から10の間のランダムな数を表示してくれる
  • 【注意点1】主にfloat(浮動小数点)で使う
  • 【注意点2】プログラムの動きが予測できなくなる
    • メリットでもあるがデメリットでもある

【Processing】random()関数の書き方【構文】

random()関数の書き方【構文】
  • random(50);
    • 0から50未満の数値の中でランダムな表現ができる
  • random(30, 70);
    • 30から始まり、70未満の数値の中でランダムな表現ができる

【Processing】random()関数の使い方【画像とコード】

【1】背景色をランダムに変えてみる

クリックすると画像が出てきます。

チカチカして眩しいので見るときは注意。

再びこの部分を左クリックかタップで閉じることができます。

赤と緑と青がランダムに変わるようにしている背景の画像
【1】背景色をランダムに変えてみる
// 背景色をランダムに変える
void setup() {
  size(400, 400);
}

void draw() {
  background(random(255), random(255), random(255));
}

輪郭線の太さと円の中の色をランダムに変える

輪郭線の太さと円の中の色をランダムに変える

実行する度に輪郭線と、円の中の色が変わります。

size(400, 400);
background(255);
strokeWeight(random(255));
fill(random(255), random(255), random(255));
ellipse(200, 200, 200, 200);

ランダムな位置と色で線を描く

ランダムな位置と色で線を描く

stroke(random(100, 255), 0, 0);

でrandomを(100, 255)にしてるのは黒色がランダムで表示されないようにしているため。

random(255)だと0~255から色がランダムで表示され、低い数値だと黒っぽくなってしまう。

実行する度に線の位置と色が変わります。

// ウィンドウのサイズを設定する
size(400, 400);
// 背景を白色にする
background(255);

// ランダムな太さで線を描く
strokeWeight(random(1, 10));
// 赤色のランダムな明るさで線を引く
stroke(random(100, 255), 0, 0);
// ランダムな位置に線を引く
line(random(0, 400), random(0, 400), random(0, 400), random(0, 400));

// 別の太さで線を描く
strokeWeight(random(20, 30));
// 緑色のランダムな明るさで線を引く
stroke(0, random(100, 255), 0);
// ランダムな位置に線を引く
line(random(0, 400), random(0, 400), random(0, 400), random(0, 400));

// さらに太い線を描く
strokeWeight(random(30, 40));
// 青色のランダムな明るさで線を引く
stroke(0, 0, random(100, 255));
// ランダムな位置に線を引く
line(random(0, 400), random(0, 400), random(0, 400), random(0, 400));

【Processing】random()関数はどんな表現で使っていこうと思ったか

ランダムに色が変わる作品をつくるってのが現段階のアイデア。

ランダムを使っていろいろ表示させて、自分にはないアイデアを得るって使い方もあり。

【Processing】random()関数を使ってみた感想

面白い。

コンピューターだからこその表現ができる。

作品づくりの段階に入ったら、random()をたくさん使いそう。

ワタタク

それでは今日もレッツワクワクコーディング。

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