#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int cases;
cin >> cases;
while(cases--) {
double ax, ay, bx, by, cx, cy;
cin >> ax >> ay >> bx >> by >> cx >> cy;
double rex, rey;
if(ax == bx) {
rey = cy;
if(ay == cy) {
rex = bx;
}
else {
double k = (cx - ax) / (ay - cy);
double b = by - k * bx;
rex = (rey - b) / k;
}
}
else if(ay == by) {
rex = cx;
if(ax == cx) {
rey = by;
}
else {
double k = (cx - ax) / (ay - cy);
double b = by - k * bx;
rey = k * rex + b;
}
}
else {
double k1 = (bx - ax) / (ay - by);
double b1 = cy - k1 * cx;
if(ax == cx) {
rey = by;
rex = (rey - b1) / k1;
}
else if(ay == cy) {
rex = bx;
rey = k1 * rex + b1;
}
else {
double k2 = (cx - ax) / (ay - cy);
double b2 = by - k2 * bx;
rey = (k2 * b1 - k1 * b2) / (k2 - k1);
rex = (rey - b1) / k1;
}
}
cout << fixed << showpoint << setprecision(4)
<< rex << ' ' << rey << endl;
}
return 0;
}
1059. Exocenter of a Trian
最新推荐文章于 2024-11-09 21:51:15 发布