Note
教材を使用される方は、“lesson資料のご利用について”のご一読をお願いします。
Learning Objectives
- プログラムで使う"random"(ランダム, 乱数)について理解する
- ランダムを使った表現を試してみる
Unit07-5の課題
- 以下のプログラムを、最初はコピー&ペーストで構わないので試してみる
- 自分のパソコン上で動いたら、どれかのプログラムを自分なりにアレンジして変えて、動かしてみる(大きさ、位置、色、タイミングなどをランダムにしてみる
- 今回は特に提出はありません。各自の環境で、試して遊んでみましょう
講義
例1. 円の位置をランダムにする
void setup() {
size(600, 600);
background(255, 255, 255);
}
void draw() {
// 円の位置をランダムに
ellipse(
random(0, 600),
random(0, 600),
100,
100
);
}
例2. 円の位置、色、形をランダムにする
void setup() {
size(600, 600);
background(255, 255, 255);
noStroke();
}
void draw() {
// 色をランダムに
fill(
random(255),
random(255),
random(255)
);
// 円の位置と形をランダムに
ellipse(
random(600),
random(600),
random(50),
random(50)
);
}
例3. 震える
void setup() {
size(600, 600);
background(255, 255, 255);
noStroke();
}
void draw() {
// 背景を塗りつぶす
background(255, 255, 255);
// 色をランダムに
fill(
random(255),
random(255),
random(255)
);
// 円の位置を、キャンバス中央からランダムに少しだけずらす
ellipse(
300 + random(-10, +10),
300 + random(-10, +10),
100, 100
);
}
例4. 水墨画風
void setup() {
size(600, 600);
background(255, 255, 255);
}
// マウスをドラッグしたときに実行されるブロック
void mouseDragged() {
// 線の幅をランダムに
strokeWeight(random(1, 20));
// 線の不透明度もランダムに
stroke(0, 0, 0, random(100, 255));
// 線を引く
line(pmouseX, pmouseY, mouseX, mouseY);
}
void draw() {
}
例5. 色調を指定する(確率の制御)
void setup() {
size(600, 600);
background(255, 255, 255);
}
void draw() {
if (random(0, 100) < 40) {
// 40%の確率で塗りを水色に
fill(57, 171, 245);
}
else {
// それ以外は塗りをランダムに
fill(random(255), random(255), random(255));
}
ellipse(
random(0, 600),
random(0, 600),
random(50),
random(50)
);
}