random([min], [max])
[min]〜[max]までの、ランダムな数をつくる
色、座標、大きさなど、数のパラメータをランダムに変えてみます。
背景を塗るプログラムを、最初の1回だけ実行し、そのあとは背景を塗らないことにしました。こうすることで、前回描かれた図形を残して塗り重ねていくことができます。
//ランダムに図形を描く
//四角が画面におさまるようにする
function setup() {
//画面サイズ
createCanvas(500, 500);
//背景を塗る
background(200,220,220);
}
function draw() {
//線をナシ
noStroke();
//塗り色
fill(random(0,100),random(0,255),random(10,25), 50);
//四角の基準点を中心に
rectMode(CENTER);
//四角を描く
rect(random(0,500),random(0,500),random(0,50),random(0,250));
}
アレンジのポイントは、数のパラメータをみつけ、その数を変化させてみることです。ランダムをつかうと、手軽に変化できます。そして、ランダムの変化する範囲をいろいろ工夫してみてください。
たとえば、色の場合は「赤を0〜100、緑を0〜255、青を10〜25」などにすると、緑が一番広い範囲なので、緑っぽい色になります。
たとえば、四角の大きさを「横幅を0〜50、高さを0〜250」とすると、高さが一番広い範囲なので、縦長の四角になります。
このランダムを使って、美しいと思う画面をつくってみましょう。
直前のプログラムでは、ランダムにずっと描き続けてしまうので、「これでよし」というタイミングで終わることができません。
そこで、ランダムに描くことを、「スタート&ストップする機能」をつけます。スペースキーを押したらスタートし、もう一度押すとストップするようにしました。
//ランダムに図形を描く
//四角が画面におさまるようにする
//スペースキーでストップ
//変数を定義
let flag = false;
function setup() {
//画面サイズ
createCanvas(500, 500);
//背景を塗る
background(200, 220, 220);
}
function draw() {
//flagが真のとき
if (flag==true) {
//線をナシ
noStroke();
//塗り色
fill(random(0, 100), random(0, 255), random(10, 25), 50);
//四角の基準点を中心に
rectMode(CENTER);
//四角を描く
rect(random(0, 500), random(0, 500), random(0, 50), random(0, 250));
}
}
//キーを押したら
function keyPressed() {
//スペースキーのとき
if (key==" ") {
//flagを反転する
flag = !flag;
}
}
簡単なプログラムでも、数のパラメータを見つけ、変化させると複雑に見せることができます。
ランダムな数をつかっても、その範囲を意識して変化させることで、緑っぽい色とか、縦に長い長方形など、方向性を持たせることができる。