如果我们知道距离x1,y1,y2,则计算x2

时间:2015-01-12 07:53:10

标签: java math distance points

如果我知道两点的距离x2,y1和y2,我怎么能用Java计算x1。

我拍的照片更容易理解:

enter image description here

如果我们知道x1,x2,y1,y2很容易计算距离。但是,如果我们知道距离?如何用delta计算?

4 个答案:

答案 0 :(得分:1)

请注意,通常有两种解决方案;基本上对应于什么是“反映”解决方案。

如果d是距离,则x2位于

x1 +/- sqrt(d * d - (y2 - y1) * (y2 - y1));

+/-表示“加号或减号”。这是重复,x1可以在两个不同的地方。

答案 1 :(得分:1)

d^2 = (x2-x1)^2 + (y2-y1)^2

(x2-x1)^2 = d^2 - (y2-y1)^2

x2-x1 = +- sqrt(d^2 - (y2-y1)^2)

x2 = x1 +- sqrt(d^2 - (y2-y1)^2)

答案 2 :(得分:0)

如果您知道距离,可以使用它的公式:

d = sqrt(sqr(x2 - x1) + sqr(y2 - y1))

有了这个,你可以用简单的代数重新安排它找到x1,但我会让你弄明白。

答案 3 :(得分:0)

首先,您需要解决x2:

d = sqrt((x1-x2)^2+(y1-y2)^2)
d^2 = (x1-x2)^2+(y1-y2)^2
d^2-(y1-y2)^2 = (x1-x2)^2
sqrt(d^2-(y1-y2)^2) = (x1-x2)
x2 = x1-sqrt(d^2-(y1-y2)^2)

现在,只需在java中表达这一点:

double x2 = x1 - Math.sqrt(Math.pow(d, 2) - Math.pow(y1 - y2, 2));