calculate the area of three circles overlapping

5 次查看(过去 30 天)
I have 3 circles. We know the center coordinates of each circle and also their radii.
For example:
circle 1: radius=r1 , center coordinate=(x1,y1)
circle 2: radius=r2 , center coordinate=(x2,y2)
circle 3: radius=r3 , center coordinate=(x3,y3)
I want to calculate the overlapping area of these three circles. I mean just the area which all these three circles have in common
thanks

回答(1 个)

Image Analyst
Image Analyst 2013-9-12
I suggest you start with this answer by Roger: http://www.mathworks.com/matlabcentral/answers/86975#answer_96518
  5 个评论
Image Analyst
Image Analyst 2018-2-23
Create a digital image with the faq http://matlab.wikia.com/wiki/FAQ#How_do_I_create_a_circle.3F. Then sum the circle binary image into a cumulative one as you draw each circle.
sumImage = zeros(rows, columns);
for k = 1 : numCircles
thisOneCircle = .... use FAQ to create image of one circle.
sumImage = sumImage + thisOneCircle;
end
Then use sum to count the number of pixels where the count is more than 2
overlappedPixels = sumImage >= 2;
numOverlapPixels = sum(overlappedPixels (:));

请先登录,再进行评论。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by