计算几何 求相交圆面积(余弦定理)
来源:互联网 发布:我知我师我爱我师ppt 编辑:程序博客网 时间:2024/05/01 02:48
求任意两圆相交的面积
注意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; }
0 0
- 计算几何 求相交圆面积(余弦定理)
- HDU 1798 Tell me the area(计算几何,求相交圆面积)
- hdoj Intersection 5120 (数学计算几何) 求两个相交圆的面积
- 计算几何专题(计算两圆相交面积)
- 计算几何:两圆相交面积
- Pick定理(很牛的定理)-求面积公式-计算几何
- 求多边形面积(计算几何)
- Tell me the area(计算几何--求两圆相交面积)
- 求相交圆面积
- HDU 3264 Open-air shopping malls (计算几何-圆相交面积)
- POJ 2546 Circular Area(计算几何 两圆相交面积)
- 几何 两元相交的面积计算问题 HDU 5120 Intersection(几何模板)
- POJ 1039-Pipe(计算几何-线段相交、求交点)
- 计算几何 点线的综合题, 精度+ 线段相交+ 求交点 + 求面积 poj 2826 An Easy Problem?! (推荐)
- 两圆相交求相交面积
- POJ 2546 Circular Area【计算几何,计算两圆相交面积】
- 两圆相交求面积
- 两圆相交求面积
- HDU4720-Naive and Silly Muggles(求三角形外心)
- HDU ACM Steps 1.2.1 hide handkerchief
- MTK lcm 背光流程
- 写在开始
- 在Ubuntu 16.04下安装Matlab 2017a
- 计算几何 求相交圆面积(余弦定理)
- EventBus进阶
- STL算法--函数对象
- 11059
- Math类的使用
- Linux Redis的安装
- [2017-4-7]开始写blog
- MODIS数据下载
- 文章标题