Spend a month making one beautiful thing per day, given a bunch of prompts. A month late, but as they say, ’the second best time is now'.
Let’s do it!
27) In the style of Hilma Af Klint
Based on Svanen.
let gui;
let params = {
wiggle: 0, wiggleMax: 10,
randomColors: false,
smokeSize: 10, smokeSizeMin: 0, smokeSizeMax: 400,
}
let COLORS = [
"black",
"white",
"blue",
"yellow",
"red",
"green",
"magenta",
"cyan",
"gray",
];
function setup() {
createCanvas(400, 400);
frameRate(10);
gui = createGuiPanel('params');
gui.addObject(params);
gui.setPosition(420, 0);
}
function draw() {
if (params.randomColors) {
background(random(COLORS))
} else {
background("red");
}
function wiggle() {
return random(params.wiggle) - params.wiggle / 2;
}
function myArc(color, left, size) {
noStroke();
if (params.randomColors) {
fill(random(COLORS))
} else {
fill(color);
}
arc(
200 + wiggle(),
200 + wiggle(),
size + wiggle(),
size + wiggle(),
TWO_PI*(left ? 1 : 3)/4,
TWO_PI*(left ? 3 : 1)/4,
PIE
);
}
myArc("white", true, 300);
myArc("black", true, 200);
myArc("blue", false, 300);
myArc("yellow", false, 200);
myArc("red", false, 100);
noStroke();
if (params.randomColors) {
fill(random(COLORS))
} else {
fill("black");
}
triangle(
200 + wiggle(), 190 + wiggle(),
205 + wiggle(), 200 + wiggle(),
200 + wiggle(), 200 + wiggle()
);
if (params.randomColors) {
fill(random(COLORS))
} else {
fill("red");
}
triangle(
200 + wiggle(), 190 + wiggle(),
195 + wiggle(), 200 + wiggle(),
200 + wiggle(), 200 + wiggle()
);
noStroke();
if (params.smokeSize > 0) {
for (let x = 0; x < width; x += params.smokeSize) {
for (let y = 0; y < height; y += params.smokeSize) {
let a = 256 * noise(x / width, y / height, frameCount / 10.0);
fill(255, 255, 255, a);
rect(x, y, params.smokeSize, params.smokeSize);
}
}
}
}
Posts in Genuary 2023:
- Genuary 2023.01: Perfect loop
- Genuary 2023.02: Made in 10 minutes
- Genuary 2023.03: Glitch art
- Genuary 2023.04: Intersections
- Genuary 2023.05: Debug view
- Genuary 2023.06: Steal like an artist
- Genuary 2023.07: Sample a color palette
- Genuary 2023.08: Signed Distance Functions
- Genuary 2023.09: Plants
- Genuary 2023.10: Generative Music
- Genuary 2023.11: Suprematism
- Genuary 2023.12: Tessellation
- Genuary 2023.13: Something you've always wanted to learn
- Genuary 2023.14: Asemic Writing
- Genuary 2023.15: Sine Waves
- Genuary 2023.16: Reflections of a Reflection
- Genuary 2023.17: A grid inside a grid inside a grid
- Genuary 2023.18: Definitely not a grid
- Genuary 2023.19: Black and white
- Genuary 2023.20: Art Deco
- Genuary 2023.21: Persian Carpet
- Genuary 2023.22: Shadows
- Genuary 2023.23: Moiré
- Genuary 2023.24: Textile
- Genuary 2023.25: Yayoi Kusama
- Genuary 2023.26: My kid could have made that
- Genuary 2023.27: In the style of Hilma Af Klint
- Genuary 2023.28: Generative poetry
- Genuary 2023.29: Maximalism
- Genuary 2023.30: Minimalism
- Genuary 2023.31: Break a previous image