Как я могу найти ближайший объект в координатной сетке - PullRequest
0 голосов
/ 16 сентября 2018

У меня есть координаты объектов и координаты основного объекта.Проблема заключается в следующем.Как найти ближайшие объекты к главному объекту для построения ближайших объектов к главному объекту в виде списка .

Например: существует система координат xуГлавный объект расположен по адресу: x = 20, y = 40 .

. Также есть 6 объектов с адресами:

  1. x = 22, y =30
  2. x = 26, y = 21
  3. x = 29, y = 39
  4. x = 42, y = 33
  5. x = 48,y = 32
  6. x = 23, y = 31

На основе координат основного объекта - x = 20, y = 40 .Нам нужно найти ближайшие координаты из шести объектов, описанных выше.

Спасибо.Если возможно в представлении программирования Java, php, swift.

1 Ответ

0 голосов
/ 16 сентября 2018

Рассчитайте квадрат расстояний до всех объектов как

SqDist[i] = (X[i] - Xobj)^2 + (Y[i] - Yobj)^2

Сортировка списка объектов по ключу SqDist в порядке возрастания (в Java создайте Comparator для сравнения SqDist полей)

...