Имеется координатная сетка с определенным шагом, скажем,
a (шаг одинаков и по горизонтали и по вертикали). Имеется также некоторая точка P с координатами
(x,y). Как лучше всего определить координаты узла сетки, который для этой точки будет ближайшим?
Выглядит это примерно так — я получаю координаты клика мышкой (цветные точки на белом фоне на картинке), и мне нужно найти ближайший к ним узел (точки соответствующего цвета в узлах на картинке):
Единственное что пришло мне в голову — это делить координаты точки на шаг сетки; таким образом мы получим координаты узла левее (ось x возрастает слева направо) и ниже (ось y возрастает снизу вверх) нашей точки, а затем перебирать 4 ближайших узла и тупо сравнивать разницу в координатах. Подскажите более удачный способ, пожалуйста.