これを動かす。
int num = 36; float[] b = new float [num]; float[] c = new float [num]; //主に形のの大きさ float[] d = new float [num]; //線の太さ int s = 0; int max; void setup() { size(800, 800); background(255); for (int i = 0; i < 36; i++) { b[i] = int(random(4)); c[i] = random(50); //主に形の大きさ d[i] = random(5); //線の太さ max = int(random(2,36)); } } void draw() { background(255); translate(width/2, height/2); float dis = sin(radians(s)); for (int i = 0; i < max; i++ ) { for (int rad = 0; rad < 360; rad += 10) { pushMatrix(); rotate(radians(rad)); noFill(); strokeWeight(d[i]); if (b[i] == 0) { line(i*20*dis, 0, i*dis*20+10, 0); } //if文で分岐させる if (b[i] == 1) { ellipse(i*20*dis, 0, c[i], c[i]); } if (b[i] == 2) { rect(i*20*dis, 0, c[i], c[i]); } if (b[i] == 3) { triangle(i*20*dis, 0, i*dis*20+c[i], -i*2, i*dis*20+c[i], i*2); } popMatrix() ; } } s++; if (abs(dis) < 0.001) { for (int i = 0; i < 36; i++) { b[i] = int(random(4)); c[i] = random(50); //主に形の大きさ d[i] = random(5); //線の太さ max = int(random(2,36)); } } }