#NC2501F. 航班追踪 2

航班追踪 2

题目描述

假设地球是一个在三维欧几里得空间中以 (0,0,0)(0,0,0) 为心,半径为 rr 的球体。有一架飞机正沿着地球表面从出发地到目的地的最短路径飞行。

作为一名航空爱好者,你有一个接收器,可以接收到距离不超过 dd 的飞机的信号。请注意,我们通过测量地球表面的最短路径来计算两点之间的距离,这不是三维欧几里得空间中的欧几里得距离。

你需要计算地球表面上可以在飞机飞行时的某个时刻用接收器接收到飞机信号的区域的面积。

输入格式

输入的第一行包含一个整数 T(1T104)T (1 \leq T \leq 10^4),表示测试数据的组数。对于每组测试数据:

第一行包含两个整数 r(1r100)r (1 \leq r \leq 100)d(1d1000)d (1 \leq d \leq 1000),表示地球的半径和接收航班信号的最大距离。

第二行包含三个整数 u,vu,vw(100u,v,w100,u2+v2+w2>0)w (-100 \leq u,v,w \leq 100,u^2 + v^2 + w^2 > 0),表示出发地的坐标为

$$\left( \frac{r u}{\sqrt{u^2 + v^2 + w^2}}, \frac{r v}{\sqrt{u^2 + v^2 + w^2}}, \frac{r w}{\sqrt{u^2 + v^2 + w^2}} \right)$$

第三行包含三个整数 x,yx,yz(100x,y,z100,x2+y2+z2>0)z (-100 \leq x,y,z \leq 100,x^2 + y^2 + z^2 > 0),表示目的地的坐标为

$$\left( \frac{r x}{\sqrt{x^2 + y^2 + z^2}}, \frac{r y}{\sqrt{x^2 + y^2 + z^2}}, \frac{r z}{\sqrt{x^2 + y^2 + z^2}} \right)$$

保证出发地和目的地既不会重合,也不会在地球表面直接相对。因此,从出发地到目的地在地球表面的最短路径是唯一确定的。

输出格式

对于每组测试数据,输出一行包含一个实数,表示地球表面上可以在飞机飞行时的某个时刻用接收器接收到飞机信号的区域的面积。

如果你的答案的绝对误差或相对误差不超过 10410^{-4},则将被视为正确。更正式地,假设你的输出为 aa,标准答案为 bb,当且仅当 abmax(1,b)104\frac{|a - b|}{\max(1, |b|)} \leq 10^{-4} 时,你的输出会被接受。

3
10 10
1 0 0
0 1 0
10 20
1 0 0
0 1 0
10 30
1 0 0
0 1 0
553.192486159509631660
1167.025509055589598928
1256.637061435917295360