Having a circle with the centre $(x_c, y_c)$ with the radius $r$ how to know whether a point $(x_p, y_p)$ is inside the circle?
|
|
The distance between $\langle x_c,y_c\rangle$ and $\langle x_p,y_p\rangle$ is given by the Pythagorean theorem as $$d=\sqrt{(x_p-x_c)^2+(y_p-y_c)^2}\;.$$ The point $\langle x_p,y_p\rangle$ is inside the circle if $d<r$, on the circle if $d=r$, and outside the circle if $d>r$. You can save yourself a little work by comparing $d^2$ with $r^2$ instead: the point is inside the circle if $d^2<r^2$, on the circle if $d^2=r^2$, and outside the circle if $d^2>r^2$. Thus, you want to compare the number $(x_p-x_c)^2+(y_p-y_c)^2$ with $r^2$. |
|||
|
|
|
The point is inside the circle if the distance from it to the center is at most $r$. Symbolically, this is $$\sqrt{|x_p-x_c|^2+|y_p-y_c|^2}< r.$$ |
|||||||||||||
|
|
Alex and Brian have answered your question already. In case you're trying to implement this algorithm in some programming language, here's my Haskell implementation:
Suppose you have a circle whose radius is $r = 1$ and whose center is the origin $(0,0)$. You would like to know if $(\frac{1}{2},0)$, $(1,0)$, and $(1,1)$ are inside the circle. The following interactive GHCi session answers the question:
|
|||
|
|
|
If you have the equation of the circle, simply plug in the x and y from your point (x,y). After working out the problem, check to see whether your added values are greater than, less than, or equal to the r^2 value. If it is greater, then the point lies outside of the circle. If it is less than, the point is inside the circle. If it is equal, the point is on the circle. |
|||
|
|