Given a triangle, start with a circle tangent to two sides. Then draw a new circle tangent to this first circle and a different pair of sides. Continue this process in the same direction. The sixth circle will be tangent to both the fifth and the first circle, thus producing a cyclic chain of touching circles.

In the illustration above, the corners of the triangle can be dragged around. Similarly, the center of one of the circles is marked with a little dot which can also be dragged to change the size of the first circle of the chain. A full-screen version of the illustration is also available.

*Update 2014-05-31:* The paper *The Six Circles Theorem revisited* by D. Ivanov and S. Tabachnikov looks at some generalization of the theorem (thanks to @theoremoftheday for the link).