isInterior

Запросите внутренние точки Триангуляции Делоне

Синтаксис

TF = isInterior(DT)

Описание

пример

TF = isInterior(DT) возвращает вектор-столбец логических значений, которые указывают, являются ли треугольники в 2D ограниченной Триангуляции Делоне в ограниченной геометрической области. Элемент TF 1 (true), когда соответствующий треугольник в DT в области и 0 (false) в противном случае.

Примеры

свернуть все

Вычислите и постройте треугольники 2D ограниченной Триангуляции Делоне в заданном контуре.

Создайте геометрическую область, форма которой является квадратным кадром.

outerprofile = [-5 -5; -3 -5; -1 -5;  1 -5; 
                 3 -5;  5 -5;  5 -3;  5 -1; 
                 5  1;  5  3;  5  5;  3  5; 
                 1  5; -1  5; -3  5; -5  5; 
                -5  3; -5  1; -5 -1; -5 -3];
innerprofile = outerprofile.*0.5;
P = [outerprofile; innerprofile];

Задайте ограничения ребра.

outercons = [(1:19)' (2:20)'; 20 1;];
innercons = [(21:39)' (22:40)'; 40 21];
C = [outercons; innercons];

Создайте ограниченную Триангуляцию Делоне.

DT = delaunayTriangulation(P,C);

Постройте триангуляцию, подсветив внутренние и внешние квадраты красного цвета.

triplot(DT)  
hold on 
plot(DT.Points(innercons',1),DT.Points(innercons',2), ...
     '-r','LineWidth',2)  
plot(DT.Points(outercons',1),DT.Points(outercons',2), ...
     '-r','LineWidth',2)
axis equal  

Постройте только треугольники между внутренними и внешними квадратами, подсветив внутренние и внешние квадраты красного цвета.

figure
TF = isInterior(DT);
triplot(DT.ConnectivityList(TF,:),DT.Points(:,1),DT.Points(:,2))  
hold on
plot(DT.Points(outercons',1),DT.Points(outercons',2), ...
     '-r','LineWidth',2)
plot(DT.Points(innercons',1),DT.Points(innercons',2), ...
     '-r','LineWidth',2)
axis equal

Входные параметры

свернуть все

Ограниченная Триангуляция Делоне, заданная как скалярный 2D объект delaunayTriangulation с набором ограниченных ребер, которые задают ограниченную геометрическую область. Ограниченная область является областью, заключенной несколькими ограниченными ребрами, которые не пересекаются или накладываются.

Типы данных: delaunayTriangulation

Советы

  • isInterior может привести к неправильным или противоречивым результатам, когда граничные ограничения пересекаются или накладываются. Чтобы избежать этого поведения, используйте ограничения, которые формируют один или несколько закрытых контуров, которые не пересекаются или накладываются. Когда граничные ограничения вкладываются без пересечений или перекрытий, внутренних или внешних альтернатив состояния через контуры.

Смотрите также

Введенный в R2013a