How to find the intersection points from a line passing through two concentric circles

229 Views Asked by At

I know that to obtain the intersection points between a line with one circle, we can use $$x^2+y^2=R^2$$ and $$mx+c=y,$$ such that $$x^2(1+m^2)+2mcx+c^2-R^2=0,$$ where the solution of this quadratic equation gives the intersection points, but if I consider two concentric circles with a line intersecting each one of them, how this problem would be defined?

In short, I want to know how to find the points H, I, J, and G in the figure below two concentric annulus intersect by a line

Any tip, or reference I would thank you very lot.

2

There are 2 best solutions below

0
On BEST ANSWER

What you derived is a quadratic equation, the roots of which are the $x-$coordinates of the intersections on the circle having radius $R$. Let the other circle have radius $r$. That leads to this equation in the same form:

$x^2(1+m^2)+2mcx+c^2-r^2 = 0$

If what you want is a single equation with the $x-$coordinates of all intersections, simply use the product, which results in this quartic equation:

$[x^2(1+m^2)+2mcx+c^2-R^2][x^2(1+m^2)+2mcx+c^2-r^2] = 0$

Expand it if you wish. It does not look particularly useful, but there it is.

1
On

The figure provided suggests rotation. Imagine an unrotated horizontal line given by

$$ y = K $$

where $K$ is the distance between the origin and the given line, i.e.

$$K = \dfrac{c}{\sqrt{1 + m^2}} $$

Now the intersections with the two circles are easy to calculate, they are,

$(-\sqrt{R^2 - K^2}, K), (-\sqrt{r^2 - K^2}, K), (\sqrt{r^2 - K^2} , K), (\sqrt{R^2 - K^2} , K ) $

Finally to obtain the intersection points for the original (tilted) line, we just have to rotate everything by the angle $\theta = \tan^{-1} m $

So for any of the above four points $Q$, the actual intersection point $P$ is calculated as follows:

$P = T Q $

where $T$ is the well-known $2 \times 2 $ rotation matrix defined by

$T = \begin{bmatrix} \cos \theta && - \sin \theta \\ \sin \theta && \cos \theta \end{bmatrix}$