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 次元の点の集合を定義するには、x 座標を P の 1 列目に配置し、対応する y 座標を 2 列目に配置します。

Qhull のオプション。使用する Qhull アルゴリズムを示す、文字ベクトルの cell 配列として指定します。オプションのリストについては、Qhull control options を参照してください。

既定で、入力が 2 次元および 3 次元の場合の opts{'Qbb'} に設定されます。入力が 4 次元以上の場合、opts{'Qbb','Qx'} に設定されます。

出力引数

すべて折りたたむ

ボロノイ頂点。入力と同じ列数をもつ行列として返されます。各行にはボロノイ線図の N 次元の点の座標が含まれ、1 行目には Inf 値が含まれます。Inf 値の行は、非有界のセルを表します。

インデックス。cell 配列として返されます。c の各要素には、ボロノイ セルを構成するボロノイ頂点 v の行インデックスが含まれます。

詳細

すべて折りたたむ

ボロノイ線図

共面点のセットのうちある 1 点が与えられた場合、その 1 点との距離が、そのセットのその他すべての点よりも近い点をすべて含む境界を描画することができます。この境界によって、単一の "ボロノイ多角形" が定義されます。セットの各点のボロノイ多角形をすべて含む集合を、"ボロノイ線図" と呼びます。

ヒント

  • 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 より前に導入