用convhulln函数求N维点集的凸包,该函数的调用格式为:
K=convhulln(X) 返回X中各点的编号K。这些点组成了X的凸包的小面。X是一个m×n的数组,表示N维空间中的m个点。如果凸包有p个小面,则K是p×n的。该函数使用Qhull算法,要了解该算法的具体内容,请参见www.qhull.org。
K=convhulln(X,options) 指定字符串单元数组options,作为选项用在Qhull算法中。默认选项为:对于2~4维输入使用{'Qt'},对于5维及5维以上的输入使用{'Qt','Qx'}。如果options为[],则使用默认选项。如果options为{''},则不使用选项。
[K,v]=convhulln(…) 还返回凸包构成的体v。
根据维数的不同,可用不同方法绘convhulln函数输出数据的图形。
对于2维情况,使用plot函数绘图。
对于3维情况,使用trisurf函数绘图。调用序列为:
code.matlab
K=convhulln(X);
trisurf(K,X(:,1),X(:,2),X(:,3))
使用patch函数绘图,对小面颜色可以有更多的控制。
对于3维以上的情况,不能绘图。