众所周知,地球是3D空间中的无限平面,太阳只是在各个方向均匀发光的微小球,为简单起见,它表示为3D空间中的单个点。有一天,死星来了。死亡之星是半径为 RRR 的球体。由于它确实很大,所以地球上的某些区域被阴影覆盖。给定地球,死亡之星和太阳的初始位置,您的任务是计算阴影的面积。
在第一行中,给出一个整数 Z≤104Z \le 10^4Z≤104 ,表示在以下各行中描述的测试用例的数量。 每个测试用例的第一行包含三个整数 Xs,Ys,ZsX_s,Y_s,Z_sXs,Ys,Zs ,表示初始太阳坐标。第二行包含四个整数 Xd,Yd,ZdX_d,Y_d,Z_dXd,Yd,Zd 和 RRR,表示死星中心的位置及其半径。第三行也是最后一行包含四个整数 A,B,CA,B,CA,B,C 和 DDD,这表示地球是一个由点 (x,y,z)(x,y,z)(x,y,z) 组成的平面,因此 Ax+By+Cz+D=0Ax + By + Cz + D = 0Ax+By+Cz+D=0。死亡之星和太阳是不相交的(它们没有共同点),并且答案大于000且不是无穷大。
对于每个测试用例,标准输出的第一行和唯一行应包含一个实数,这意味着 死亡之星在地球上投射的阴影区域。如果您的相对或绝对误差不超过 10−610^{-6}10−6,则可以通过此题。
2 0 0 0 0 0 5 3 0 0 5 -50 0 0 0 6 8 0 6 6 8 0 -180
176.714586764 572.555261117
1 3 1 2 5 -1 4 2 2 -1 1 -22
77.432452329
Xs,Ys,Zs∈[−104,104]X_s,Y_s,Z_s∈[−10^4,10^4]Xs,Ys,Zs∈[−104,104]
Xd,Yd,Zd∈[−104,104],R∈[1,104]X_d,Y_d,Z_d∈[−10^4,10^4],R∈[1,10^4]Xd,Yd,Zd∈[−104,104],R∈[1,104]
A,B,C,D∈[−104,104]A,B,C,D∈[−10^4,10^4]A,B,C,D∈[−104,104]