alphaShape
依据二维和三维中的点构建的多边形和多面体
说明alphaShape
创建一个可将一组二维或三维点包围起来的边界面或三维体。您可以操作 alphaShape
对象收紧或放松包括这些点的拟合以创建非凸区域。您还可以添加或删除点,或者隐藏孔或区域。
在创建 alphaShape
对象后,可以执行几何查询。例如,您可以确定某个点是否在形状内,也可以计算构成该形状的区域数。还可以计算一些有用的数量值,例如面积、周长、表面积或体积,以及绘制形状以进行目测。
创建对象
要创建 alphaShape
对象,请使用 alphaShape
函数并利用输入参数定义形状的顶点。您还可以在创建 alphaShape
时指定 alpha 半径以及孔或区域的阈值。语法shp = alphaShape(x,y)
shp = alphaShape(x,y,z)
shp = alphaShape(P)
shp = alphaShape(___,a)
shp = alphaShape(___,Name,Value)
说明
示例shp
= alphaShape(x,y)
使用默认 alpha 半径创建一个包含点 (x,y)
的二维 alpha 形状。默认 alpha 半径将生成最紧凑的拟合 alpha 形状,将所有点包括在内。shp
表示多边形。多边形没有孤立的点或边,也没有悬边。
示例shp
= alphaShape(x,y,z)
使用默认 alpha 半径创建一个包含点 (x,y,z)
的三维 alpha 形状。shp
表示多面体。多面体具有如前所述的多边形特性,但它没有孤立的面或悬边。
示例shp
= alphaShape(P)
指定矩阵 P
的各列中的点 (x,y)
或 (x,y,z)
。
示例shp
= alphaShape(___,a)
使用上述语法中的任何参数创建一个 alpha 半径为 a
的 alpha 形状。
示例shp
= alphaShape(___,Name,Value)
使用一个或多个 Name,Value
对组参数指定的其他选项。例如,您可以使用 'HoleThreshold'
隐藏内部孔或空隙。输入参数x
- x 坐标列向量
点的 x 坐标,指定为列向量。数据类型: double
y
- y 坐标列向量
点的 y 坐标,指定为列向量。数据类型: double
z
- z 坐标列向量
点的 z 坐标,指定为列向量。数据类型: double
P
- 点的坐标包含两列的矩阵 | 包含三列的矩阵
点的坐标,指定为包含两列的矩阵(对于二维 alpha 形状)或包含三列的矩阵(对于三维 alpha 形状)。
- 对于二维形状,
P
的列分别表示x
坐标和y
坐标。 - 对于三维形状,
P
的列分别表示xy
坐标和z
坐标。
数据类型: double
a
- alpha 半径非负标量
alpha 半径,指定为非负标量。默认 alpha 半径为 a = criticalAlpha(shp,'all-points')
,它是生成包括所有点的 alpha 形状的最小 alpha 半径。
指定 a = c