让我把你的问题改写成我认为的那样,然后回答它。
你得到积分A = (x1, y1)和B = (x2, y2)。你想找到一个垂直于并且Z = (x3, y3)有长度的点。AZABBZh
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))ssF(s)hB
根据勾股定理,从F(s)到的长度的平方B始终是从 到 的距离的平方加上从F(s)到的距离的平方。从中我们得到我们想要的凌乱表达式:AAB
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。另一个可能的答案是另一边的距离相同。