Google Answers Logo
View Question
 
Q: Finding the area of intersection between three overlapping circles ( No Answer,   8 Comments )
Question  
Subject: Finding the area of intersection between three overlapping circles
Category: Science > Math
Asked by: twopair-ga
List Price: $5.50
Posted: 24 Feb 2005 14:17 PST
Expires: 26 Mar 2005 14:17 PST
Question ID: 480288
What is the easiest way to find the area of intersection between three
circles. I have mathematica and matlab to do the computation. Must be
able to take three arbitrary circle ie defined by center x,y and
radius r.

So far I found out that after finding the union of the three circles,
finding the intersection is trivial. I also found the interesection of
two circles at http://mathworld.wolfram.com/Circle-CircleIntersection.html
. Analytical solution is not necessary, a shading or integral solution
is fine. Just needs to be fairly accurate. Thanks!
Answer  
There is no answer at this time.

Comments  
Subject: Re: Finding the area of intersection between three overlapping circles
From: xarqi-ga on 24 Feb 2005 15:49 PST
 
Here are three silly ways of doing it:
1) Draw a picture, cut out the intersection and weigh it (you may need
very sensitive scales).  Then divide by the "weight" of the paper to
obtain the area.
2) Do the same thing in Photoshop.  Draw the image, fill the
intersection and select it, then use the histogram tool to tell you
the number of pixels selected.
3) Monte Carlo!  Write a program to throw virtual darts at your
diagram.  Determine if a dart lands inside every circle (that is, in
the intersection).  The area is approximated by the ratio of hits to
diagram size.

I've found another request for an algebreic solution to this, but so
far, not the solution.
Subject: Re: Finding the area of intersection between three overlapping circles
From: xarqi-ga on 24 Feb 2005 16:38 PST
 
Nope - nothing anywhere I can find.  Weird.  I would have thought
there qwould be a ready solution.

Here's the line I'm pursuing now:
Assuming the triple intersection exists (there may be special cases to consider):
It should be possible to determine the vertices of the triangle that
delineates the triple intersection by solving each pair of circle
equations simultaneously.  This will actually yield 6 points, and one
of each pair must be eliminated by virtue of being outside the circle
not involved in the calculation.
Armed with that, it should be simple enough to calculate the area of
the triangle defined by these three points.  This would be a minimum
for the the intersection area.
In fact, each edge of the triangle will bulge.  The area of the bulge
should is the area of a (ummm is it a secant?) of the circle which has
both end point of the edge on its perimeter (giving us its radius),
and chord length equal to the edge length.

Do that for each edge, add in the triangle area and I think that's it.

It's a first step anyway.
Subject: Re: Finding the area of intersection between three overlapping circles
From: timogose-ga on 25 Feb 2005 05:59 PST
 
Having determined the three desired points of intersection as
described in xarqi-ga's second comment, an integral solution follows.

Let the three circles be A, B & C (assuming a sketch with A top left,
B top right and C bottom middle), the points of intersection are
(Xbc,Ybc), (Xab,Yab) and (Aac,Yac) respectively.
The desired overlapping area equals Area1 + Area2 
where
Area1 = Integral (Yc-Yb)dx from Xbc to Xab
Area2 = Integral (Yc-Ya)dx from Xab to Xac
and Yi is the equation of circle i obtained by solving the general
equation (x-xio)^2 + (y-yio)^2 = ri^2 (with center at point o and
radius ri)

NB: The 'secant' assumption in the previous comment is just an
approximation that would be valid if the circles are of same radii and
spacing.
Subject: Re: Finding the area of intersection between three overlapping circles
From: twopair-ga on 25 Feb 2005 08:59 PST
 
A monte carlo solution would work, i am not sure how to write this? 

I am able to find the 6 interesections between the 3 circles using
mathematica. However, the three point solution is only one way three
circles can overlap. I also found that their intersection can form a
shape defined by four points. For example, {{-1, 0}, 2}, {{1, 0}, 2},
{{0, 0}, 1.5} where a circle is defined by
{{center_x,center_y},radius}. But i guess if there are only two types
of intersections, one with three points and one with four points, I
can determine which type of interesection then find the area of the
shape, I should be set. This might not be too bad, I'll fool with it
later today.  I was hoping there was a shading or area function in
matlab or mathematica to find the area enclosed by some lines.

Here is an idea i have for determinine if the region of intersection
is 3 sided or 4 sided (with curved sides). First make sure that all
circles intersect each other at two points. Find the average center of
all the circles. Find the three closest interesections to the average
center. If the intersections are all unique (ie 1 with 2 , 2 with 3,
and 1 with 3) the region of interesection is triangular. If two
intersections are the same (1 with 3, 1 with 3, 2 with 3), the region
is defined by four points. I was hoping not to have to get into all
this, but looks like there is no way around it. (I'll pay you to find
a way around it for me =)
Subject: Re: Finding the area of intersection between three overlapping circles
From: timogose-ga on 25 Feb 2005 11:16 PST
 
The analytic (integral) solution for the four point-intersection when circle C 
intercects both circles A & B twice (lower and upper cuts
respectively) is given by A = ?(Rc)^2 - (A1 + A2)
[i.e. area of central circle less area it makes with arcs of intersection]

where 
Area1 = Integral (Xb-Xc)dy from Ybc_lower to Ybc_upper
Area2 = Integral (Xc-Xa)dy from Yac_lower to Yac_upper
and Xi is the equation of circle i obtained by solving the general
equation (x-xio)^2 + (y-yio)^2 = Ri^2 (with center at point o and
radius Ri). You should be able to do this easily with MatLab, etc.
Subject: Re: Finding the area of intersection between three overlapping circles
From: mathtalk-ga on 25 Feb 2005 12:23 PST
 
If any two circles have no points of intersection or exactly one point
of tangency, then those two circles either have disjoint interiors or
one of them contains the other.  Either way the problem would then
reduce to an empty intersection or the intersection of two circles.

So assume each pair of circles intersects in exactly two points.

To summarize the logic of "cases", the overlap common to three circles
(if not empty) may have two, three, or four "corners" formed by the
intersections of two or more circles.  These cases may be
characterized by checking how many of the two points of intersection
between each pair of circles lie outside the third circle.

regards, mathtalk-ga
Subject: Re: Finding the area of intersection between three overlapping circles
From: twopair-ga on 25 Feb 2005 13:44 PST
 
So I don't really need to compute this anymore. I gave some
preliminary results and my boss says he wants to do some vector
analysis instead of with points. But the problem is still interesting
so I'll leave the question open and hopefully I'll come up with a
solution in my spare time and post the code. Thanks for the info
xarqi, timogose, and mathtalk.
Subject: Re: Finding the area of intersection between three overlapping circles
From: karunalai-ga on 02 Mar 2005 15:54 PST
 
Hello twopair,

I hope the answer for your question can be given in matlab.

Please download the zip file at the end of the web page instead on the
top of the web page given below.

http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=5313&objectType=file#

after this, run the program "ci_example.m" file.

you will see the figure window with lot of options at the right side.

Then try using the buttons "insert" , "remove" and read the instructions.

you can specify any number of circles and find the area of the region
between two or more overlapping circles.

Please let me know if you got the right answer.

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy