@thirteen_bit

Как найти расстояние от точки до вектора?

Здравствуйте! Изучаю алгоритм Гилберта-Джонсона-Кирти для декартовой системы координат (двухмерной), и на этапе "найдите наиболее удаленные точки от вектора" случился затык. Как найти вообще расстояние(?) от точки до вектора? Гугление выдало материалы по нахождению расстояния от точки до прямой, а не вектора
Как пример: есть точка (1; 5) и вектор (0; 1), как найти между ними расстояние?
  • Вопрос задан
  • 213 просмотров
Пригласить эксперта
Ответы на вопрос 5
@Mercury13
Программист на «си с крестами» и не только
Откуда начинается вектор?
Если вектор AB и точка C, то расстояние — это ортогональная СОСТАВЛЯЮЩАЯ |AC×AB| / ||AC||·||AB||.
a×b — это косое произведение векторов ax·by−ay·bx. В 2D это скаляр. Если убрать модуль в числителе, получится знаковое расстояние — плюс с одной стороны и минус с другой.
||a|| — длина вектора sqrt(ax²+ay²). Если есть функция hypot, используй её.
Ответ написан
Комментировать
wataru
@wataru Куратор тега Математика
Разработчик на С++, экс-олимпиадник.
Точно, расстояние до вектора надо? А не экстремальную точку вдоль вектора? В GJK алгоритме ищут точку, которая как уектор дает максимальное скалярное полизведение с заданым вектором - т.е. самую далекую вдрль вектора, дающую самую дальную проекцию.
Ответ написан
Griboks
@Griboks
Как пример: есть точка (1; 5) и вектор (0; 1), как найти между ними расстояние?


Ваш вектор - это векторное поле. Точка - это скаляр. Что такое расстояние между полем и точкой? Очевидно, что расстояние между любой точкой и любым векторным полем всегда равно 0.

Другое дело - это расстояние между точкой и конкретным вектором (тем самым, у которого есть начало и конец).
Ответ написан
LaRN
@LaRN
Senior Developer
Если задан вектор и точка, то можно провести прямую и найти расстояние до этой прямой от второй точки. У вас на графике вектор отложен от начала координат, т.е. прямая проходит через начало координат в направлении заданном вектором и тут уже можно по двум точкам и вектору построить прямоугольный треугольник один из катетов которого будет расстоянием, от точки до заданной прямой.
Ответ написан
Комментировать
suppcolor
@suppcolor
Data Scientist, PhD (medicine)
Вам нужно найти точку, лежащую на отрезке (0; 0) и (координаты вектора), в которой расстояние до второй точки минимальное. Конечно, это лишь пример для R^2 и нужно отдельной разобраться с метрикой, в данном случае речь про евклидово расстояние.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы