#include <iostream> #include <math.h> #define PI acos(-1) using namespace std; double x1, x2, r; double y11, y2; double dis; int main() { while(cin >> x1 >> y11 >> x2 >> y2 >> r) { if(x1 == x2 && y11 == y2) { cout << "重合" << endl; } else { double dx = abs(x1 - x2); double dy = abs(y11 - y2); dis = sqrt(dx * dx + dy * dy); if(dis == 2 * r) cout << "相切" << endl; else if(dis < 2 * r) { double a = acos(dis / 2 / r); double s = 2 * (r * r * a - dis / 2 * r * sin(a)); // s扇形 - s三角形 = (1/2 * r^2 * cita - 1/2 * dis/2 * r * sina) * 4 printf("相交 %.2lf\n", s); } else cout << "相离" << endl; } } return 0; } |
Double click to view unformatted code.