数学题-计算相交圆的公共部分面积
2016-11-26 21:15
549 查看
参考学长的模板;
数学能力差就要看公式模板;数学知识不懂画图推一下就出来了。高三同学做这种题应该特别厉害。
数学能力差就要看公式模板;数学知识不懂画图推一下就出来了。高三同学做这种题应该特别厉害。
const double pi=acos(-1); const double eps=0.00001; double abss(double a,double b) //两数作差绝对值 { return a-b>=0?(a-b):(b-a); } struct circle { double x,y,r; } a,b; double get_dis(double x1,double y1,double x2,double y2) // 两点距离 { return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); } double get_area(circle c1,circle c2) { double dis=get_dis(c1.x,c1.y,c2.x,c2.y); if(dis>=c1.r+c2.r) //相离 为 0; return 0; double min_r=c1.r<c2.r?c1.r:c2.r; double max_r=c1.r>c2.r?c1.r:c2.r; if(min_r+dis<=max_r) //内涵 为 小圆; return pi*min_r*min_r; double x=2*acos((c1.r*c1.r+dis*dis-c2.r*c2.r)/(2*c1.r*dis)); //求圆心角 double y=2*acos((c2.r*c2.r+dis*dis-c1.r*c1.r)/(2*c2.r*dis)); //求圆心角 double area1=x*c1.r*c1.r/2-c1.r*c1.r*sin(x)/2; //扇形面积 减去 三角形面积 double area2=y*c2.r*c2.r/2-c2.r*c2.r*sin(y)/2; //扇形面积 减去 三角形面积 return area1+area2; }
相关文章推荐
- 数学题-计算相交圆的公共部分面积
- 如何计算平面n个圆相交的公共部分的面积
- 如何计算平面n个圆相交的公共部分的面积
- 如何计算平面n个圆相交的公共部分的面积
- 公布计算任意多边形相交部分的面积的方法
- 【数学】求两个圆的相交部分的面积
- 计算两个圆相交部分的面积
- hdoj Intersection 5120 (数学计算几何) 求两个相交圆的面积
- 【C#/算法】任意圆形和三角形相交部分面积的计算方法
- HDU 3264 Open-air shopping malls(两圆相交公共部分面积 二分答案)
- hdoj.2892 area【计算几何+圆与多边形相交面积】 2015/08/17
- Educational Codeforces Round 2D. Area of Two Circles' Intersection(计算几何+圆相交的面积)
- 计算几何 ( 求两圆相交面积 )——Open-air shopping malls ( HDU 3264 )
- hdu 3264 09 宁波 现场 E - Open-air shopping malls 计算几何 二分 圆相交面积 难度:1
- 计算两个字符串的最长公共子串,找两个字符串的公共部分,如何在两个字符串中找出相同的字符串
- 任意方位矩形相交面积计算(一次优化版800us->400us)
- NBUT 1640多边形的公共部分+多边形面积交
- 计算几何专题(计算两圆相交面积)
- 椭圆部分面积计算公式及微积分推导过程
- NBUT 1640多边形的公共部分+多边形面积交