Получение пары треугольников, имеющих общее ребро, из набора треугольников, полученных в результате триангуляции Делоне

#algorithm #matlab #math #computational-geometry #triangulation

Вопрос:

Я хочу получить треугольники, которые взяты из набора треугольников, полученных в результате триангуляции Делоне. Я написал следующий код. Как я могу получить треугольники, которые имеют кромки друг с другом (пожалуйста, смотрите Изображение)? Согласно этому изображению, я хочу получить треугольник1 и 2 из набора треугольников, полученных в результате триангуляции Делоне.

гсч по умолчанию;

Р = рэнд([32 2]);

DT = делонайтриангуляция(P);

триплот(DT)

введите описание изображения здесь

Ответ №1:

Короткий ответ: neighbors(DT) .

Пример:

 rng default
P = rand([12 2]);
DT = delaunayTriangulation(P);

IC = incenter(DT);

% visualize incl. ID in the center
figure
triplot(DT)
hold on
text(IC(:,1), IC(:,2), num2str([1:size(IC,1)]'))

% find all neighboring triangles
neighbors(DT)

% for the first triangle
neighbors(DT, 1)