Bellow simple case, where particles randomly placed in the flowfield, follows perlin noise values used as angle. When particles leaves the canvas they respawn randomly in the flow field.
Code is hosted on github.
Here using a third dimension (time) for perlin noise, to get this kind of overlying filaments.
Multiple layers of particules
Using multiple layers, each layer generate different number, size and color of particles to give depth to the results.
Changing size and color over particle lifetime
Variyng size and color of the particles along their lifetime.