The Nature of Code(PDF版)からランダムウォークについて取り上げます。Processingでプログラムを書いて、動作を確認します。動作を確認できるところがProcessingの楽しいところです。今回は、ランダムウォークで利用した確率について書きます。
ランダムウォークの確率
今までに以下のようなランダムウォークをご紹介しました。
- ランダムウォーク(random walk)
- 4方向に移動するランダムウォーク
- 1/4の確率で任意のマスに移動する
- 9方向に移動するランダムウォーク(random walk)
- 9方向に移動するランダムウォーク
- 1/9の確率で任意のマスに移動する
Processingのランダム関数は、数を均一に分布します。今回は、その様子をグラフにして可視化します。
int[] randomCounts; void setup(){ size(640, 240); randomCounts = new int[20]; } void draw(){ background(255); int index = int(random(randomCounts.length)); randomCounts[index]++; stroke(0); fill(175); int w = width/randomCounts.length; for(int x = 0; x < randomCounts.length; x++){ rect(x*w, height-randomCounts[x], w-1, randomCounts[x]); } }
- メモ
- rect(長方形の左上のx座標, 長方形の左上のy座標, 幅, 高さ);
まとめ
The Nature of Code(PDF版)からランダムウォークで利用した確率について取り上げました。引き続き、The Nature of Code(PDF版)の内容を勉強します。