Я пытаюсь найти точки с соседними с ребром областями Вороного в данном наборе данных. Я новичок в вычислительной геометрии, но, читая онлайн, оказалось, что использование тесселяции Делоне было бы простым способом сделать это. Этот PDF , в частности, даже имеет лемму, в которой говорится
Лемма 2.4. Две точки из S соединяются ребром Делоне, если их области Вороного
примыкают к краю.
Итак, я нашел тесселяцию Делоне моего набора данных как
dt = delaunay(dataset); %using delaunayn() since dataset can be multidimensional
Но теперь, когда я строю это вместе с диаграммой Вороного для этого набора данных, я обнаруживаю, что ребра Делоне возвращают точки соединения, чьи области на самом деле не смежны с ребрами.
Вот код, который я использовал для построения Вороного и Делоне:
voronoi(dataset(:, 1),dataset(:, 2));
hold on;
dt = delaunayn(dataset);
triplot(dt, dataset(:, 1), dataset(:, 2), 'red');
А вот и вывод: 
В качестве примера проблемы см. Точку X на правом конце фигуры, соединенную с точкой Y возле нижнего левого угла.
Другой пример в этом вопросе SO - точка 1 соединена с 2 и 3, даже если они не смежны, и кажется, что 1 и 2 не могли бы поделиться край, даже если он расширен до бесконечности. Этот вопрос на самом деле побудил меня проверить вывод delaunayn с помощью приведенного выше кода.
Почему это происходит, и как мне получить соседние с краем соседние области, которые мне нужны?
Примечание. Чтобы увидеть изображение в полном размере и четкости, щелкните правой кнопкой мыши и выберите «Просмотреть изображение» или аналогичный.