Generative Art #3
前にOpenProcessingに投稿したもの ( https://www.openprocessing.org/sketch/704431 ) を使いまわしつつ,ちょいアレンジ.回転やスケール加えるだけでも違った雰囲気になる.
void setup() {
size(800, 800);
background(0);
rectMode(CENTER);
drawPattern();
}
void draw() {
}
void drawPattern() {
float sf = random(1.5, 2.0);
float rot = random(TWO_PI);
translate(width / 2.0, height / 2.0);
scale(sf, sf);
rotate(rot);
recur(new PVector(0.0, 0.0), width, 0);
}
void recur(PVector p, float s, int d) {
if (d > 1 && random(1) < float(d) / 8) {
colorMode(HSB, 360, 255, 255);
float hue = 360 / 8.0 * random(8);
int n = 10;
for (int k = 0; k < n; k++) {
fill(hue, 255.0 / n * (n - k), 255);
noStroke();
rect(p.x, p.y, s / n * (n - k), s / n * (n - k));
}
colorMode(RGB, 255, 255, 255);
} else {
fill(0);
stroke(255);
recur(new PVector(p.x + s / 4.0, p.y + s / 4.0), s / 2.0, d + 1);
recur(new PVector(p.x - s / 4.0, p.y + s / 4.0), s / 2.0, d + 1);
recur(new PVector(p.x + s / 4.0, p.y - s / 4.0), s / 2.0, d + 1);
recur(new PVector(p.x - s / 4.0, p.y - s / 4.0), s / 2.0, d + 1);
}
}
static final String timestamp(final String name, final String ext) {
return name + "-" + year() + nf(month(), 2) + nf(day(), 2) +
"-" + nf(hour(), 2) + nf(minute(), 2) + nf(second(), 2) + ext;
}
void mouseReleased() {
drawPattern();
}
void keyReleased() {
saveFrame(String.format("frames/%s", timestamp("Project", ".png")));
}
いただいたサポートは主にクリエイターとしての活動費になります