Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как оценить расстояние между векторами на плоскости. Идеи приветствуются.

Дмитрий Уныченко Ученик (249), на голосовании 3 года назад
Условие:
Плоскость XY
Каждый 2D вектор состоит из 10 точек. Представляет собой изломанную 10 раз линию.

Ось Х:
Координаты всех точек целочисленные, в пределах от 1 до 10. Иными словами расстояние между соседними точками по Х всегда =1

Ось Y:
Произвольное значение каждой точки от 1 до -1

Общее уравнение для вектора можно записать в виде:
[X1=1, Y1=rand(1;-1)],...X10=10,Y10=rand(1;-1)]

Задача:
Если построить 20 векторов согласно условию и выбрать любой один из них (main vector), то каким образом можно оставшиеся 19 векторов отсортировать по критерию "похожести" относительно выбранного main vector?

Мои мысли:
Поскольку координаты по оси Х у всех векторов совпадают, нас интересует разница лишь по оси Y в соответствующих точках. Хорошо. Значит берем main vector и один из 19 векторов, считаем абсолютное расстояние между их Y на одинаковых значениях Х. Получится список из 10 значений. Находим среднее арифметическое.
По такому же принципу далее сравниваем main vector с каждым из оставшихся векторов, после чего выстраиваем рейтинг "похожести" от наименьшего среднего арифметического к наибольшему.
Есть идеи получше?

P.S. За термин "похожесть" извиняюсь, не знаю как это правильно назвать.
Надеюсь суть передал.
Спасибо.
Голосование за лучший ответ
Коннор, андроид из КиберЛайф Гуру (2751) 3 года назад
Как определить расстояние между векторами? Вектор по определению не имеет координат. Он имеет направление и длину. Остальное - производное. Таким образом за начало любого вектора можно взять любую точку, например центр системы координат. Так что расстояния между ними значения не имеют (их можно свести к нулю). Похожесть определять по расстоянию между конечными точками при постраении векторов из центра системы координат - как вариант.
MастерУченик (242) 3 года назад
Хорошо, если перефразировать условие - дано 20 объектов, каждый состоит из 10 значений в промежутке 1;-1
Какой алгоритм сортировки по критерию похожести 19 объектов относительно одного выбранного?
Коннор, андроид из КиберЛайф Гуру (2751) Найти сумму значений и сравнить их.
Похожие вопросы