30.3凸包

一组点的凸包是包含所有点的最小凸包。Octave具有以下函数凸壳函数对流以计算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”}.

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

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

详见: 对流, delaunay, 泰森多边形.

 
: 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。默认参数取决于输入的尺寸:

  • 2D、3D、4D:param= {“Qt”}
  • 5D及更高版本:param= {“Qt”、“Qx”}

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

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

详见: 凸壳函数, delaunayn, 伏罗宁.

的使用示例凸壳函数

x=-3:0.05:3;y=绝对值(sin(x));k=凸包(x,y);绘图(x(k),y(k)“r-”,x,y“b+”);轴([3.05,3.05,-0.05,1.05]);

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

convhull

图30.5:简单点集的凸包


版权所有 © 2024 Octave中文网

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