2014-08-14 3 views
1

Я работаю над проектом, который работает с путями в 2-мерном пространстве. Пути - это списки пар координат (x, y), которые отслеживают маршрут, который пользователь взял, например, путь мыши на экране в течение некоторого фиксированного времени, например, 5 секунд. Я ищу способ сгруппировать пути некоторой мерой «одинаковости». Существуют ли какие-либо алгоритмы, предназначенные для этого? Например, если начальная позиция и конечная позиция двух путей аналогичны, и они оба перемещаются в каком-то «канале» по странице каким-то образом.алгоритм для сравнения путей координат

+0

Что вы подразумеваете под одинаковой? –

+0

Как насчет сравнения углов между последовательными ногами (линии между двумя координатными парами). Таким образом, пути могут быть похожими, которые идут в разных направлениях, но имеют ту же «форму». Другой возможностью было бы сравнивать углы каждого сегмента линии (ноги) и опорной оси, например, ось оси x в вашем аксометре. – Stefan

+0

Я подумал, и я придумал это: представьте координатное пространство как квадратные ячейки (скажем, 10 на 10). Затем координаты (x, y) преобразуются в ячейку, в которой они находятся. Назначьте письмо каждой ячейке. Запустите алгоритм расстояния levenstein для строк, используя пользовательские весы для замещений букв, которые отражают ячейки b/w расстояния. Это должно привести к стоимости конвертации одного пути в другой. – worker1138

ответ

0

Вы ищете временные ряды схожие меры, такие как DTW и SAX.

см. Также: Dynamic Time Warping on Wikipedia. Этот метод, в частности, может использоваться с геодезическим расстоянием между координатными парами как «внутренняя» дистанционная функция.

Смежные вопросы