As the title says, I have 3 Circle.
Each one have different radius. I know the radius of each circles.
Also know the center points of each circle.
Now I need to know how I can calculate the intersecting point of three circles programmatically, is there is any formula or something?
It may look like below image
You could get help from this C code. Porting it to JAVA should not be challenging. Explanation is here. Search for/scroll to: intersection of two circles
Using this method, find the intersection of any two circles.. lets say
(x,y)
. Now the third circle will intersect at pointx,y
only if distance between itscenter
and pointx,y
is equal tor
.case 1)
Ifdistance(center,point) == r
, thenx,y
is the intersection point.case 2)
Ifdistance(center,point) != r
, then no such point exists.Code (ported from [here! all credits to original author):
Call this method as follows:
Also, define
EPSILON
to a small value that is acceptable for your application requirementsNote: Maybe some one should test and verify if the results are correct. I can't find any easy way to do so..works for the basic cases that I have tried
You can use the following condition:
where x and y - coordinates of your point , x0 and y0 - coordinates of the center of the circle , R - radius of the circle , ^ 2 - squaring . If the condition is satisfied, the point is inside (or on the circumference in the case of equality of the left and right parts). If not satisfied, the point is outside the circle .