编程求两个圆相交部分面积编程:知道两个圆的半径和圆心(两个圆大小不一样),求两个圆的相交部分的面积,说一下编程思路,

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/23 13:11:27
编程求两个圆相交部分面积编程:知道两个圆的半径和圆心(两个圆大小不一样),求两个圆的相交部分的面积,说一下编程思路,编程求两个圆相交部分面积编程:知道两个圆的半径和圆心(两个圆大小不一样),求两个圆的

编程求两个圆相交部分面积编程:知道两个圆的半径和圆心(两个圆大小不一样),求两个圆的相交部分的面积,说一下编程思路,
编程求两个圆相交部分面积
编程:知道两个圆的半径和圆心(两个圆大小不一样),求两个圆的相交部分的面积,说一下编程思路,

编程求两个圆相交部分面积编程:知道两个圆的半径和圆心(两个圆大小不一样),求两个圆的相交部分的面积,说一下编程思路,
boolean isIntersecting(Circle c){
return Math.sqrt((_x-c._x)*(_x-c._x)+(_y-c._y)*(_y-c._y))_r+c._r){
return 0;
}
alpha=Math.acos((d*d+_r*_r-c._r*c._r)/(2*d*_r));//余弦定理取得相交弧所对本圆的圆心角
area=alpha*_r*_r;//本圆扇形面积
alpha=Math.acos((d*d+c._r*c._r-_r*_r)/(2*d*c._r));//余弦定理取得相交弧所对另一圆的圆心角
area+=alpha*c._r*c._r;//另一圆的扇形面积
double s=(d+_r+c._r)/2;//海伦公式之s
area-=Math.sqrt(s*(s-d)*(s-_r)*(s-c._r))*2;//两扇形面积减去两三角形面积即为交集
return area;
}