Мне нужно найти "близких" соседей среди множества точек.
В приведенном выше изображении есть 10 точек. Красные линии - это ребра из Delaunay Triangulation, черные звезды отмечают средние линии краев, синие линии - Voronoi tesselation. Пункт 1 имеет три "близких" соседства, то есть 4, 6 и 7, но не 2 и 3, которые почти соответствуют краю 1-7, но намного дальше.
Что такое хороший способ определить ближайших соседей (или "хороших" краев)? Глядя на фигуру, мне кажется, что либо выбор краев, чья средняя точка попадает на пересечение с линиями Вороного, либо считается "близкими" соседями, те, которые касаются клеток Вороного, могут быть хорошим решением (классификация 3-5 может идти в любом случае). Есть ли эффективный способ реализации любого из решений в Matlab (я был бы рад получить хороший общий алгоритм, который затем смогу перевести на Matlab, кстати)?