几何问题,一晚上没看懂什么意思。。。
需要用到点到直线的计算公式,d=|(Ax0+By0+C)/sqrt(A*A+B*B)| 直线Ax+By+C=0 点P (x0,y0)
不是很会用那个画图工具,TUT然后截屏了。。。。。。TUTTUT
代码 :
#include<bits/stdc++.h>
using namespace std;
int main()
{
double a,b,c,x,y,r;
scanf("%lf%lf%lf%lf%lf%lf",&a,&b,&c,&x,&y,&r);
if(r>b-a)
{
printf("-1\n");
return 0;
}
double yw=c-r;
double y1=a+r;
double y2=b;
y=2*yw-y;
double k=(y-y1)/x;
double ans=(yw-y1)/k;
double dis=(y2-y1)/sqrt(k*k+1);
if(dis<r) printf("-1\n");
else printf("%.10f\n",ans);
return 0;
}