Status of triangles in 2-D constrained Delaunay triangulation
Syntax
IN = inOutStatus(DT)
Description
IN = inOutStatus(DT) returns the in/out
status of the triangles in a 2-D constrained Delaunay triangulation
of a geometric domain. Given a Delaunay triangulation that has a set
of constrained edges that define a bounded geometric domain. The i'th
triangle in the triangulation is classified as inside the domain if IN(i)
= 1 and outside otherwise.
Note
inOutStatus is only relevant for 2-D constrained
Delaunay triangulations where the imposed edge constraints bound
a closed geometric domain. |
Inputs
| DT | Delaunay triangulation. |
Outputs
| IN | Logical array of length equal to the number of triangles in
the triangulation. The constrained edges in the triangulation define
the boundaries of a valid geometric domain. |
Example
Create a geometric domain that consists of a square with a square
hole:
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;
profile = [outerprofile; innerprofile];
outercons = [(1:19)' (2:20)'; 20 1;];
innercons = [(21:39)' (22:40)'; 40 21];
edgeconstraints = [outercons; innercons];
Create a
constrained Delaunay triangulation of the domain:
dt = DelaunayTri(profile, edgeconstraints)
subplot(1,2,1);
triplot(dt);
hold on;
plot(dt.X(outercons',1), dt.X(outercons',2), ...
'-r', 'LineWidth', 2);
plot(dt.X(innercons',1), dt.X(innercons',2), ...
'-r', 'LineWidth', 2);
axis equal;
title(sprintf('Plot showing interior and exterior\n ...
triangles with respect to the domain.'));
hold off;
subplot(1,2,2);
inside = inOutStatus(dt);
triplot(dt(inside, :), dt.X(:,1), dt.X(:,2));
hold on;
plot(dt.X(outercons',1), dt.X(outercons',2), ...
'-r', 'LineWidth', 2);
plot(dt.X(innercons',1), dt.X(innercons',2), ...
'-r', 'LineWidth', 2);
axis equal;
title(sprintf('Plot showing interior triangles only\n'));
hold off;

 | incenters (TriRep) | | ind2rgb |  |
Includes the most popular MATLAB recorded presentations with Q&A sessions led by MATLAB experts.
Get the Interactive Kit