이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

convhulln

N차원 볼록 껍질(Convex Hull)

구문

K = convhulln(X)
K = convhulln(X,options)
[K,v] = convhulln(...)

설명

K = convhulln(X)X에 대한 볼록 껍질의 패싯을 구성하는 X 내 점들의 인덱스 K를 반환합니다. X에 2차원 좌표 또는 3차원 좌표가 포함된 경우 패싯은 각각 삼각형 또는 사면체를 형성합니다. 일반적으로, Xn차원 공간에서의 m개 점을 나타내는 mxn 배열이 될 수 있습니다. 볼록 껍질에 p개 패싯이 있는 경우 K 크기는 pxn입니다.

convhulln은 Qhull을 사용합니다.

K = convhulln(X,options)는 Qhull 옵션으로 구성된 셀형 배열을 지정합니다. 디폴트 옵션은 다음과 같습니다.

  • {'Qt'}: 2차원, 3차원 및 4차원 입력값의 경우

  • {'Qt','Qx'}: 5차원 이상 입력값의 경우

options[]인 경우 디폴트 옵션이 사용됩니다. Qhull 및 해당 옵션에 대한 자세한 내용은 http://www.qhull.org/를 참조하십시오

[K,v] = convhulln(...)은 볼록 껍질의 볼륨 v를 반환합니다.

시각화

convhulln 출력값의 플로팅은 n의 값에 따라 달라집니다.

  • n = 2인 경우 convhull에서처럼 plot을 사용합니다.

  • n = 3인 경우 trisurf를 사용하여 출력값을 플로팅할 수 있습니다. 호출 시퀀스는 다음과 같습니다.

    K = convhulln(X);
    trisurf(K,X(:,1),X(:,2),X(:,3))
  • n > 3인 경우에는 convhulln 출력값을 플로팅할 수 없습니다.

예제

다음 예제는 convhulln에 대한 options 입력값을 보여줍니다. 다음 명령을 실행하면

X = [0 0; 0 1e-10; 0 0; 1 1];
K = convhulln(X)

경고가 반환됩니다.

Warning: qhull precision warning: 
The initial hull is narrow 
(cosine of min. angle is 0.9999999999999998).
A coplanar point may lead to a wide facet. 
Options 'QbB' (scale to unit box) or 'Qbb' 
(scale last coordinate) may remove this warning. 
Use 'Pp' to skip this warning.

경고를 표시하지 않기 위해 옵션 'Pp'를 사용합니다. 다음 명령은 옵션 'Pp'를 디폴트 'Qt'와 함께 convhulln으로 전달합니다.

K = convhulln(X,{'Qt','Pp'})

K =

     1     4
     1     2
     4     2

알고리즘

convhulln은 Qhull [1]을 기반으로 합니다. Qhull에 대한 자세한 내용은 http://www.qhull.org/를 참조하십시오. 저작권 정보를 확인하려면 http://www.qhull.org/COPYING.txt를 참조하십시오.

참고 문헌

[1] Barber, C. B., D.P. Dobkin, and H.T. Huhdanpaa, “The Quickhull Algorithm for Convex Hulls,” ACM Transactions on Mathematical Software, Vol. 22, No. 4, Dec. 1996, p. 469-483.

R2006a 이전에 개발됨