Fluids – A Vector-Based Particle System

This project began as an exploration into programming for fluid dynamics.  That research acquainted me with the subject of vector fields and how they represent the behavior of fluids and gases.  This thread of investigation led me to the world of cellular automata, including Conway’s beautiful Game of Life.

While this project doesn’t approach the subletly or revelatory power of that fundamental experiment, it does include dozens of discrete particle objects, each following its own destiny through the vector field, becoming affected by what it travels through, by the other particles that it meets along the way, and leaving trails as it veers around.  There’s also a certain amount of intrinsic randomness built into the system, some of which can be adjusted by the performer in real time.

The system is also built to accept an incoming stereo audio signal and adjust the particles based upon the audio feed, which can be run in live through an input or make use of a computer’s built-in mic.

This project was originally created to be a stand-alone app meant to run full-screen on a laptop hooked to a projector for a performance. There was also a web-friendly version created, although it’s no longer as web-friendly as it was when created, since that version was in Flash.

Future plans are to port the project to Processing or WebGL.