题目给出两个点的坐标,要求你求出以这两个点连线为对角边的正方形的另外两个点的坐标。
画图找规律就可以了。根据相似三角形用比例求即可。
蛋疼的发现y1好像不能做变量名,我还以为什么错了。。。
代码:
#include <cstdio>
#include <cmath>
using namespace std;
double x1, yl, x2, y2, ax, ay, bx, by;
int main() {
while (scanf("%lf%lf%lf%lf", &x1, &yl, &x2, &y2) != EOF) {
if (abs (x1 - x2) < 1e-9 && abs (yl - y2) < 1e-9) {
printf("Impossible.\n");
continue;
}
ax = (x1 + x2 + yl - y2) / 2;
ay = (yl + y2 + x2 - x1) / 2;
bx = (x1 + x2 + y2 - yl) / 2;
by = (yl + y2 + x1 - x2) / 2;
printf("%lf %lf %lf %lf\n", ax, ay, bx, by);
}
return 0;
}