如何从2个给定点计算2个平行点

时间:2011-05-07 11:25:52

标签: math computational-geometry

通过2个给定点运行一条线(K1和K3)。我想计算(找到)其他2个点(X1,X2),这些点与给定点平行。此外,我在这一行的第一点和最后一点之间有中心点(K2)。

Illustration

我有K1,K2和K3

如何找到X1和X2?我在WPF编写C#,我不知道如何解决这个问题...请帮帮我

罗伯特

2 个答案:

答案 0 :(得分:2)

enter image description here

答案 1 :(得分:1)

与原始线相切的矢量具有组件

t_1 = K3_1 - K1_1
t_2 = K3_2 - K1_2

此行的法线向量为

n_1 = t_2
n_2 = -t_1

向量n的长度等于从K1K2的距离。因为你实际上想要这个距离的四分之一,你的最终结果是

X1_1 = K1_1 + 0.25 * n_1
X1_2 = K1_2 + 0.25 * n_2
X2_1 = K2_1 + 0.25 * n_1
X2_2 = K2_2 + 0.25 * n_2

请注意,您可以为n选择相反的符号,在这种情况下,您最终会在相反方向上以相同距离平移一条平行线。