Main Content

inOutStatus

(권장되지 않음) 2차원 제약 조건이 적용되는 들로네 삼각분할(Delaunay Triangulation)에서 삼각형의 상태

inOutStatus(DelaunayTri)는 권장되지 않습니다. isInterior(delaunayTriangulation)을 대신 사용하십시오.

DelaunayTri는 권장되지 않습니다. delaunayTriangulation을 대신 사용하십시오.

설명

예제

IN = inOutStatus(DT)는 기하학적 영역의 2차원 제약 조건이 적용되는 들로네 삼각분할에서 삼각형의 IN/OUT 상태를 반환합니다. 삼각분할의 i번째 삼각형은 IN(i) = 1인 경우 영역 내부에 있는 것으로, 그렇지 않은 경우 외부에 있는 것으로 분류됩니다.

참고

inOutStatus는 부과된 모서리 제약 조건이 닫힌 기하학적 영역을 만들어 내는 2차원 제약 조건의 들로네 삼각분할(Delaunay Triangulation)에서만 의미가 있습니다.

예제

모두 축소

정사각형 구멍이 있는 정사각형의 기하학적 영역을 생성합니다.

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];

해당 영역을 대상으로 제약 조건이 적용되는 들로네 삼각분할을 생성합니다.

dt = DelaunayTri(profile,edgeconstraints);

두 개의 플롯을 생성합니다. 영역에 대한 내부 삼각형과 외부 삼각형을 보여주는 플롯과 inOutStatus를 사용하여 내부 삼각형만 플로팅하는 플롯입니다.

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
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
hold off

Figure contains 2 axes objects. Axes object 1 contains 3 objects of type line. Axes object 2 contains 3 objects of type line.

입력 인수

모두 축소

들로네 삼각분할 표현으로, DelaunayTri 객체로 지정됩니다.

  • 경계 제약 조건이 서로 교차하거나 겹칠 경우 inOutStatus는 부정확하거나 일관되지 않은 결과를 생성할 수 있습니다. 이 같은 동작을 방지하려면 서로 교차하거나 겹치지 않는 하나 이상의 닫힌 경계를 만드는 제약 조건을 사용하십시오. 경계 제약 조건이 교차하거나 겹치는 부분 없이 중첩(Nested)된 경우 경계를 가로지를 때마다 상태가 내부 상태 또는 외부 상태로 차례로 바뀌게 됩니다.

버전 내역

R2009a에 개발됨