//距离交会
double dis_int()
{
double bc_cal(double x1, double y1, double x2, double y2);
double xa, ya, xb, yb;
double r1, r2;
double xp, yp;
cout << "请输入A、B点坐标" << endl;
cin >> xa >> ya >> xb >> yb;
cout << "请输入r1、r2长度" << endl;
cin >> r1 >> r2;
double u, v, cosA, l, rab;
int p;
cout << "P在AB左侧输入1,在AB右侧输入-1" << endl;
cin >> p;
l = sqrt((xb - xa) * (xb - xa) + (yb - ya) * (yb - ya));
cout << "l=" << l << endl;
cosA = (l * l + r1 * r1 - r2 * r2) / (2 * r1 * l);
cout << "cosA=" << setiosflags(ios::fixed) << setprecision(3) << cosA << endl;
u = r1 * cosA;
v = sqrt(r1 * r1 - u * u);
cout << "rab=";
rab = bc_cal(xa, ya, xb, yb);
xp = xa + u * cos(rab) + p * v * sin(rab);
yp = ya + u * sin(rab) - p * v * cos(rab);
cout << "P点坐标为" << xp << "," << yp << endl;
return 0;
}
练习3距离交会
最新推荐文章于 2024-07-04 17:03:05 发布