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!
6) Steal Like An Artist
Cool. Let’s do the picsum thing again and then randomly draw some nice curvy brush strokes over it.
Now with parameterization!
let gui;
let params = {
iterationCount: 100, iterationCountMin: 1,
maximumDistance: 10.0, maximumDistanceMax: 100.0,
brush: 3, brushMin: 1, brushMax: 10,
};
let original;
function preload() {
console.log('Loading...');
original = loadImage("https://picsum.photos/400");
console.log("done");
}
function setup() {
createCanvas(400, 400);
gui = createGuiPanel('params');
gui.addObject(params);
gui.setPosition(420, 0);
}
function draw() {
for (let i = 0; i < params.iterationCount; i++) {
drawOne();
}
}
function drawOne() {
let points = [];
points.push(createVector(
random(width),
random(height)
));
for (let i = 1; i <= 4; i++) {
points.push(p5.Vector.add(
points[points.length - 1],
p5.Vector.random2D().mult(random() * params.maximumDistance)
));
}
let r = 0, g = 0, b = 0;
for (let p of points) {
let c = original.get(parseInt(p.x), parseInt(p.y));
r += c[0];
g += c[1];
b += c[2];
}
r /= points.length;
g /= points.length;
b /= points.length;
strokeWeight(params.brush);
stroke(
parseInt(r),
parseInt(g),
parseInt(b),
255
);
noFill();
curve(
points[0].x, points[0].y,
points[1].x, points[1].y,
points[2].x, points[2].y,
points[3].x, points[3].y
);
}
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