Как вычислить 2 параллельные точки из 2 заданных точек - PullRequest
1 голос
/ 07 мая 2011

Через 2 заданные точки проходит линия (K1 и K3). Я хочу вычислить (найти) еще 2 точки (X1, X2), которые параллельны заданным точкам. Также у меня есть центральная точка (K2) между первой и последней точкой на этой линии.

Иллюстрация

У меня есть K1, K2 и K3

Как найти X1 и X2? Я пишу на C # в WPF, и я не знаю, как решить эту проблему ... пожалуйста, помогите мне

Roberto

Ответы [ 2 ]

2 голосов
/ 07 мая 2011

enter image description here

1 голос
/ 07 мая 2011

Вектор, касательный к вашей исходной линии, имеет компоненты

t_1 = K3_1 - K1_1
t_2 = K3_2 - K1_2

Нормальный вектор для этой линии будет

n_1 = t_2
n_2 = -t_1

Длина вектора n равнарасстояние от K1 до K2.Так как вы на самом деле хотите четверть этого расстояния, ваш конечный результат будет

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, и в этом случае вы получите параллельную линию, переведенную кактакое же расстояние в противоположном направлении.

...