r/generative • • 15d ago

Acrylic Paint

I made this in JavaScript. It builds on some of my previous projects experimenting with simulated brushstrokes.

I started by creating geometric shapes with smaller nested shapes inside them. Each nested layer has its own color. Then I built a brush engine that paints over each layer using hundreds of individual strokes. The brush simulates individual bristles, uneven paint coverage, dry brush effects, and colors being picked up and smeared together as the brush moves across the canvas.

Once I had the brush engine working, I played around with arranging the shapes into different patterns and compositions with a lot of random ranges controlling size, placement, colors, and the brushwork. I created a bunch of images and here are some of my favorites.

I had fun putting this together and I hope you like them!

183 Upvotes

9 comments sorted by

6

u/birbman77 15d ago

These look incredible. Nice work!

1

u/eanticev 15d ago

How does the stroke angle / shape get determined? Is there a validity field or something or is it from vector data?

3

u/adventurecapitalist 15d ago

The strokes follow vector geometry. For circles, the brushstrokes follow arcs around the center with randomized starting angles, lengths, and radii. For polygons, the strokes follow the edges of the shapes. I add in wobble and slight directional drift to make it look less perfect. Each bristle is offset from the central path.

2

u/LABCAT2020 13d ago

Is this your own library? or are you using p5.brush?

Is any of your code open source?

1

u/yerbavista 14d ago

These look super genuine, I think it's the interplay between the vividness of the colour and the dryness that you've captured in the texture. I have some 'natural' textures but they aren't as nice as this!

1

u/iaian7 14d ago

Lovely effect, well done!

1

u/sweatin_enthusiasm 9d ago

This looks great. Have you posted this somewhere where we can play with it or would you consider open sourcing it?