【问题标题】:What algorithm does the convhull() function in Matlab use?Matlab中的convhull()函数使用什么算法?
【发布时间】:2012-09-01 20:02:01
【问题描述】:

MATLAB 中的convhullconvhulln 函数实现了哪些算法来计算convex hull

我找不到任何参考资料..

【问题讨论】:

标签: algorithm matlab computational-geometry convex-hull


【解决方案1】:

(让我的评论成为答案)

根据 MathWorks convhulln 文档

"convhulln 基于 Qhull。有关 Qhull 的信息,请参阅http://www.qhull.org/"

另请参阅qhull.m 了解更多信息。

理发师,C. B.,D.P.多布金和 H.T. Huhdanpaa,“The Quickhull Algorithm for Convex Hulls”,ACM 翻译。数学软件, 22(4), 1996.

【讨论】:

    【解决方案2】:

    过去,convhullconvhulln 在内部都使用 Qhull library

    然后从 R2009b 开始,convhull 切换到使用CGAL library 作为实现,(但不是convhulln)。


    如果您仔细阅读发行说明,您可以确认以下事实:

    升级到计算几何

    MATLAB 包含一个新的面向对象的计算几何套件 工具,以及一个名为 CGAL 的新底层库。新的 库提供了改进的鲁棒性、性能和内存 效率。新工具分为三类:

    • 新类 TriRep 为 2-D 和 3-D 空间中的三角剖分提供拓扑和几何查询。
    • 新类 DelaunayTri 为 Delaunay 三角剖分提供更多功能,包括拓扑和几何查询, 增量修改和边缘约束。
    • 新类 TriScatteredInterp 提供快速稳健的分散数据插值和新的自然邻域插值技术。

    计算几何函数正在改变

    2-D 和 3-D 计算几何函数 (delaunay, convhull, griddatavoronoidelaunay3griddata3) 不再使用 QHULL 或 QHULL 选项参数。 N-D 函数gridatan, delaunaynconvhullnvoronoin 仍然使用 QHULL。

    ...

    • 最后在 R2013a release notes 中,这些类被弃用,取而代之的是当前首选的方法:

    scatteredInterpolant 替换 TriScatteredInterp 的类

    TriScatteredInterp 将在未来的版本中删除。使用新的 scatteredInterpolant 类。 scatteredInterpolant 类 对 2-D 和 3-D 分散数据执行插值,支持 在样本点的凸包之外进行外推。 scatteredInterpolant 还支持网格矢量格式的查询 节省内存。

    ...

    triangulation 类替换 TriRep

    TriRep 将在未来的版本中删除。请改用新的 triangulation 类。 triangulation 类表示 2-D 和 3-D 三角剖分,使用 与TriRep 类似的形式和语法。

    ...

    delaunayTriangulation 类替换 DelaunayTri

    DelaunayTri 将在未来的版本中删除。使用新的 delaunayTriangulation 类。 delaunayTriangulation 使用类似的形式表示 2-D 和 3-D Delaunay 三角剖分 语法为DelaunayTri

    ...


    TL;DR:

    【讨论】:

      猜你喜欢
      • 2012-10-26
      • 2015-10-28
      • 2013-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-04
      相关资源
      最近更新 更多