|
|
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! |
|
There is no answer at this time. |
|
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. |
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 Home - Answers FAQ - Terms of Service - Privacy Policy |