Main Content

voronoin

N차원 보로노이 다이어그램

설명

예제

[v,c] = voronoin(P)는 행렬 P에서 N차원 점에 대한 보로노이 다이어그램의 보로노이 꼭짓점 v와 보로노이 셀 c를 반환합니다.

[v,c] = voronoin(P,opts)는 보로노이 다이어그램 계산에 사용되는 Qhull 옵션도 지정합니다.

예제

모두 축소

2차원 점으로 구성된 행렬을 만들고 보로노이 꼭짓점과 다이어그램 셀을 계산합니다.

P = [0.5 0; 0 0.5; -0.5 -0.5; -0.2 -0.1; -0.1 0.1; 0.1 -0.1; 0.1 0.1]
P = 7×2

    0.5000         0
         0    0.5000
   -0.5000   -0.5000
   -0.2000   -0.1000
   -0.1000    0.1000
    0.1000   -0.1000
    0.1000    0.1000

[v,c] = voronoin(P)
v = 10×2

       Inf       Inf
    0.7000   -1.6500
   -0.0500   -0.0500
   -0.0500   -0.5250
   -1.4500    0.6500
   -1.7500    0.7500
         0    0.2875
    0.3833    0.3833
         0         0
    0.2875         0

c=7×1 cell array
    {[  10 2 1 8]}
    {[ 8 1 6 5 7]}
    {[   6 1 2 4]}
    {[   6 4 3 5]}
    {[   9 3 5 7]}
    {[10 2 4 3 9]}
    {[  10 8 7 9]}

입력 인수

모두 축소

점으로, 대응하는 차원에 대한 좌표가 열에 담긴 행렬로 지정됩니다. 예를 들어, 2차원 점 집합을 정의하려면 P의 첫 번째 열에 x 좌표를, 두 번째 열에 대응하는 y 좌표를 배치하십시오.

Qhull 옵션으로, 사용할 Qhull 알고리즘을 나타내는 문자형 벡터로 구성된 셀형 배열로 지정됩니다. 옵션 목록을 보려면 Qhull control options를 참조하십시오.

기본적으로 2차원 및 3차원 입력값의 경우 opts{'Qbb'}로 설정됩니다. 4차원 이상 입력값의 경우에는 opts{'Qbb','Qx'}로 설정됩니다.

출력 인수

모두 축소

보로노이 꼭짓점으로, 입력값과 같은 열 개수를 가진 행렬로 반환됩니다. 각 행에는 보로노이 다이어그램에 있는 N차원 점의 좌표가 포함되며, 첫 번째 행은 Inf 값을 포함합니다. Inf 값으로 구성된 행은 비유계 셀을 나타냅니다.

인덱스로, 셀형 배열로 반환됩니다. c의 각 요소에는 보로노이 셀을 구성하는 보로노이 꼭짓점 v의 행 인덱스가 포함됩니다.

세부 정보

모두 축소

보로노이 다이어그램(Voronoi Diagram)

동일평면상의 점으로 구성된 집합에 어떤 점이 주어진 경우, 이 점 주위에 집합에 있는 다른 점보다 이 점에 가까운 점을 모두 포함하는 경계를 그릴 수 있습니다. 이 경계는 단일 보로노이 다각형을 정의합니다. 집합의 모든 점에 대한 모든 보로노이 다각형의 모음을 보로노이 다이어그램이라고 합니다.

  • N차원 보로노이 다이어그램의 개별 유계 셀을 플로팅할 수 있습니다. 개별 유계 셀을 플로팅하려면 convhulln 함수를 사용하여 보로노이 셀을 구성하는 패싯의 꼭짓점을 구합니다. 그런 다음, patch 또는 다른 플로팅 함수를 사용하여 Figure를 생성합니다.

알고리즘

voronoin은 Qhull [1]을 기반으로 합니다. 자세한 내용은 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 이전에 개발됨