让我把你的问题改写成我认为的那样,然后回答它。
你得到积分A = (x1, y1)
和B = (x2, y2)
。你想找到一个垂直于并且Z = (x3, y3)
有长度的点。AZ
AB
BZ
h
A
从到的向量B
是v = (x2 - x1, y2 - y1)
。一个易于计算的垂直向量是w = (y2 - y1, x1 - x2)
。A
与之垂直的相交线用实数上的范围表示AB
。所以我们需要选择一个远离的值。F(s) = A + s*w = (x1 + s*(y2 - y1), y1 + s*(x1 - x2))
s
s
F(s)
h
B
根据勾股定理,从F(s)
到的长度的平方B
始终是从 到 的距离的平方加上从F(s)
到的距离的平方。从中我们得到我们想要的凌乱表达式:A
A
B
h**2 = s**2 * ((y2 - y1)**2 + (x1-x2)**2) + ((x1 - x2)**2 + (y1 - y2)**2))
= s**2 * ((x1 - x2)**2 + (y1 - y2)**2)) + ((x1 - x2)**2 + (y1 - y2)**2))
= (s**2 + 1) * ((x1 - x2)**2 + (y1 - y2)**2))
(s**2 + 1) = h**2 / ((x1 - x2)**2 + (y1 - y2)**2))
s**2 = h**2 / ((x1 - x2)**2 + (y1 - y2)**2)) - 1
s = sqrt(h**2 / ((x1 - x2)**2 + (y1 - y2)**2)) - 1)
现在将该表达式s
重新插入F(s) = (x1 + s*(y2 - y1), y1 + s*(x1 - x2))
,您就明白了Z
。另一个可能的答案是另一边的距离相同。