Additional topics
In the chapter, we covered just a part of particle systems' ideas and methods. For further exploration of this field, we would suggest the following topics:
See the great introduction on particle systems' physics (for Processing language) in The Nature of Code, Daniel Shiffman, at natureofcode.com/book/chapter-4-particle-systems/
Look at the Box2D physics library, which can be used for modeling elastic bounces between particles. Actually, this is a universal and an extremely popular 2D physics library, which can be useful in various projects even not related to particles. To use the library in openFrameworks, you can use the ofxBox2d addon by Vanderlin available at ofxaddons.com.
Play with the marching cubes algorithm, which provides the other way for rendering particles, not as sprites but as polygonal volumes in 3D space. Such a method of particles' visualization is called metaballs, and it can be a fruitful source of interesting visual effects. (See the Additional topics...