Problem of Apollonius, CPP Problem

A circle c and two points P1 and P2 are given. All circles which are tangent to the given circle and pass through the two given points shall be constructed.

You can drag the center of c or the points P1 and P2, and vary the radius (with pressed mouse button). For each type of solution, you can decide, whether the solution circle is to be drawn. The total number of solutions is indicated on the bottom right.

This browser doesn't support HTML5 canvas!