一组点的凸包是包含所有点的最小凸包。Octave具有以下函数convhull
和convhulln
以计算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则计算包围凸包的体积。
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。默认参数取决于输入的尺寸:
{"Qt"}
{"Qt", "Qx"}
如果options不存在或[]
则使用默认参数。否则options替换默认参数列表。要将用户参数附加到默认值,有必要重复中的默认参数options。使用空字符串不传递任何参数。
如果第二个输出v则计算包围凸包的体积。
的使用示例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.
图30.5:简单点集的凸包
版权所有 © 2024-2025 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-2