MATLAB 帮助中心
填充 alpha 形状的三角剖分
tri = alphaTriangulation(shp)
tri = alphaTriangulation(shp,RegionID)
[tri,P] = alphaTriangulation(___)
tri = alphaTriangulation(shp) 返回一个定义 alpha 形状的域的三角剖分。tri 中的每一行指定一个由顶点 ID(shp.Points 矩阵的行号)定义的三角形或四面体。
tri
shp
shp.Points
示例
tri = alphaTriangulation(shp,RegionID) 为 alpha 形状的某个区域返回一个三角剖分。RegionID 是该区域的 ID 并且 1 ≤ RegionID ≤ numRegions(shp)。
RegionID
1
numRegions(shp)
[tri,P] = alphaTriangulation(___) 支持任何上述语法,且返回一个顶点坐标矩阵 P。
P
全部折叠
创建一个三维点集。
[x1, y1, z1] = sphere(24); x1 = x1(:); y1 = y1(:); z1 = z1(:); x2 = x1+5; P = [x1 y1 z1; x2 y1 z1]; P = unique(P,'rows');
使用 alpha 半径 1 创建并绘制点云的 alpha 形状。
shp = alphaShape(P,1); plot(shp)
使用 alphaTriangulation 恢复定义 alpha 形状的域的三角剖分。
alphaTriangulation
tri = alphaTriangulation(shp);
计算构成 alpha 形状的四面体的总数。
numtetrahedra = size(tri,1)
numtetrahedra = 3828
alphaShape
alpha 形状,指定为 alphaShape 对象。有关详细信息,请参阅 alphaShape。
示例: shp = alphaShape(x,y) 根据 (x,y) 点坐标创建一个二维 alphaShape 对象。
shp = alphaShape(x,y)
(x,y)
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);
数据类型: double
double
以矩阵形式返回的三角剖分。tri 的大小为 mtri×nv,其中 mtri 是 alpha 形状中的三角形或四面体的数目,nv 是顶点数。nv 的值为 3(对于二维 alpha 形状)和 4(对于三维 alpha 形状)。
mtri
nv
3
4
您使用 alphaTriangulation 指定的输出数目可以更改在 tri 中使用的顶点索引。
以矩阵形式返回的顶点坐标。P 的大小为 N×dim,其中 N 是 alpha 形状中的点数,dim 为 2 或 3(对于二维或三维 alpha 形状)。
N
dim
2
在 R2014b 中推出
plot | alphaShape | triangulation | triplot
plot
triangulation
triplot
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处