Как найти расстояние между известной точкой и на полпути вдоль гипотенузы? - PullRequest
1 голос
/ 02 апреля 2020

Простите, что у меня не хватает математических знаний, прошло много времени с тех пор, как я нуждался в этом. Я пытаюсь программно найти расстояние между точкой и пересечением непосредственно под точкой вдоль гипотенузы треугольника.

Вот мой сценарий . Все точки имеют известные координаты х / у, я просто пытаюсь найти для расстояния «А». Точка пересечения находится прямо вертикально. В конечном итоге мне тоже придется сделать это по горизонтали, но я представляю, что если я смогу заставить его работать по вертикали, его не так уж сложно перевернуть по горизонтали.

1 Ответ

1 голос
/ 02 апреля 2020

Предположим, что ваши 3 точки: P1 = (x1, y1), P2 = (x2, y2) и P3 = (x3, y3), где линия определяется P1 и P2:

Когда вы проецируйте P3 вертикально вниз на линию, точка проекции имеет координату X, равную x3, и координату Y (вы можете получить это из уравнения линии):

y1 + (y2 - y1)*(x3 - x1)/(x2 - x1)

(Знаковое) расстояние между P3 и точка проекции будет тогда:

y3 - y1 - (y2 - y1)*(x3 - x1)/(x2 - x1)

Знак значения указывает, на какой стороне линии P3 находится. Если вас это не интересует, просто возьмите абсолютное значение (обычно abs функция в математических библиотеках)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...