So, I’ve been tinkering a bit more with the boids…
I had the idea of borrowing concepts from a technique called ‘line integral convolution’ and play with what that one does to the images. LIC is a method used in vector field visualization and creates images like this one from wikipedia for example:
The results depend on an input image,- you can use white noise for example.
It is usually used to visualize the flow on a surface etc. and you obviously need a vector field for it to work. I don’t have that, but I have the boids’ movement which I can use instead. Usually, for each pixel you calculate a streamline through that pixel and integrate over that streamline using a filter kernel like a box, triangle, gauss, … – you get the idea. Again, no way to calculate a forward streamline but I have the backward part and just pretend that my filter kernel weights the forward bit with 0. Long story short, this all boils down to a very simple implementation but this was my thinking along the way and where I got the idea from. The final implementation is embarassingly trivial and comes down to an average of the last N pixels visited ;) Nothing too crazy, but I wanted to give it a try.
These were the first results:
Here I let the color get darker over time. Pixels that have been visited a lot are the darkest:
Here I use the underlying checkerboard for the convolution but draw the pixels on a clean background:
I got quite a few suggestions for the next iteration of tests and I hope that I get to try some of them soon. :)