【问题标题】:How can extract points which are formed a convex hull of 3 dimensions polygon in Matlab by using convexhull functions?如何使用凸包函数在Matlab中提取形成3维多边形凸包的点?
【发布时间】:2012-08-04 18:02:20
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

    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+')
    

    如果你使用 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;
    

    【讨论】:

    • 谢谢。但是,我需要那些形成凸面的坐标。从形状上很容易发现,但我有很多3维点。
    • 我能问你变量k里面是什么吗?可能我理解错了。
    • (x,y) 是所有点(蓝点)。 k 是构成凸包的那些点的索引。放到matlab中你会发现x(k(1)),y(k(1))是一个点,x(k(2)),y(k(2))是另一个点,所以在...
    猜你喜欢
    • 2013-02-04
    • 2013-04-25
    • 2015-02-16
    • 1970-01-01
    • 1970-01-01
    • 2020-08-27
    • 2018-11-26
    • 2013-05-26
    • 1970-01-01
    相关资源
    最近更新 更多