Main Content

criticalAlpha

形状の臨界遷移を定義するアルファ半径

説明

a = criticalAlpha(shp,type) は、アルファ形状に明確な遷移が現れる臨界アルファ半径を返します。type として 'all-points' を指定すると、すべての点を囲むアルファ形状を生成する最小のアルファ半径が返されます。type として 'one-region' を指定すると、すべての点を囲む "1 つの領域" で構成されるアルファ形状を生成する最小のアルファ半径が返されます。

すべて折りたたむ

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];
plot(x,y,'.')
axis equal

Figure contains an axes object. The axes contains a line object which displays its values using only markers.

既定のアルファ半径を使用してアルファ形状を作成します。

shp = alphaShape(x,y);

すべての点を囲むアルファ形状を生成する最小のアルファ半径を計算し、対応するアルファ形状をプロットします。

pc = criticalAlpha(shp,'all-points');
shp.Alpha = pc;
plot(shp)

Figure contains an axes object. The axes object contains an object of type patch.

すべての点を囲む 1 つの領域で構成されるアルファ形状を生成する最小のアルファ半径を計算します。

shp = alphaShape(x,y);
pc = criticalAlpha(shp,'one-region');
shp.Alpha = pc;
plot(shp)

Figure contains an axes object. The axes object contains an object of type patch.

入力引数

すべて折りたたむ

アルファ形状。alphaShape オブジェクトとして指定します。詳細については、alphaShape を参照してください。

例: shp = alphaShape(x,y) は、座標 (x,y) の点から 2 次元の alphaShape オブジェクトを作成します。

臨界遷移のタイプ。'all-points' または 'one-region' として指定されます。

  • 'all-points' は、すべての点を囲むアルファ形状を生成する最小のアルファ半径に対応します。

  • 'one-region' は、すべての点を囲む "1 つの領域" で構成されるアルファ形状を生成する最小のアルファ半径に対応します。

データ型: char

出力引数

すべて折りたたむ

臨界アルファ半径。スカラーとして返されます。a は、すべての点を囲むアルファ形状 (type'all-points' の場合) またはすべての点を囲む 1 つの領域で構成されるアルファ形状 (type'one-region' の場合) を生成するアルファ半径の値です。

criticalAlpha を使用して a を求めた後、「shp.Alpha = a」と入力して shp のアルファ半径に a を代入できます。

バージョン履歴

R2014b で導入