帮助中心帮助中心
本页翻译不是最新的。点击此处可查看最新英文版本。
确定点是否在 alpha 形状内部
tf = inShape(shp,qx,qy)
tf = inShape(shp,qx,qy,qz)
tf = inShape(shp,QP)
tf = inShape(___,RegionID)
[tf,ID] = inShape(___)
示例
对于位于二维 alpha 形状 shp 内的二维查询点 (qx,qy),tf = inShape(shp,qx,qy) 返回逻辑值 1 (true)。否则,inShape 返回逻辑值 0 (false)。qx 和 qy 参数是数值数组,其对应元素用于指定 (x,y) 查询点的坐标。
shp
(qx,qy)
tf
qx
qy
1
true
inShape
0
false
(x,y)
tf = inShape(shp,qx,qy,qz) 检验三维查询点 (qx,qy,qz) 是否位于三维 alpha 形状 shp 内。
qz
(qx,qy,qz)
tf = inShape(shp,QP) 在包含 2 列或 3 列的矩阵中指定二维或三维查询点的坐标。
QP
tf = inShape(___,RegionID) 结合上述语法检验这些查询点是否位于 alpha 形状的特定区域内。RegionID 是该区域的 ID 并且 1 ≤ RegionID ≤ numRegions(shp)。
RegionID
numRegions(shp)
[tf,ID] = inShape(___) 还返回 alpha 形状内查询点所在区域的 ID。对于不在 alpha 形状内的查询点,ID 为 NaN。
ID
NaN
全部折叠
创建一个二维点集。
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];
使用 alpha 半径 2.5 创建并绘制一个 alpha 形状。
shp = alphaShape(x,y,2.5); plot(shp)
在 alpha 形状附近创建一个笛卡尔查询点网格。
[qx, qy] = meshgrid(-10:2:25, -10:2:10);
检查这些查询点是否在 alpha 形状内部,如果是,则将其绘制为红色。用蓝色绘制位于 alpha 形状外部的查询点。
in = inShape(shp,qx,qy); plot(shp) hold on plot(qx(in),qy(in),'r.') plot(qx(~in),qy(~in),'b.')
alphaShape
alpha 形状,指定为 alphaShape 对象。有关详细信息,请参阅 alphaShape。
示例: shp = alphaShape(x,y) 根据 (x,y) 点坐标创建一个二维 alphaShape 对象。
shp = alphaShape(x,y)
查询点 x 坐标,指定为数值数组。
数据类型: double
double
查询点 y 坐标,指定为数值数组。
查询点 z 坐标,指定为数值数组。
查询点坐标,指定为包含两列的矩阵(二维)或包含三列的矩阵(三维)。
对于二维形状,QP 的列分别表示 x 坐标和 y 坐标。
x
y
对于三维形状,QP 的列分别表示 x、y 和 z 坐标。
z
alpha 形状中区域的 ID 编号,指定为介于 1 和 numRegions(shp) 之间的一个正整数标量。
alpha 形状可以包含多个较小的区域,具体取决于点集和参数。其中每个较小的区域都分配有一个唯一的 RegionID,以便于依照从最大面积或体积到最小面积或体积的顺序对这些区域进行编号。例如,考虑使用包含两个区域的三维 alpha 形状。体积较大的区域的 RegionID 为 1,较小区域的 RegionID 为 2。
示例: shp.RegionThreshold = area(shp,numRegions(shp)-2); 隐藏二维 alpha 形状 shp 中的两个最小区域。
shp.RegionThreshold = area(shp,numRegions(shp)-2);
查询点的状态,以逻辑数组形式返回。tf 的大小等于指定查询点的输入(qx、qy、qz 或 QP)的大小。
对于位于 alpha 形状内或恰好在边界上的点,inShape 返回逻辑值 1 (true)。
查询点所在区域的 ID,以数值数组形式返回。ID 的大小与 tf 相同。
在 R2014b 中推出
alphaShape | plot
plot
您点击的链接对应于以下 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