在坐标系中,已知到三点的距离,求当前点的位置
QPoint MainWindow::calcPhonePosition(double x1, double y1, double d1,
double x2, double y2, double d2,
double x3, double y3, double d3) {
QPoint d;
double a11 = 2 * (x1 - x3);
double a12 = 2 * (y1 - y3);
double b1 = pow(x1, 2) - pow(x3, 2)
+ pow(y1, 2) - pow(y3, 2)
+ pow(d3, 2) - pow(d1, 2);
double a21 = 2 * (x2 - x3);
double a22 = 2 * (y2 - y3);
double b2 = pow(x2, 2) - pow(x3, 2)
+ pow(y2, 2) - pow(y3, 2)
+ pow(d3, 2) - pow(d2, 2);
d.setX((b1 * a22 - a12 * b2) / (a11 * a22 - a12 * a21));
d.setY((a11 * b2 - b1 * a21) / (a11 * a22 - a12 * a21));
return d;
}