求两圆相交的面积
输入两圆的圆心和半径,输出两圆相交的面积。
输入
第一行为 x1,y1,r1 表示第一个圆的圆心坐标和半径。
第二行为 x2,y2,r2 表示第二个圆的圆心坐标和半径。
输出
一个数,表示两圆相交的面积。
(1) 思路
画个图就能看出来相交面积就是两个扇形面积减去四边形面积。
求出两圆心的距离,然后判断相离,包含,还是覆盖,然后覆盖的话
首先用余弦公式求出两扇形的圆心角度 $\cos A = (b^2+c^2-a^2)/2bc$,然后算出扇形面积。
然后使用海伦公式通过三角形,相减得到相交面积。
这里注意反三角函数返回的是弧度制。 1度=π/180≈0.01745弧度,1弧度=180/π≈57.3度。
(2) 代码
1 |
|