ヘルプ センターヘルプ センター
アルファ形状の最近傍の境界点を求める
I = nearestNeighbor(shp,qx,qy)
I = nearestNeighbor(shp,qx,qy,qz)
I = nearestNeighbor(shp,QP)
I = nearestNeighbor(___,RegionID)
[I,D] = nearestNeighbor(___)
I = nearestNeighbor(shp,qx,qy) は、2 次元アルファ形状 shp について、クエリ点の最近傍にある shp の境界点のインデックスを返します。I は最近傍インデックスの配列であり、各インデックスは shp.Points の行インデックスに対応します。クエリ座標 qx および qy は同じサイズでなければなりません。
I
shp
qx
qy
shp.Points
I = nearestNeighbor(shp,qx,qy,qz) は、3 次元アルファ形状について、(qx,qy,qz) の最近傍にある shp の境界点のインデックスを返します。このインデックスは shp.Points の行インデックスに対応します。クエリ座標 qx、qy および qz は同じサイズでなければなりません。
qz
(qx,qy,qz)
I = nearestNeighbor(shp,QP) は、クエリ点を行列 QP として指定します。2 次元アルファ形状の場合、QP は qx 座標と qy 座標を表す 2 列の行列です。3 次元アルファ形状の場合、QP には qx 座標、qy 座標および qz 座標を表す 3 列があります。
QP
例
I = nearestNeighbor(___,RegionID) は、RegionID で指定された領域の境界上にある最近傍点のインデックスを返します。ここで、1 ≤ RegionID ≤ numRegions(shp) です。前述の構文のいずれかの入力引数を含めることができます。
RegionID
1
numRegions(shp)
[I,D] = nearestNeighbor(___) はさらに、クエリ点からその最近傍点までのユークリッド距離も返します。D のサイズは I と同じです。
D
すべて折りたたむ
2 次元の点の集合を作成します。
th = (pi/12:pi/12:2*pi)'; x1 = [reshape(cos(th)*(1:5), numel(cos(th)*(1:5)),1); 0]; y1 = [reshape(sin(th)*(1:5), numel(sin(th)*(1:5)),1); 0]; x = [x1; x1+15]; y = [y1; y1];
アルファ半径が 1 のアルファ形状を作成してプロットします。
shp = alphaShape(x,y,1); plot(shp) hold on
クエリ点 QP の最近傍である shp の境界点を計算します。クエリ点を青、最近傍点を赤でプロットします。
QP = [6 3]; plot(QP(1),QP(2),'b.','MarkerSize',10) hold on I = nearestNeighbor(shp, QP); plot(shp.Points(I,1),shp.Points(I,2),'r.','MarkerSize',10)
alphaShape
アルファ形状。alphaShape オブジェクトとして指定します。詳細については、alphaShape を参照してください。
例: shp = alphaShape(x,y) は、座標 (x,y) の点から 2 次元の alphaShape オブジェクトを作成します。
shp = alphaShape(x,y)
(x,y)
クエリ点の x 座標。数値配列として指定します。
データ型: double
double
クエリ点の y 座標。数値配列として指定します。
クエリ点の z 座標。数値配列として指定します。
クエリ点の座標。2 列の行列または 3 列の行列として指定します。
2 次元の場合、P の各列は qx 座標と qy 座標を表します。
P
3 次元の場合、P の各列は qx 座標、qy 座標、qz 座標を表します。
アルファ形状の領域の ID 番号。1 ~ numRegions(shp) の範囲の正の整数スカラーとして指定します。
アルファ形状には、点集合やパラメーターに基づく複数の小さい領域を含めることができます。それらの小さい領域には、面積または体積が大きい順に一意の RegionID が割り当てられます。たとえば、2 つの領域をもつ 3 次元のアルファ形状を考えます。体積が大きい領域の RegionID は 1、体積が小さい領域の RegionID は 2 になります。
例: shp.RegionThreshold = area(shp,numRegions(shp)-2); は、2 次元アルファ形状 shp の領域を小さい方から 2 つ抑制します。
shp.RegionThreshold = area(shp,numRegions(shp)-2);
最近傍点のインデックス。整数値の配列として返されます。インデックスは shp.Points の行インデックスに対応し、与えられたクエリ点の最近傍である shp の境界点を示します。
クエリ点から最近傍点までの距離。数値配列で返します。D は 2 次元または 3 次元のユークリッド距離であり、サイズは I と同じです。
backgroundPool
ThreadPool
R2015a で導入
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Contact your local office