Main Content

volume

三维 alpha 形状的体积

说明

示例

V = volume(shp) 返回三维 alpha 形状 shp 的体积。

示例

V = volume(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)

计算 alpha 形状的体积。

totalvol = volume(shp)
totalvol = 8.2468

分别计算两个区域的体积。

regionvols = volume(shp, 1:numRegions(shp))
regionvols = 1×2

    4.1234    4.1234

输入参数

全部折叠

三维 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 中推出

另请参阅

| |