isInterior

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

Синтаксис

Описание

пример

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

Примеры

свернуть все

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

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

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 contains an axes. The axes contains 3 objects of type line.

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

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

Figure contains an axes. The axes contains 3 objects of type line.

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

свернуть все

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

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

Совет

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

См. также

Введенный в R2013a