MATLAB绘制三个圆,阴影标记重叠部分,计算重叠部分的面积。
给定两个坐标点(1,0)、(1,2),即两圆心已知。给出半径值a、b,取左边即横坐标较小的交点。
a=input('输入a:');
b=input('输入b:');
syms x y
[x1,y1]=solve((x-1)^2+(y-2)^2==a,(x-1)^2+y^2==b);
sx=min(double(x1))
sy=min(double(y1))
给定两个坐标点(100,0)、(100,50),即两圆心已知。给出半径值a、b,以及另一圆心(m,n)此圆的半径为2(即最大误差)。三个圆的重叠部分标记为阴影。
三圆一定两两相交,即m一定小于左边交点或者大于右边交点,且假设交点为(x1,y1)(x2,y2) 则0<x1-m<2或者0<m-x2<2
则如何标记三个圆的重叠部分?
若仅有两圆,MATLAB可画圆并得出这个圆包括的所有点(无限个)。选出A圆中纵坐标小于B圆纵坐标最大值,且横坐标在两交点之间的点(大于x1小于x2)。以及B圆中纵坐标大于A圆纵坐标最小值,且横坐标在两交点之间的点。则为两圆的重叠部分。