Intersection of two circles in plane Given centers A = [Ax,Ay], B=[Bx,By] and radiuses ra, rb. Intersections are C=[Cx,Cy], r is distance of A and B $Assumptions ra, rb, r, Ax, Ay, Bx, By Reals ; A Ax, Ay ; B Bx, By ; Distance of A and B is r SqrtAx Bx ^ Ay By ^ Ax Bx Ay By Analysis of singular cases Identical circles (infinite number of solutions) Ax Bx Ay By ra rb; Concentric nonidentical circles (no intersection) Ax Bx Ay By ra rb; One circle inside of the other (no intersection) r Abs ra rb ; Circles too far to intersect (no intersection) ra rb r; Circles touching, one inside the other (one intersection) r Abs ra rb ; Circles touching, one outside the other (one intersection) r ra rb; Alternative analysis of singular cases Identical circles (infinite number of solutions) r 0 ra rb; No intersection ra rb r r Abs ra rb ; Circles touching, one intersection r Abs ra rb r ra rb;
Two_circles_intersection.nb Analysis of regular case (two intersections) Substitution condr Ax Bx ^ Ay By ^ r^; Analytic equations of circles exp Cx Ax ^ Cy Ay ^ ra^; exp Cx Bx ^ Cy By ^ rb^; eq exp 0 eq exp 0 Ax Cx Ay Cy ra 0 Bx Cx By Cy rb 0 Using Solve solc Solveeq, eq, Cx, Cy. condr FullSimplify. condr Cx Ax 3 Ax Bx Ax Bx Ay By Bx Bx Ay By ra rb Ax Bx Ay By ra rb Ay By Ax Bx Ay By ra Ax Bx Ay By ra rb rb 4, Cy Ay 4 Ay 3 By Ay By By ra rb By Ax Bx By ra rb Ay Ax Bx ra rb Ax Ay By Ax Bx Ay By ra Ax Bx Ay By ra rb rb 4 Bx Ay By Ax Bx Ay By ra Ax Bx Ay By ra rb rb 4 Ax Bx Ay By Ay By, Cx Ax Bx Ay By Ax 3 Ax Bx Bx Bx Ay By ra rb Ax Bx Ay By ra rb Ay By Ax Bx Ay By ra Ax Bx Ay By ra rb rb 4, Cy Ay 4 Ay 3 By Ay By By ra rb By Ax Bx By ra rb Ay Ax Bx ra rb Ax Ay By Ax Bx Ay By ra Ax Bx Ay By ra rb rb 4 Bx Ay By Ax Bx Ay By ra Ax Bx Ay By ra rb rb 4 Ax Bx Ay By Ay By Alternatively Using substitution on the way, one can easily do it manually on the paper eq3 exp exp 0 Simplify Ax Ay Bx Cx By Cy rb Bx By Ax Cx Ay Cy ra
Two_circles_intersection.nb 3 Solving for Cx solcxeq3 Solve eq3, Cx Cx Ax Ay Bx By Ay Cy By Cy ra rb Ax Bx Inserting Cx into eq (note division by (Ax-Bx), this should not be zero) eq4 eq. solcxeq3 Ay Cy ra Ax Ax Ay Bx By Ay Cy By Cy ra rb Ax Bx Solving for Cy (note division by r) solcy Solve eq4, Cy FullSimplify 0 Cy Ax Ay By Ax Bx Ay By Ax Bx Ay By Bx Ay By Ay By Ay By ra rb Ax Bx Ax Bx Ay By ra Ax Bx Ay By ra rb rb 4, Cy Ax Ay By Ax Bx Ay By Bx Ay By Ax Bx Ay By Ay By Ay By ra rb Ax Bx Ax Bx Ay By ra Ax Bx Ay By ra rb rb 4 solcy. condr FullSimplify Cy Ax Ay By Ax Bx Ay By Bx Ay By Ay By Ay By ra rb r ra rb r ra rb r ra rb r ra rb Abs Ax Bx, Cy Ax Ay By Ax Bx Ay By Bx Ay By Ay By Ay By ra rb r ra rb r ra rb r ra rb r ra rb Abs Ax Bx Finaly solving Cx solcx Solve eq3, Cx. solcy FullSimplify Cx Ax 4 Ax 3 Bx Ax Bx Bx ra rb Bx Bx Ay By ra rb Ax Ay By ra rb Ay Ax Bx Ax Bx Ay By ra Ax Bx Ay By ra rb rb 4 By Ax Bx Ax Bx Ay By ra Ax Bx Ay By ra rb rb 4 Ax Bx Ax Bx Ay By, Cx Ax 4 Ax 3 Bx Ax Bx Bx ra rb Bx Bx Ay By ra rb Ax Ay By ra rb Ay Ax Bx Ax Bx Ay By ra Ax Bx Ay By ra rb rb 4 By Ax Bx Ax Bx Ay By ra Ax Bx Ay By ra rb rb 4 Ax Bx Ax Bx Ay By
4 Two_circles_intersection.nb solcx. Ax Bx Ay By ^ r^ FullSimplify Cx Ax3 Ax Bx Bx Bx Ay By ra rb Ax Bx Ay By ra rb Sign Ax BxAy By r ra rb r ra rb r ra rb r ra rb, Cx Ax3 Ax Bx Bx Bx Ay By ra rb Ax Bx Ay By ra rb Sign Ax Bx Ay By r ra rb r ra rb r ra rb r ra rb Another alternative solution, this time solves all cases correctly without manual analysis solc3 Reduceeq, eq, Cx, Cy 0 &&
Two_circles_intersection.nb 5 0 && Ay By && Ax Bx && Cy By Bx Bx Cx Cx Cy By Bx Bx Cx Cx rb 0 && ra 0 && Ax Bx Ay Ay By By Ax Bx Ay Ay By By && Ay By 0 && Cy Ax Bx Bx Ay By By Ax Cx Bx Cx Ay By Ax Bx Ay Ay By By Ax Bx Ay Ay By By && Ax Bx ra rb 0 && Cx 4 Ax Bx ra 4 Bx ra ra 4 4 Ay rb 4 Ax Bx rb 4 Bx rb 8 Ay By rb 4 By rb ra rb rb 4 4 Ax Bx ra rb && Ay By 0 && Cy Ax Bx Bx Ay By By Ax Cx Bx Cx ra rb Ay By ra rb ra rb && Ay By && Ax Bx && Cy By Bx Bx Cx Cx rb Cy By Bx Bx Cx Cx rb && rb 0 solc3. condr FullSimplify
6 Two_circles_intersection.nb Ay By && Ax Bx && Cx Ax Bx ra rb && Ax Bx Cy Bx Cx rb By By Bx Cx rb Cy Ax Bx Cx Ax Bx ra rb ra rb Ay By Ax Bx Ay By ra Ax Bx Ay By ra rb rb 4 Ax Bx Ay By Ax Bx Ay By Ax Bx Ay By ra Ax Bx Ay By ra rb rb 4 Ax Bx ra rb ra rb Ax Bx Ay By Cx Ax Bx Ay By Ay By && Cy Ax Ay Bx By Ax Cx Bx Cx ra rb ra 0 && Ay By && Ax Bx && Ay By && rb 0 && Bx Cx Cy By By Bx Cx Cy ra rb 0 ra rb && Ay By && Ax Bx && Cy Bx Cx rb By By Bx Cx rb Cy && rb 0 It is given to the reader to analyze all cases, what they mean geometrically. Resulting human readable formula The above results could be after manual analysis rewritten as a sum of two parts. One key used is that we do not care, which solution is the first one and which is the second one until both of them are correct. This allows to ignore the signature of (Ax-Bx) or (Ay- By) and simplify the formulas. Coordinates of the point on the intersection of lines AB and C C point P CxHumanPart Ax Bx r^ Ax Bx rb^ ra^ r^ CyHumanPart Ay By r^ Ay By rb^ ra^ r^ Ax Bx r Ax Bx ra rb Ay By r Ay By ra rb
Two_circles_intersection.nb 7 Vector PC CxHumanPart Ay By Sqrt 4 ra^ rb^ r^ ra^ rb^ ^ r^ CyHumanPart Ax Bx Sqrt 4 ra^ rb^ r^ ra^ rb^ ^ r^ Ay By 4 ra rb r ra rb Ax Bx 4 ra rb r ra rb Combining it into a result CxHuman CxHumanPart CxHumanPart TraditionalForm CxHuman CxHumanPart CxHumanPart TraditionalForm CyHuman CyHumanPart CyHumanPart TraditionalForm CyHuman CyHumanPart CyHumanPart TraditionalForm r Ax Bx Ax Bx rb ra Ay By 4 ra rb r ra rb r Ax Bx Ax Bx rb ra Ay By 4 ra rb r ra rb Ax Bx 4 ra rb r ra rb r Ay By Ay By rb ra r Ay By Ay By rb ra Ax Bx 4 ra rb r ra rb Verification eq, eq. Cx CxHuman, Cy CyHuman FullSimplify. condr True, True