如何利用凸壳函数提取在Matlab中形成三维多边形凸包的点?

时间:2012-08-07 17:05:20

标签: matlab convex-hull convex-polygon convex-optimization

我在Matlab中使用不同的凸包函数来找到形成凸包的点坐标。但是,这些函数返回三角形矩阵。 我该如何指定这些点? 谢谢。 Sepideh

1 个答案:

答案 0 :(得分:0)

我不确定我完全理解你的问题。也许如果以下内容没有说明,您可以编辑帖子以包含您正在使用的MATLAB函数的名称和一段代码?

MATLAB 中的convhull函数返回凸包中的坐标索引。

在以下示例中,(x(k), y(k))是坐标。 (直接从convhull doc

xx = -1:.05:1; yy = abs(sqrt(xx));
[x,y] = pol2cart(xx,yy);
k = convhull(x,y);
plot(x(k),y(k),'r-',x,y,'b+')

convhull example

如果您使用convexhull代替(convexhull doc),情况也是如此。

x = rand(10,1);
y = rand(10,1);
dt = DelaunayTri(x,y);
k = convexHull(dt);
plot(x,y, '.', 'markersize',10); 
hold on;
plot(x(k), y(k), 'r'); 
hold off;

convexhull example