30.3凸包

一组点的凸包是包含所有点的最小凸包。Octave具有以下函数convhullconvhulln以计算2维和N维点集的凸包。

 
: H = convhull (x, y)
: H = convhull (x, y, z)
: H = convhull (x)
: H = convhull (…, options)
: [H, V] = convhull (…)

计算二维或三维点集的凸包。

船体H是原始点集的线性索引向量,它指定哪些点形成封闭外壳。仅对于二维输入,输出以逆时针方式围绕船体排序。

输入x也可以是具有两列或三列的矩阵,其中第一列包含x数据,第二列包含y数据,并且可选的第三列包含z数据。

可选的最终参数必须是字符串或字符串的元胞数组,其中包含传递给基础qhull命令的参数。有关详细信息,详见Qhull库的文档http://www.qhull.org/html/qh-quick.htm#options。默认参数为{"Qt"}.

如果options不存在或[]则使用默认参数。否则options替换默认参数列表。要将用户参数附加到默认值,有必要重复中的默认参数options。使用空字符串不传递任何参数。

如果第二个输出V则计算包围凸包的体积。

详见: convhulln, delaunay, voronoi.

广告
 
: h = convhulln (pts)
: h = convhulln (pts, options)
: [h, v] = convhulln (…)

计算点集的凸包pts.

pts是尺寸为[n,dim]的矩阵,在维数为dim的空间中包含n个点。

船体h是点集的索引向量,并指定哪些点形成封闭外壳。

可选的第二个参数必须是字符串或字符串的元胞数组,其中包含传递给基础qhull命令的参数。有关详细信息,详见Qhull库的文档http://www.qhull.org/html/qh-quick.htm#options。默认参数取决于输入的尺寸:

如果options不存在或[]则使用默认参数。否则options替换默认参数列表。要将用户参数附加到默认值,有必要重复中的默认参数options。使用空字符串不传递任何参数。

如果第二个输出v则计算包围凸包的体积。

详见: convhull, delaunayn, voronoin.

广告

的使用示例convhull

x = -3:0.05:3;
y = abs (sin (x));
k = convhull (x, y);
plot (x(k), y(k), "r-", x, y, "b+");
axis ([-3.05, 3.05, -0.05, 1.05]);

上面的输出可以在中看到图30.5.

convhull

图30.5:简单点集的凸包


版权所有 © 2024-2025 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-2