完整代码
题解的基准线 beta
double alpha = acos((sqr(B.r)+sqr(dist)-sqr(A.r))/(B.r*dist*2.));
double beta = atan2(B.O.y-A.O.y, A.O.x-B.O.x);
依据tan = y/x ,那么求atan应该要放的是 (A.y-B.y,A.x-B.x)
double alp = acos((pow(down.r,2)+pow(dist,2)-pow(up.r,2))/(2.0*down.r*dist));
double beta = atan2(up.O.y-down.O.y,up.O.x-down.O.x);
但是题解和我的交上去都没问题,很好奇是数据弱了还是交换y那个没有影响【感觉是会有影响的】