如果我有三个点A,B,C和我知道它们之间的距离是A在2D坐标{0,0}而B在{ab,0}处,那么找到它的公式是什么点C的坐标
答案 0 :(得分:5)
点{cx, cy}
必须解决两个方程:
cx^2+cy^2==ac^2 && (cx-ab)^2+cy^2==bc^2
=> cx^2-(cx-ab)^2==ac^2-bc^2
=> 2*cx*ab==ac^2-bc^2+ab^2
=> cx = (ac^2-bc^2+ab^2)/(2*ab)
=> cy = +/- sqrt(ac^2-cx^2) iff ac^2-cx^2 > 0
=> cy = 0 iff ac^2-cx^2 = 0
=> no solution else
有两个点都有所需的距离。但基于ac^2-cx^2
,可能只有一个解决方案或根本没有解决方案。
答案 1 :(得分:2)
如果您没有对距离进行任何进一步的限制,那么您的问题相当于“如何找到两个圆圈的交集”:
http://mathworld.wolfram.com/Circle-CircleIntersection.html
因此,正如霍华德指出的那样,将有0,1或2个交叉点满足你所处的条件。
答案 2 :(得分:1)