A little particle-collision toy I put together using the Sylvester library. The bubbles are acted upon by a set of vector fields (in this case, translations of [sin(y), sin(x)] and [sin(t), cos(t)]), and exhibit quasi-realistic dynamics on impact, including friction and elasticity.

Collision detection is handled via quadtree partitioning, which doesn't matter all that much for purposes of this demonstration, (the bottleneck for rendering stuff in the browser is elsewhere and happens earlier), but could in principle handle a much larger number of particles without an exponential increase in frame rendering operations.
PRESS ME