Main Content

freeBoundary

자유 경계 패싯

설명

예제

F = freeBoundary(TR)TR의 삼각형 또는 사면체의 자유 경계 패싯을 반환합니다. TR의 어떤 패싯을 하나의 삼각형 또는 사면체에서만 참조한다면 그 패싯은 자유 경계에 있는 것입니다.

예제

[F,P] = freeBoundary(TR)은 자유 경계 패싯의 꼭짓점을 포함하는 행렬도 반환합니다.

예제

모두 축소

freeBoundary 함수를 사용하여 2차원 들로네 삼각분할의 외부 모서리를 강조 표시할 수 있습니다.

2차원 점 집합에서 삼각분할을 만듭니다.

rng('default')
x = rand([20,1]);
y = rand([20,1]);
TR = delaunayTriangulation(x,y);

자유 경계 패싯을 찾습니다.

F = freeBoundary(TR);

삼각분할을 플로팅하고 자유 경계 모서리를 빨간색으로 강조 표시합니다.

triplot(TR)
hold on
plot(x(F),y(F),'-r','LineWidth',2)

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

freeBoundary 함수를 사용하여 객체의 곡면을 덮는 3차원 삼각분할의 패싯을 추출할 수 있습니다.

3차원 삼각분할을 불러옵니다.

load tetmesh
TR = triangulation(tet,X);

다음과 같이 경계 삼각분할을 계산합니다.

[F,P] = freeBoundary(TR);

경계 삼각분할을 플로팅합니다.

trisurf(F,P(:,1),P(:,2),P(:,3), ...
       'FaceColor','cyan','FaceAlpha',0.8);

Figure contains an axes object. The axes object contains an object of type patch.

입력 인수

모두 축소

삼각분할 표현으로, 스칼라 triangulation 또는 delaunayTriangulation 객체로 지정됩니다.

데이터형: triangulation | delaunayTriangulation

출력 인수

모두 축소

삼각분할 연결 목록으로, 행렬로 반환됩니다.

한 개의 출력 인수로 freeBoundary를 호출하면 F의 요소는 입력 삼각분할의 Points 속성에 있는 행 번호입니다. 두 개의 출력 인수로 freeBoundary를 호출하면 F의 요소는 P에 있는 행 번호입니다.

데이터형: double

자유 경계점으로, 자유 경계 패싯의 꼭짓점 좌표를 포함하는 행렬로 반환됩니다. P의 각 행은 꼭짓점의 좌표를 포함합니다.

데이터형: double

확장 기능

스레드 기반 환경
MATLAB®의 backgroundPool을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool을 사용해 코드 실행 속도를 높일 수 있습니다.

버전 내역

R2013a에 개발됨