This simulation uses 2D Perlin noise to control the movement of particles. I wrote this in Javascript using the p5.js Library.