мой вопрос может быть немного странным. Я «разработал» алгоритм и не знаю, есть ли уже подобный алгоритм.
Ситуация: у меня есть трек, определенный точками трека (2D). Точки трека представляют собой, например, повороты. Между точками следа есть только прямые линии. Теперь мне дан набор координат в этом 2D-пространстве. Я рассчитываю расстояние от первой точки трека до новых координат и расстояние для интервала для первых двух точек трека. Если расстояние до измеренных координат короче, чем расстояние от первой до второй точки трека, я предполагаю, что эта точка находится между этим интервалом. Затем я делаю линейную интерполяцию на этом. Если оно будет больше, я проверю следующий интервал.
Так что, в основном, это интервальные расстояния и попытка вписать их туда. Я пытаюсь отследить объект, движущийся примерно по этой дорожке.
Звучит ли это кому-нибудь знакомо? Может кто-нибудь придумать предложение для подобного существующего алгоритма?
РЕДАКТИРОВАТЬ: Из того, что я уже сказал, я хочу уточнить, что позиция не многократно связана с точками отслеживания. Рассмотрим прекрасный рисунок ASCII, который сделал Джонатан:
Обнаружено, что позиция X находится в сегменте 1 и 2 (S12). Теперь следующая позиция - Y, которая не должна считаться достаточно близкой, чтобы находиться на S12. Я перейду к S23 и проверю, не включен ли он.
Если он включен, я не буду проверять S12 на наличие какого-либо другого значения, потому что я уже нашел его в следующем сегменте. Алгоритм «не оглядывается назад».
Но если он не найдет правильный сегмент оттуда, потому что он будет находиться далеко от первого сегмента, но все равно еще дальше от любого другого сегмента, я упаду значение, и следующая позиция будет искать снова в S12, снова.
Цикл по-прежнему остается проблемой. Предположим, я получил Y для S23, а затем пропустил две или три позиции (так как они слишком далеко), возможно, я теряю трек. Я мог бы определить одну позицию на S34, где она была бы уже на S56.
Может быть, я смогу придумать какую-то среднюю скорость, чтобы определить, в каком сегменте она должна быть.
Кажется, чем больше сегменты, тем больше шансов принять правильное решение.