包含一组点的三角形/圆形

时间:2014-03-16 19:36:50

标签: algorithm geometry computational-geometry

我在2D中有一组点。 我想找到:

  1. 包围所有点的最小三角形
  2. 包围所有点的最小圆圈。
  3. 有没有算法可以做到? 我遇到了Convex Hull,为一组点拟合凸多边形。但我想要一个圆圈和三角形。

    提前致谢

2 个答案:

答案 0 :(得分:9)

如果您指的是最小的区域,那么以下算法可能会有用。

三角

用于计算包围欧几里德2D空间中给定点集的最小区域三角形的线性(即O(n))算法的实现在以下开放获取科学中描述注意

0。 Parvu和D. Gilbert,线性最小面积包围三角算法的实现,计算和应用数学,Springer,第1-16页,2014年11月。

本科学说明仅提供了以下论文中最初引入的算法的详细说明:

学家O'Rourke,A。Aggarwal,S。Maddila和M. Baldwin,一种寻找最小封闭三角形的最优算法,Journal of Algorithms,vol。 7,不。 2,pp.258-269,1986年6月。

免责声明:我是本科学笔记的作者之一。

该算法的C ++ 实现可在以下位置获得: https://github.com/IceRage/minimal-area-triangle

并将包含在OpenCV的下一个主要版本(3.0)中。

以下文章介绍了围绕算法的最小区域:

-G。 Bernd,Fast and Robust Smallest Enclosing Balls,Proceedings of the 7th Annual European Symposium on Algorithms(ESA),Springer,pp 325-338,1999。

该算法的C ++ 实现可在以下位置获得: http://www.inf.ethz.ch/personal/gaertner/miniball.html

答案 1 :(得分:4)

这两个问题都有O(n)算法,但它们并不重要。请参阅http://en.wikipedia.org/wiki/Smallest-circle_problemhttp://prografix.narod.ru/source/orourke1986.pdf。计算轴对齐的边界框,或者在凸包的坐标的平均值上以圆或等边三角为中心将更容易。这可能是思考您的需求究竟是什么,或者找到库实现的好时机。