Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<h2><a href="http://paulbourke.net/geometry/circlesphere/" rel="noreferrer">Intersection of two circles</a></h2> <p>Written by Paul Bourke</p> <blockquote> <p>The following note describes how to find the intersection point(s) between two circles on a plane, the following notation is used. The aim is to find the two points P<sub>3</sub> = (x<sub>3</sub>, y<sub>3</sub>) if they exist. </p></p> <p><img src="https://i.stack.imgur.com/aUXMY.gif" alt="Intersection of 2 circles"></p> <p> First calculate the distance d between the center of the circles. d = ||P<sub>1</sub> - P<sub>0</sub>||. </p> <ul> <li>If d > r<sub>0</sub> + r<sub>1</sub> then there are no solutions, the circles are separate. <p> <li>If d &lt; |r<sub>0</sub> - r<sub>1</sub>| then there are no solutions because one circle is contained within the other.<p> <li>If d = 0 and r<sub>0</sub> = r<sub>1</sub> then the circles are coincident and there are an infinite number of solutions.<p> </ul></p> <p>Considering the two triangles P<sub>0</sub>P<sub>2</sub>P<sub>3</sub> and P<sub>1</sub>P<sub>2</sub>P<sub>3</sub> we can write <p> a<sup>2</sup> + h<sup>2</sup> = r<sub>0</sub><sup>2</sup> and b<sup>2</sup> + h<sup>2</sup> = r<sub>1</sub><sup>2</sup> <p> Using d = a + b we can solve for a,<p> a = (r<sub>0</sub><sup>2</sup> - r<sub>1</sub><sup>2</sup> + d<sup>2</sup> ) / (2 d) <p> <p></p> It can be readily shown that this reduces to r<sub>0</sub> when the two circles touch at one point, ie: d = r<sub>0</sub> + r<sub>1</sub> </p> Solve for h by substituting a into the first equation, h<sup>2</sup> = r<sub>0</sub><sup>2</sup> - a<sup>2</sup> </p> <p>So <p> P<sub>2</sub> = P<sub>0</sub> + a ( P<sub>1</sub> - P<sub>0</sub> ) / d <p> And finally, P<sub>3</sub> = (x<sub>3</sub>,y<sub>3</sub>) in terms of P<sub>0</sub> = (x<sub>0</sub>,y<sub>0</sub>), P<sub>1</sub> = (x<sub>1</sub>,y<sub>1</sub>) and P<sub>2</sub> = (x<sub>2</sub>,y<sub>2</sub>), is <p> x<sub>3</sub> = x<sub>2</sub> +- h ( y<sub>1</sub> - y<sub>0</sub> ) / d <p> y<sub>3</sub> = y<sub>2</sub> -+ h ( x<sub>1</sub> - x<sub>0</sub> ) / d</p> </blockquote> <p>Source: <a href="http://paulbourke.net/geometry/circlesphere/" rel="noreferrer">http://paulbourke.net/geometry/circlesphere/</a></p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload