Как найти координату точки, лежащей на перпендикуляре к линии?
Предположим, что есть некая прямая линия на координатной плоскости. К этой линии проведен перпендикуляр в известном направлении длиной 10 единиц (константа). Известны координаты начальной и конечной точек линии, а также координаты точки на линии, из которой проведен перпендикуляр (переменные).
С помощью каких геометрических формул можно найти координату второй точки перпендикуляра?
Пример:
Предпочтителен пример решения на Python или псевдокоде.
Ответы (1 шт):
Итоговый алгоритм получился такой (воспользовался подсказкой из этого комментария):
- Нашел вектор CB: (9 - 6, 2 - 5) = (3, -3)
- Нашел перпендикулярный ему вектор той же длины, повернув вектор CB на 90 градусов по часовой стрелке** (поменял местами
xиyи заменил знак у нового значенияy): (-3, -3) - Нормализовал вектор-перпендикуляр, разделив каждую из координат на длину линии: (-3 / 4.242, -3 / 4.242) = (-0.707, -0.707)
- Умножил координаты нормализованного вектора на нужную длину перпендикуляра (2.828): (-0.707 * 2.828, -0.707 * 2.828) = (-1.999, -1.999)
- Прибавил полученные координаты к координатам точки C и получил координаты нужной точки D: (6 + -1.999, 5 + -1.999) = (~4, ~3)
** Если нужно повернуть перпендикулярный вектор против часовой стрелки, то тогда необходимо поменять местами x и y и заменил знак у нового значения x
Полученные координаты (~4, ~3) совпадают с визуальным расположением точки на координатной плоскости.
Благодарю комментаторов за помощь!

