matlab中的convhull()函数使用什么算法?

时间:2012-09-07 23:11:46

标签: algorithm matlab computational-geometry convex-hull

MATLAB中的convhullconvhulln函数用什么算法来计算convex hull

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

2 个答案:

答案 0 :(得分:1)

(让我的评论回答)

根据MathWorks convhulln文档

  

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

有关详细信息,另请参阅qhull.m

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

答案 1 :(得分:1)

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

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


如果您查看发行说明,可以确认以下事实:

  

升级到计算几何

     

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

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

计算几何函数被更改

     

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

     

...

  替换scatteredInterpolant

TriScatteredInterp类      

TriScatteredInterp将在以后的版本中删除。使用新的   而是scatteredInterpolant课程。 scatteredInterpolant课程   对支持2-D和3-D散乱数据执行插值   在样本点的凸包外部进行外推。   scatteredInterpolant还支持网格矢量格式的查询   保存记忆。

     

...

     

triangulation类要替换TriRep

     

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

     

...

     

delaunayTriangulation类要替换DelaunayTri

     

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

     

...


TL; DR: