94.hatenadiary.jp
これを動かす。
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 (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));
}
}
}