Вычисление расстояния от точки до отрезка

Методика заключается в поиске ближайшей точки на отрезке и зачем вычислении расстояния до этой точки.

Немного математики

У нас есть три точки — A, B и C. Мы хотим найти расстояние от точки C до отрезка AB. Т.е. расстояние от C до некоторой точки на отрезке AB. Эта точка не должна выходить за границы отрезка, как могло бы происходить в некоторых случаях, если бы мы искали расстояние от точки C до линии, проходящей через AB.

Найдем длину проекции вектора AC на вектор AB:

[A, B и C — это вектора из начала координат к соответствующим точкам.]
Если мы разделим это выражение еще раз на длину AB, то получим величину относительной проекции.

Которая позволит нам легко определить, чем является искомая ближайшая точка на отрезке AB:

  • Если t < 0, ближайшая точка — это A
  • Если t > 1, ближайшая точка — это B
  • Если 0 ≤ t ≤ 1, ближайшая точка — внутренняя точка отрезка

Тогда ближайшую точку можно определить как:

А расстояние:

Код функции на JS

Теперь закодируем это в виде функции. Я использую JS, т.к. мне надо было решить эту задачу для JS. На входе — координаты всех трёх точек.

Написать комментарий

Мало букафф? Читайте есчо !

Вычисление N точек на арке

Июнь 10, 2025 г.

У нас есть окружность, заданная точкой её центра и радиусом. Еще у нас есть две точки, принадлежащие этой окружности - A и B, отсекая на окружности арку. ...

Читать

Магия чисел

Февраль 14, 2011 г.

Старшая дочь у меня уже ходит в 3й класс общеобразовательной средней школы. Склад ума у неё не лежит к точным наукам, но пока это не мешает ей приносить ...

Читать

 

Комментарии к «Вычисление расстояния от точки до отрезка»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: