边长是L的正方形,然后两个半径为L的圆弧和中间直径为L的圆相交。求阴影部分面积。
以中间圆心为原点,对角线为xy轴建立直角坐标系。
然后可以联立方程解出交点。
交点是$(\frac{\sqrt{7} L}{4\sqrt{2}},\frac{L}{4\sqrt{2}})$。
然后用余弦定理求角度、就可以求扇形面积。
下图灰色部分面积=半圆-扇形S*2-(大扇形B-三角形T)*2。
S=(绿色+橙色)的一半,B=(绿色+粉色+浅黄色)的一半,T=(粉色+绿色)的一半
#include <cstdio>
#include <cmath>
#define dd double
#define sf(a) scanf("%d",&a)
#define sqr(x) ((x)*(x))
const dd pi=acos(-1.0);
using namespace std;
int main() {
int t;
sf(t);
while(t--){
int l;
sf(l);
dd h=l/sqrt(),b=l/2.0,l2=sqr(l);
dd y=h/4.0,x=y*sqrt();
dd b2=sqr(b),a2=b2,c2=sqr(x-b)+sqr(y);
dd jd=acos((a2+b2-c2)/sqrt(a2)/b/2.0);
dd s1=jd*b2;
dd jd2=acos((l2+sqr(h)-a2)/l/h/2.0);
dd s2=jd2*l2/;
dd s3=h*x/2.0;
dd ss=(s2-s3)*2.0;
dd by=pi*b2/2.0;
printf("%.2f\n",(by-ss-s1)*);
}
}