Main Content

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

surfaceArea

三维 alpha 形状的表面积

说明

示例

A = surfaceArea(shp) 返回三维 alpha 形状 shp 的总表面积,包括 alpha 形状中的任何内部空隙的表面积。

示例

A = surfaceArea(shp,RegionID) 返回 alpha 形状的某个区域的表面积。RegionID 是该区域的 ID 并且 1RegionIDnumRegions(shp)

示例

全部折叠

创建一个三维点集。

[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.5 创建并绘制一个 alpha 形状。

shp = alphaShape(P,1.5);
plot(shp)

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

计算 alpha 形状的表面积。

totalsurfarea = surfaceArea(shp)
totalsurfarea = 24.9361

分别计算每个区域的表面积。

regionsurfareas = surfaceArea(shp, 1:numRegions(shp))
regionsurfareas = 1×2

   12.4680   12.4680

输入参数

全部折叠

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

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

alpha 形状中区域的 ID 编号,指定为介于 1numRegions(shp) 之间的一个正整数标量。

alpha 形状可以包含多个较小的区域,具体取决于点集和参数。其中每个较小的区域都分配有一个唯一的 RegionID,以便于依照从最大面积或体积到最小面积或体积的顺序对这些区域进行编号。例如,考虑使用包含两个区域的三维 alpha 形状。体积较大的区域的 RegionID 为 1,较小区域的 RegionID 为 2。

示例: shp.RegionThreshold = area(shp,numRegions(shp)-2); 隐藏二维 alpha 形状 shp 中的两个最小区域。

数据类型: double

版本历史记录

在 R2014b 中推出

另请参阅

| |