--s̸e̴l̷f̶i̷e̷s̵--

#generative
these are legitimately two million particles in realtime because **SICK-ASS GPU KICKFLIPS** but there's no point posting video because twitter will just smear it into hideous blocksludge https://twitter.com/AmazingThew/status/1257541847590862848
Did a bunch more of these last night but figured I should post while folks are awake lol

particles seek to flow along contours derived from images, while constrained by other rules
The state evolves slowly; all the previous images involved playing with the parameters or changing the contours over time

here's fixed parameters, but with basic mouse interaction to push stuff around
Using the previous rasterized image as an influence on the gradients, meaning particles can be affected by their neighborhoods

Currently mostly getting stuck in these whorl patterns, which are pretty but not super versatile:
An issue with having particles that move around based on feedback from their local neighborhood of nearby particles: This places me in *extreme* danger of becoming A Continuous Automata Guy

you can lose, like, entire lifetimes down the automata hole

I'll be careful okay
influencing velocity from neighborhood is promising, but hard to prevent it just feeding back ever-increasing forces
really hard to control the parameters but I like this one a lot
Blending the image-based gradient influences back in
swoosh
s̵̫̈́e̸̠̅l̶͍͝f̴̛͎ȉ̷̳e̷͍̾
Just watching this go is really fun

This is mainly just velocity feedback. Particles write their velocity to a buffer, blur it, and then sample the blurred velocity when updating their new positions. Decay/smoothing/curvature are tuning vars but the feedback does most of it
bwoop boop
invaders
twitter REALLY did a number on the video compression lol

here's a link to the actual file in case anyone feels like seeing what it actually looks like... https://www.dropbox.com/s/ibdl9q8rm8v4nm7/ParticleInvaders.mp4?dl=0
thought process:

"these look surprisingly fluid-like for such simple rule sets"

"eh, there are a lot of automata-based approaches to fluid sim; it's not unrelated"

"molecules in a real fluid are arguably a form of automata anyway right"

STEPHEN WOLFRAM WANTS TO KNOW YOUR LOCA
Initializing the positions with uninitialized memory was apparently a good idea
Galaxy Launcher
ceaselessly upping selfie game
so this is actually what I originally meant to try

particles are attracted by image gradients, meaning they'll flow towards lighter areas, but they also repel each other

result is a dithering pattern vaguely reminiscent of error-diffusion approaches, but parallel and weird/cool
Repulsion and other neighborhood effects are accomplished via a trick: rasterizing everything to a buffer and then blurring the buffer. With additive blending a cluster of particles will produce a steeper gradient, and therefore a stronger repulsive force
The cool bit is this allows particles to influence their neighbors without needing to actually perform any sort of neighborhood query or build acceleration structures

it has a TON of limitations but for just messing around doing art stuff it's extremely powerful
(this is essentially a form of the "particle in cell" technique used for certain types of fluid/physics sims, but like, not at all principled)
Really like the way it sort of picks out long/thin details like hair and the glasses frames

worth noting the particles are barely 1px across and VERY low alpha; every dot you see is actually a clump of dozens of them pushed together by gradient forces
All of the weird CA-like rules for inter-particle interactions that I used for the earlier images are still here, and they can still work together with the forces that produce the stipple effect

works surprisingly well with webcam input
Compression smudges the details obviously, but keep in mind that nothing's directly reading the image or setting a pixel brightness here. It's two million separate particles with constant brightness changing their positions
You can follow @AmazingThew.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: