多くのプログラミング言語にある機能ですが、random()はある意味プログラミング言語ならではの描画を可能にします。しかし、意識して使用しないとなかなか独自性を出すことが難しいというのも事実です。
このスタディでは、ランダムの値を緩やかにコントロールすることによって、多様な造形を作り出すことを目標にします。
4.9.1 課題
random()を形態の決定に使用し描画する
目的
- プログラミングによる描画の特徴のひとつであるrandom()に慣れる
- 安易にrandom()を使うのではなく、使い方を仔細に検討することによって独自性を出す
条件
- 図形は線のみを使用。色彩は黒。線幅は1ピクセル。数は自由
- すでに学習した内容はすべて使っていい(配列、座標変換、三角関数など)
- 画面は400×400ピクセル
- 5パターンのバリエーションは、単純なアルゴリズムから出発し複雑にしていく
- 10パターン作りたい人は作ってもいい。その方が勉強になる
- 静止画を作成する
- クリックごとにグラフィックが更新されるようにする
- 与えられたテンプレートを出発点とする
![2016_06_19_16_43](https://r-dimension.xsrv.jp/classes_j/wp-content/uploads/2016/06/2016_06_19_16_43-284x300.png)
図4.9-a
リスト4.9-a
boolean drawFlag = true; //クリックごとに描画するためのフラッグ
void setup() {
size(400, 400);
}
void draw() {
if (drawFlag) { //drawFlagがtrueだったら
background(255);
for (int i = 0; i < 200; i ++) {
//線を描画。x, y座標はランダム
line(random(width), random(height), random(width), random(height));
}
drawFlag = false; //描画後にfalseにする
}
}
void mousePressed() {
drawFlag = true; //クリックでdrawFlagをtrue
}
4.9.2 サンプルA
![2016_09_12_14_25](https://r-dimension.xsrv.jp/classes_j/wp-content/uploads/2016/06/2016_09_12_14_25-284x300.png)
スタディ4.9-a
![2016_09_12_14_26](https://r-dimension.xsrv.jp/classes_j/wp-content/uploads/2016/06/2016_09_12_14_26-284x300.png)
スタディ4.9-b
![2016_09_12_14_26](https://r-dimension.xsrv.jp/classes_j/wp-content/uploads/2016/06/2016_09_12_14_26-1-284x300.png)
スタディ4.9-c
![2016_09_12_14_26](https://r-dimension.xsrv.jp/classes_j/wp-content/uploads/2016/06/2016_09_12_14_26-2-284x300.png)
スタディ4.9-d
![2016_09_12_14_27](https://r-dimension.xsrv.jp/classes_j/wp-content/uploads/2016/06/2016_09_12_14_27-284x300.png)
スタディ4.9-e
作成:小澤太一
4.9.3 サンプルB
![2016_10_02_16_37](https://r-dimension.xsrv.jp/classes_j/wp-content/uploads/2016/06/2016_10_02_16_37-284x300.png)
スタディ4.9-f
![2016_10_02_16_38](https://r-dimension.xsrv.jp/classes_j/wp-content/uploads/2016/06/2016_10_02_16_38-284x300.png)
スタディ4.9-g
![2016_10_02_16_38](https://r-dimension.xsrv.jp/classes_j/wp-content/uploads/2016/06/2016_10_02_16_38-1-284x300.png)
スタディ4.9-h
![2016_10_02_16_38](https://r-dimension.xsrv.jp/classes_j/wp-content/uploads/2016/06/2016_10_02_16_38-2-284x300.png)
スタディ4.9-i
![2016_10_02_16_39](https://r-dimension.xsrv.jp/classes_j/wp-content/uploads/2016/06/2016_10_02_16_39-284x300.png)
スタディ4.9-j
作成:三上航平