空間中兩球的體積並(積分)

2022-05-27 18:30:17 字數 935 閱讀 2712

某天lililalala正在玩一種奇妙的吃雞遊戲--因為在這個遊戲裡會同時有兩個圓形安全區(他們可能相交)。

lililalala覺得求圓的面積並太簡單了,所以想把這個問題公升級一下。

現在在三維空間裡有 2 個球形安全區,分別用四元組  和 表示,其中  r1、r2 r1、r2表示球半徑, (x1,y1,z1) (x1,y1,z1)和 (x2,y2,z2) (x2,y2,z2)表示球心

lililalala想知道安全區的總體積是多少?即求這兩個球的體積並。

輸入有兩行。

第一行四個實數 x1,y1,z1,r1 x1,y1,z1,r1--第乙個球的球心座標和半徑。

第二行四個實數 x2,y2,z2,r2 x2,y2,z2,r2--第二個球的球心座標和半徑。

保證所有輸入的座標和半徑的範圍都在 [−100,100] [−100,100] 內。

輸出一行乙個實數--表示兩個球的體積並,你的答案被認為正確,當且僅當絕對誤差不超過 10−6 10−6。
示例1

複製

0 0 0 1

2 0 0 1

複製

8.3775804
示例2

複製

0 0 0 1

0 0 0 0.5

複製

4.1887902

#include using namespace std;

const double pi = acos(-1);

struct ball

double dist(ball a)

double v()

}a,b;

double solve()^\pi (r^-(rcos\alpha +x)^)dx" class="has" src=""/>

求兩個球的體積並

兩個球和兩個圓一樣,有三種情況。相交,分離 包括兩種情況 對於分離的兩種情況,好計算。但是對於相交的情況,不好計算。需要計算球冠的大小。就是這樣。昨天晚上牛客上有乙個關於這樣的題 如下 includeusing namespace std const double pi acos 1.0 doubl...

球的體積並(計算幾何 球缺)

時間限制 c c 1秒,其他語言2秒 空間限制 c c 32768k,其他語言65536k special judge,64bit io format lld 某天lililalala正在玩一種奇妙的吃雞遊戲 因為在這個遊戲裡會同時有兩個圓形安全區 他們可能相交 lililalala覺得求圓的面積並...

球的體積交和並

某天lililalala正在玩一種奇妙的吃雞遊戲 因為在這個遊戲裡會同時有兩個圓形安全區 他們可能相交 lililalala覺得求圓的面積並太簡單了,所以想把這個問題公升級一下。現在在三維空間裡有 2 個球形安全區,分別用四元組 和 表示,其中 r1 r2表示球半徑,x1,y1,z1 和 x2,y2...