# How can I find the points at which two circles intersect?

Given the radius and $x,y$ coordinates of the center point of two circles how can I calculate their points of intersection if they have any?

• Do you have two circles in mind? This will likely be easier with an example. Dec 11 '12 at 7:06
• for any two circles Dec 11 '12 at 7:10
• I've just been working on this idea myself... Nov 27 '18 at 22:58

This can be done without any trigonometry at all. Let the equations of the circles be $$(x-x_1)^2 + (y-y_1)^2 = r_1^2, \tag{1}$$ $$(x-x_2)^2 + (y-y_2)^2 = r_2^2. \tag{2}$$ By subtracting $(2)$ from $(1)$ and then expanding, we in fact obtain a linear equation for $x$ and $y$; after a little rearranging it becomes $$-2x(x_1 - x_2) - 2y(y_1 - y_2) = (r_1^2 - r_2^2) - (x_1^2 - x_2^2) - (y_1^2 - y_2^2).$$ (If the circles intersect, this is the equation of the line that passes through the intersection points.) This equation can be solved for one of $x$ or $y$; let's suppose $y_1 - y_2 \ne 0$ so that we can solve for $y$: $$y = -\frac{x_1 - x_2}{y_1 - y_2} x + \dotsc. \tag{3}$$ Substituting this expression for $y$ into $(1)$ or $(2)$ gives a quadratic equation in only $x$. Then the $x$-coordinates of the intersection points are the solutions to this; the $y$-coordinates can be obtained by plugging the $x$-coordinates into $(3)$.

• When you say by subtracting the two equations? Do you mean from each other? Apr 6 '16 at 16:11

Easy solution is to consider another plane such that the centers are along an axis.

Given the points $$(x_1,y_1)$$ and $$(x_2,y_2)$$. We focus on the center point of both circles given by $$\left( \frac{x_1+x_2}{2}, \frac{y_1+y_2}{2} \right).$$

The distance between the centers of the circles is given by $$R = \sqrt{ (x_2-x_1)^2 + (y_2-y_1)^2}.$$

We can consider the following orthogonal vectors $$\vec{a} = \left( \frac{x_2-x_1}{R}, \frac{y_2-y_1}{R} \right), \vec{b} = \left( \frac{y_2-y_1}{R}, - \frac{x_2-x_1}{R} \right).$$ In the $$(\vec{a},\vec{b})$$ plane we get the equations $$\big( a + R / 2 \big)^2 + b^2 = r_1^2,\\ \big( a - R / 2 \big)^2 + b^2 = r_2^2.$$

Whence $$a = \frac{r_1^2 - r_2^2}{2R},\\ b = \pm \sqrt{ \frac{r_1^2+r_2^2}{2} - \frac{(r_1^2-r_2^2)^2}{4R^2} - \frac{R^2}{4}}.$$ The intersection points are given by $$(x,y) = \frac{1}{2} \big( x_1+x_2, y_1+y_2 \big) + \frac{r_1^2 - r_2^2}{2R^2} \big( x_2-x_1, y_2-y_1 \big)\\ \pm \frac{1}{2} \sqrt{ 2 \frac{r_1^2+r_2^2}{R^2} - \frac{(r_1^2-r_2^2)^2}{R^4} - 1} \big( y_2-y_1, x_1-x_2 \big),$$ where $$R$$ is the distance between the centers of the circles.

• A new user has some questions about this, can't comment here. Can you help him please? math.stackexchange.com/questions/1899322/… Aug 21 '16 at 20:12
• It would be helpful to include a geogebra sketch of this solution. I have trouble visualizing it also. Aug 21 '16 at 21:20
• Wrote some JS code that implements this. Should be easy to port to other languages: gist.github.com/jupdike/bfe5eb23d1c395d8a0a1a4ddd94882ac Jan 12 '17 at 21:10
• in the scenario where two circles overlap , do you express this R=0 condition? Oct 5 '19 at 21:50
• There is only one plane in $\mathbb{R^2}$, and this is $\mathbb{R^2}$. What you do is the change of the coordinate plane or coordinate system. $(\vec{a},\vec{b})$ do not define a coordinate plane you additionally need an origin which should be $\left( \frac{x_1+x_2}{2}, \frac{y_1+y_2}{2} \right)$, I think. You do not explain what a and b is, and why they satisfy these equations. To deduce the final equation one dos not need a complicate concept like transformation of coordinate systems, that is simple analytic geometry, For me this answer needs a lot of improvements Jun 16 at 2:31

A nice way to look at this is to first consider the case when one point is at the origin and the other lies on the x-axis. Let the points be at $(0,0)$, $(d,0)$ and the radii be $r_1$, $r_2$. The two equations simplify to $$x^2+y^2=r_1^2$$ and $$(x-d)^2+y^2=r_2^2$$ Use the first to find $y^2$ and substitute in the second. $$(x-d)^2+r_1^2-x^2=r_2^2$$ expand and simplify $$-2xd+d^2+r_1^2=r_2^2$$ so $$x=\frac{r_1^2-r_2^2+d^2}{2d}$$ and from Pythagorus $$y=\sqrt{r_1^2-x^2}.$$ This part came from mathworld.

For the general position case with points $(x_1,y_1)$ $(x_2,y_2)$ let \begin{align} d&=\sqrt{(x_1-x_2)^2+(y_1-y_2)^2}\\ l&=\frac{r_1^2-r_2^2+d^2}{2d}\\ h&=\sqrt{r_1^2-l^2} \end{align} Now $\left(\tfrac{x_2-x_1}{d},\tfrac{y_2-y_1}{d}\right)$ $\left(\tfrac{y_2-y_1}{d},-\tfrac{x_2-x_1}{d}\right)$ are two orthogonal unit vectors and we can rotate and translate to get the general solution \begin{align} x&=\frac{l}{d}(x_2-x_1) \pm \frac{h}{d}(y_2-y_1) + x_1,\\ y&=\frac{l}{d}(y_2-y_1) \mp \frac{h}{d}(x_2-x_1) + y_1.\\ \end{align}

Let $C_1 = (x_1,y_1), C_2 = (x_2,y_2)$ be the centers of the two circles and $r_1,r_2$ be their radii respectively.

Their equations are $$(x-x_1)^2 + (y-y_1)^2 = r_1^2$$ $$(x-x_2)^2 + (y-y_2)^2 = r_2^2$$

They intersect only iff $|r_1-r_2|\leq|C_1-C_2|\leq|r_1+r_2|$, where $|C_1-C_2|$ is the distance between the two centers. If equality holds, the circles touch and there is one solution. For strict inequalities, they intersect and they have two solutions.

Just solve the system of equations. Suppose that $x_0$ is a point on the first circle. Then, its parametric representation is $x_0 = (x_1+r_1\cos\theta,y_1+r_1\sin\theta)$ for some $\theta$. If $x_0$ also lies on the second circle, which will make it a point of intersection, it must also satisfy the equation of the second circle i.e. $$(x_0-x_2)^2 + (y_0-y_2)^2 = r_2^2$$ Substitute the parametric form, and find out the value(s) of $\theta$.

• Thanks. I used this way. A useful formula to find out $\theta$ is $a\cos\theta+b\sin\theta = \sqrt{a^2+b^2}\,\cos\bigl(\theta - \text{atan2}(b,a)\bigr)$. Dec 16 '19 at 17:38

Example 1: Find the points of intersection of the circles given by their equations as follows:

$$(x - 2)^2 + (y - 3)^2 = 9$$

$$(x - 1)^2 + (y + 1)^2 = 16$$

Solution to Example 1:

We first expand the two equations as follows:

$$x^2 - 4x + 4 + y^2 - 6y + 9 = 9$$

$$x^2 - 2x + 1 + y^2 + 2y + 1 = 16$$

Multiply all terms in the first equation by -1 to abtain an equivalent equation and keep the second equation unchanged

$$-x^2 + 4x - 4 - y^2 + 6y - 9 = -9$$

$$x^2 - 2x + 1 + y^2 + 2y + 1 = 16$$

We now add the same sides of the two equations to obtain a linear equation

$$2x - 3 + 8y - 8 = 7$$

Which may written as

$$x + 4y = 9 \textbf{ or } x = 9 - 4y$$

We now substitute $$x$$ by $$9 - 4y$$ in the first equation to obatin

$$(9 - 4y)^2 - 4(9 - 4y) + 4 + y^2 - 6y + 9 = 9$$

Which may be written as

$$17y^2 -62y + 49 = 0$$

Solve the quadratic equation for y to obtain two solutions

$$y = \frac{(31 + 8\sqrt{2})}{17} \approx 2.49$$

and $$y =\frac{31 - 8\sqrt{2}}{17} \approx 1.16$$

We now substitute the values of y already obtained into the equation $$x = 9 - 4y$$ to obtain the values for x as follows

$$x = \frac{29 + 32\sqrt{2}}{ 17} \approx - 0.96$$

and $$x = \frac{29 - 32\sqrt{2})}{17} \approx 4.37$$

The two points of intersection of the two circles are given by

$$(- 0.96 , 2.49)$$ and $$(4.37 , 1.16)$$

After going through most of the answers posted here, I still struggled implementing them. After much searching around I found this page: http://www.ambrsoft.com/TrigoCalc/Circles2/circle2intersection/CircleCircleIntersection.htm

It includes extensive notation on every part of the equation as well as drawings, a calculator and JavaScript implementation. Hope it can help others.

Make equations of circles both start with $$x^2 +y^2,$$ subtract one from the other to get equation of its radical axis which is a straight line. Intersection of this radical axis and one of the circles can be found by plugging in for x or y of one circle into the other.

EDIT1

If the discriminant of this quadratic equation that is the real guide is $$(>0,0,<0)$$ then the intersections are respectively $$(2, 2$$ coinciding points at tangent,2) in number which are the required ( real,real,complex) points.

following the very nice hint of arkeet you can after defining a,b,c,g,h using rc1,zc1,rc2,zc2, as the center point of the circles and R1 and R2 their radii and assuming that rc2!=rc1 (the case where rc2=rc1 can be also done in the manner or arkeet, however the present assumption was useful to me)

g = (zc2 - zc1)/(rc2 - rc1); h = (R1*R1-R2*R2 + zc2*zc2 - zc1*zc1 + rc2*rc2 - rc1*rc1 )/(2*(rc2 - rc1));

a = (g*g+ 1); b = -2*g*h + 2*g*rc1 - 2*zc1; c = h*h -2*h*rc1 + rc1*rc1 + zc1*zc1 - R1*R1;

zplus = (-b +sqrt(b*b-4*a*c)) / (2*a); zminus = (-b -sqrt(b*b-4*a*c)) / (2*a); and rplus = -gzplus+h; rminus = -gzminus+h;

you can test this by verifying that the intersection points do lie on the 2 circles.

• As written this is very hard to read. Please look over this guide to formatting mathematics (it is very Latex like if you are familiar with that): meta.math.stackexchange.com/questions/5020/… The reference has essentially everything you could want. The first few lines or a paragraph or two should be enough to get you running nicely on this site. Jul 20 '15 at 15:56