Processingで特定の個数をランダムな位置に描く
Processingでほとんど使わなかった機能のことがすっかり頭から抜けていて、しばらく格闘してしまったのでメモ。
円や四角などの図形を特定の個数ぶんだけ、ランダムな位置に描きます。
noLoop();の存在をすっかり忘れていた・・・
マウスボタンを押すと再描画されます。
float x,y; void setup() { size(600,600); background(255); } void draw() { background(255); drawX(); noLoop(); } void drawX() { for (int i = 0; i < 10; i++) { x = random(60, 300); y = random(10, 90); ellipse(x,y,50,50); } } void mousePressed() { redraw();// ボタンが押されたときだけ実行 }
別に再描画必要ないしー、という場合はこちらもあり。
float x,y; void setup() { size(600,600); drawX(); } void drawX() { for (int i = 0; i < 10; i++) { x = random(60, 300); y = random(10, 90); ellipse(x,y,50,50); } }
箱で描いてみました。
こんな感じ。
float x1,y1; void setup() { size(600,600); background(255); } void draw() { background(255); drawBox1(); noLoop(); } void drawBox1() { for (int i = 0; i < 10; i++) { x1 = random(60, 300); y1 = random(10, 90); quad(x1, y1, x1, y1+50, x1+40,y1+70, x1+40, y1+20); quad(x1+40, y1+20, x1+40, y1+70, x1+80,y1+50, x1+80, y1); quad(x1+40, y1-20, x1, y1, x1+40,y1+20, x1+80, y1); } } void mousePressed() { redraw();// ボタンが押されたときだけ実行 }