Chaotic Particles HTML5 Canvas Demo
I created this demo more or less by accident when prototyping some particle mechanics for a game. It is based on a particle system, and an acceleration map but more on that later. It reminds me quite a bit of simulations of galaxy formation or a lava lamp, it's really nice to watch.
Click the image to open the demo. In the demo, set the particles in motion by dragging with your mouse.
This demo also works on Android including fullscreen (tested on a nexus one with 2.2), iPhone and iPad! Give it a try ;)
How it works
Each particle has a position and a velocity stored in a typed Float32Array (yes, they work on iOS). In addition to that there is an acceleration 'map' in the background. When you drag over the particle system, you initialize the acceleration map which sets the whole system in motion.
accelerationMap[particle.position] += particle.velocity*someFactor particle.velocity += accelerationMap[particle.position]; particle.position += particle.velocity; ...