See the blog post:
Processing: Flying Triangles