ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

voronoi

    メモ:   Qhull 固有のオプションはサポートされていません。コードに voronoi を渡すコードのすべてのインスタンスから OPTIONS 引数を削除します。

構文

voronoi(x,y)
voronoi(x,y,TRI)
voronoi(dt)
voronoi(AX,...)
voronoi(...,'LineSpec')
h = voronoi(...)
[vx,vy] = voronoi(...)

説明

voronoi(x,y) は、点集合 x,y に対するボロノイ線図の閉じられたセルをプロットします。無限大へのラインは、任意の遠くにあるエンドポイントで近似されます。

voronoi(x,y,TRI) は、内部で計算する代わりに、三角形分割 TRI を使用します。

voronoi(dt) は計算する代わりに、三角形分割 dt を使います。

voronoi(AX,...) は、gca の代わりに AX にプロットします。

voronoi(...,'LineSpec') は、指定された色とライン スタイルでボロノイ線図をプロットします。

h = voronoi(...) は、作成された Line オブジェクトのハンドルを h で返します。

[vx,vy] = voronoi(...) は、vxvy のボロノイ エッジの有限頂点を返します。

    メモ:   ボロノイ線図の形式、すなわち各ボロノイ セルの頂点について、関数 voronoin を次のように使います。

    [v,c] = voronoin([x(:) y(:)])

定義

共面点の集合 P について考えます。集合 P の各点、Px について、集合 P の他の点によりも Px に近いすべての中間点を含む境界を描画することができます。このような境界は "ボロノイ多角形" と呼ばれ、ある点集合に対するすべてのボロノイ多角形の集合は、"ボロノイ線図" と呼ばれます。

可視化

次のいずれかの方法でボロノイ線図をプロットしてください。

  • 出力引数が必要ない場合は、voronoi が図をプロットします。

  • 色、ライン スタイル、その他の Figure プロパティを詳細に制御するには、構文 [vx,vy] = voronoi(...) を使用します。この構文は、有限のボロノイ エッジの頂点を返します。これは、関数 plot を使ってプロットすることができます。

  • セルを色で塗りつぶす場合は、各セルのインデックスを得るために n = 2voronoin を使用してから関数 patch と Figure を作成するプロット関数を使用してください。patch は、閉じられていないセルを塗りつぶせないことにご注意ください。

例 1

次のコードは、関数 voronoi を使って、ランダムに生成した 10 個の点のボロノイ線図をプロットします。

x = gallery('uniformdata',[1 10],0);
y = gallery('uniformdata',[1 10],1);
voronoi(x,y)

例 2

次のコードは、有限ボロノイ エッジの頂点を使って、同じ 10 点にボロノイ線図をプロットします。

x = gallery('uniformdata',[1 10],0);
y = gallery('uniformdata',[1 10],1); 
[vx, vy] = voronoi(x,y);
plot(x,y,'r+',vx,vy,'b-'); axis equal

例 1 に示した Figure を得るために、このコードを付け加えることができることにご注意ください。

     xlim([min(x) max(x)])
     ylim([min(y) max(y)])

例 3

次のコードは、voronoinpatch を使って、同じボロノイ線図の閉じられたセルを塗りつぶします。

x = gallery('uniformdata',[10 2],5);
[v,c]=voronoin(x); 
for i = 1:length(c) 
if all(c{i}~=1)   % If at least one of the indices is 1, 
                  % then it is an open region and we can't 
                  % patch that.
patch(v(c{i},1),v(c{i},2),i); % use color i.
end
end

参考

| | | | |

この情報は役に立ちましたか?