如果我知道两点的距离x2,y1和y2,我怎么能用Java计算x1。
我拍的照片更容易理解:
如果我们知道x1,x2,y1,y2很容易计算距离。但是,如果我们知道距离?如何用delta计算?
答案 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));