计算几何 求相交圆面积(余弦定理)
2017-04-07 21:09
232 查看
求任意两圆相交的面积
注意PI : 最好用公式表示,否则精度可能不够会一直wa
注意PI : 最好用公式表示,否则精度可能不够会一直wa
#include<bits/stdc++.h> using namespace std; #define PI acos(-1) int main() { int T; double x1,x2,y1,y2,r1,r2; double a,b,s1,s2,d,sum; cin >> T; while(T--) { sum = 0; cin >> x1 >> y1 >> r1 >> x2 >> y2 >> r2; d = sqrt( (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2) ); if(r1 + r2 <= d) puts("0.00"); else if(r2 >= r1 && d + r1 <= r2) { printf("%.2lf\n", PI * r1 * r1); } else if(r1 > r2 && d + r2 <= r1) { printf("%.2lf\n", PI * r2 * r2); } else { a = (r1 * r1 + d * d - r2 * r2) / (2.0 * r1 * d); b = acos(a) * 2.0; s1 = r1 * r1 * sin(b) / 2; s2 = b / (2 * PI) * PI * r1 * r1; sum = s2 - s1; a = (r2 * r2 + d * d - r1 * r1) / (2.0 * r2 * d); b = acos(a) * 2.0; s1 = r2 * r2 * sin(b) / 2; s2 = b / (2 * PI) * PI * r2 * r2; sum += s2 - s1; printf("%.2lf\n", sum); } } return 0; }
相关文章推荐
- Educational Codeforces Round 2D. Area of Two Circles' Intersection(计算几何+圆相交的面积)
- hdoj.5120 Intersection【计算几何-两圆相交面积】 2015/08/01
- Tell me the area(计算几何--求两圆相交面积)
- hdu 3264 09 宁波 现场 E - Open-air shopping malls 计算几何 二分 圆相交面积 难度:1
- POJ 2546 Circular Area [相交园面积]【计算几何】
- 计算几何 ( 求两圆相交面积 )——Open-air shopping malls ( HDU 3264 )
- POJ 2546 Circular Area(计算几何 两圆相交面积)
- HDU 3264 Open-air shopping malls [相交圆面积+二分查找]【计算几何】
- hdoj.5130 Signal Interference【计算几何+圆与多边形相交面积】 2015/08/17
- Gym 100952J&&2015 HIAST Collegiate Programming Contest J. Polygons Intersection【计算几何求解两个凸多边形的相交面积板子题】
- HDU 3264 Open-air shopping malls (计算几何-圆相交面积)
- Tell me the area(计算几何--求两圆相交面积)
- hdoj.2892 area【计算几何+圆与多边形相交面积】 2015/08/17
- HDU 3264 Open-air shopping malls (计算几何-圆相交面积)
- POJ 2546 Circular Area【计算几何,计算两圆相交面积】
- 计算几何专题(计算两圆相交面积)
- hdoj Intersection 5120 (数学计算几何) 求两个相交圆的面积
- HDU 5858 Hard problem 2016多校10 1002 [相交圆面积]【计算几何】
- HDU 1798 Tell me the area(计算几何,求相交圆面积)
- hdoj.4404 Worms【计算几何+圆与多边形相交面积】 2015/08/17