Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

criticalAlpha

定义形状中关键变换的 alpha 半径

说明

示例

a = criticalAlpha(shp,type) 返回使 alpha 形状产生显著变换的关键 alpha 半径。将 type 指定为 'all-points' 返回可生成包括所有点的 alpha 形状的最小 alpha 半径。将 type 指定为 'one-region' 返回可生成包括所有点只有一个区域的 alpha 形状的最小 alpha 半径。

示例

全部折叠

创建并绘制一个二维点集。

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.

使用默认 alpha 半径创建一个 alpha 形状。

shp = alphaShape(x,y);

计算生成一个包围所有点的 alpha 形状的最小 alpha 半径,并绘制相应的 alpha 形状。

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

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

计算生成一个包括所有点且只有一个区域的 alpha 形状的最小 alpha 半径。

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.

输入参数

全部折叠

alpha 形状,指定为 alphaShape 对象。有关详细信息,请参阅 alphaShape

示例: shp = alphaShape(x,y) 根据 (x,y) 点坐标创建一个二维 alphaShape 对象。

关键变换的类型,指定为 'all-points''one-region'

  • 'all-points' 对应于可生成一个包括所有点的 alpha 形状的最小 alpha 半径。

  • 'one-region' 对应于可生成一个包括所有点只有一个区域的 alpha 形状的最小 alpha 半径。

数据类型: char

输出参数

全部折叠

关键 alpha 半径,以标量的形式返回。a 是生成 alpha 形状的 alpha 半径的值,该形状包括所有点(如果 type'all-points')或包括单个区域中的所有点(如果 type'one-region')。

在使用 criticalAlpha 计算 a 后,您可以通过键入 shp.Alpha = a 使 shp 的 alpha 半径等于 a

版本历史记录

在 R2014b 中推出