주요 콘텐츠

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
     5    19    18
     5    22    19
     6    11    14
     6    14    19
     6    16    11
      ⋮

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차원 삼각분할)를 포함합니다.

세부 정보

모두 축소

확장 기능

모두 확장

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

버전 내역

R2009a에 개발됨