MATLAB: Overlapping circles – area

areaoverlapping circles

Are there any user made functions for calculating the total area of circles which may or may not be overlapping? It seems like a pretty common question on here.. hoping to save some time.

Best Answer

https://www.mathworks.com/help/map/ref/circcirc.html can find the points of intersections of two circles as a call. Or you can use Roger's code from https://www.mathworks.com/matlabcentral/answers/196755-fsolve-to-find-circle-intersections#answer_174460 to find the points of intersection.
To find the total area, first figure out if one of the circles is completely inside the other; if it is then the total area is the area of the larger circle. Otherwise, calculate the area of the two circles and add those together. Then find the points of intersection. If there is no intersection, then you are done. Otherwise convert the two points into polar coordinates relative to the center of one of the circles, and find the difference in angles, and use the "area = 1/2 * r^2 * theta" formula to calculate the area of the sector. That is the area counted twice, so subtract it off from the total.
Related Question