Main Content

convexHull

(권장되지 않음)들로네 삼각분할의 볼록 껍질

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

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

설명

예제

K = convexHull(DT)는 볼록 껍질(Convex Hull)의 꼭짓점에 대응하는 점들의 배열 DT.X에 대한 인덱스를 반환합니다.

예제

[K,AV] = convexHull(DT)는 볼록 껍질과, 그 볼록 껍질에 의해 경계가 지정된 면적 또는 부피를 반환합니다.

예제

모두 축소

2차원 공간에서 단위 정사각형 내에 있는 임의의 점 집합의 볼록 껍질(Convex Hull)을 계산합니다.

rng default
x = rand(10,1);
y = rand(10,1);
dt = DelaunayTri(x,y);
k = convexHull(dt);

점과 볼록 껍질을 플로팅합니다.

plot(dt.X(:,1),dt.X(:,2),'.','MarkerSize',10)
hold on
plot(dt.X(k,1),dt.X(k,2),'r')
hold off

Figure contains an axes object. The axes object contains 2 objects of type line. One or more of the lines displays its values using only markers

3차원 공간에서 단위정육면체 내에 있는 임의의 점 집합의 볼록 껍질을 계산합니다. convexHull에 두 개의 출력값을 지정하여 볼록 껍질로 경계가 지정된 부분의 부피도 계산합니다.

rng default
X = rand(25,3);
dt = DelaunayTri(X);
[ch,v] = convexHull(dt)
ch = 30×3

     2     9    13
     2    12    18
     2    13    12
     2    14    25
     2    18    14
     2    23     9
     2    25    23
     5     7    22
     5    10     7
     5    18    10
      ⋮

v = 0.3943

볼록 껍질을 플로팅합니다.

trisurf(ch,dt.X(:,1),dt.X(:,2),dt.X(:,3),'FaceColor','cyan')

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

입력 인수

모두 축소

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

출력 인수

모두 축소

볼록 껍질 꼭짓점의 인덱스로, 열 벡터 또는 행렬로 반환됩니다. K는 점으로 구성된 배열 DT.X에 대한 인덱스를 포함합니다. 점이 2차원 공간에 있을 때, K는 길이가 numf인 열 벡터입니다. 그 밖의 경우 Knumf×ndim 크기의 행렬입니다. 여기서 numf는 볼록 껍질(Convex Hull)의 패싯 개수이고 ndim은 점이 있는 공간의 차원입니다.

볼록 껍질의 면적 또는 부피로, 스칼라로 반환됩니다. AV는 볼록 껍질에 의해 경계가 지정되는 면적(2차원 삼각분할) 또는 부피(3차원 삼각분할)를 포함합니다.

세부 정보

모두 축소

볼록 껍질(Convex Hull)

점 집합 X의 볼록 껍질은 X의 모든 점을 포함하는 가장 작은 볼록 영역입니다.

확장 기능

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

버전 내역

R2009a에 개발됨