Рассчитать расстояние до линии

101
30 сентября 2021, 17:10

Имеется множество точек, а именно тачей(точки где пользователь провел пальцем) и имеется LineRenderer, также с множеством точек. Как рассчитать расстояние от каждого тача до линии, а не до точек изгиба? Либо посоветуйте другой способ реализовать данную функцию. Основная задача - определить точность проведения линии пользователем.

Answer 1

Нахождение расстояния от точки до отрезка

Пусть есть массив точек expectedLine, элементы которого - точки изгиба ломаной.

Для каждой точки touch-линии touchPoint находим индекс ближайшей точки ломаной линии, назовем этот индекс closestIndex.

Находим минимум из трёх расстояний:

  1. Расстояние между точками touchPoint и expectedLine[closestIndex]
  2. Расстояние от точки touchPoint до отрезка [expectedLine[closestIndex]; expectedLine[closestIndex - 1]]
  3. Расстояние от точки touchPoint до отрезка [expectedLine[closestIndex]; expectedLine[closestIndex + 1]]

Найденный минимум и будет расстоянием до ближайшего отрезка ломаной.

Обратите внимание, что "расстояние от точки до отрезка" отличается от "расстояния от точки до прямой". Например, если опущенный из точки на прямую перпендикуляр не попадает в отрезок. Это учтено в приведённой ссылке.

READ ALSO
Форма не отправляется

Форма не отправляется

На странице есть форма, которую пользователь должен заполнить и отправить, письмо с информацией из формы должно придти мне на почтуjs скрипт:

91
Умножение в MySQL

Умножение в MySQL

Есть таблица apartments (квартиры), у которой есть поля total_area (общая площадь) и price (цена за 1 квадратный метр)

75
Отображение товара в битриксе при интеграции в 1с битрикс

Отображение товара в битриксе при интеграции в 1с битрикс

Нужна ваша помощь профессионалыНе могу понять в чем проблема

67
Как передать массив на страницу?

Как передать массив на страницу?

Как можно передать массив $orderlist на страницу successphp

94