平面点集的凸包

原创 2015年07月08日 20:40:50

概念:给定一个平面的点集q,求覆盖所有点的最小凸多边形(在多边形边上,或内部)。
主要求解思想:
采用分治算法
这里写图片描述
如图,先找出y坐标最大和做小的点,并入此多边形的顶点集(因为是y坐标最大和最小,所以此直线左边和右边的凸包合起来还是凸包);
对直线左右的点进行递归处理:
如直线左边,先找到一个离直线最远的点p并入多边形顶点集,连接p和ymin和ymax(因为是离直线d最远的点, 所以直线a左边的凸包和b上边的凸包合起来还是凸包,如图:
这里写图片描述
然后分别对直线a左边和直线b上边的点递归处理。
最后得到多边形的顶点集。
算法时间复杂度:0(n2)

这里写图片描述

注:图片截取于https://class.coursera.org/algorithms-001/lecture/81

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

凸包问题的五种解法

前言:首先,什么是凸包? 假设平面上有p0~p12共13个点,过某些点作一个多边形,使这个多边形能把所有点都“包”起来。当这个多边形是凸多边形的时候,我们就叫它“凸包”。如下图: 然后,什么是凸包...
  • Bone_ACE
  • Bone_ACE
  • 2015年05月29日 17:58
  • 21806

计算几何凸包详解

http://blog.csdn.net/qq_34374664?viewmode=contents 转自:http://blog.csdn.net/bone_ace/article/detail...

计算几何之求取二维点集的凸包/ 凸多边形包围盒

Graham 扫描法 1. 在点集Q中 寻找一个凸点p0;  寻找y 值最小的一个点,如果有多个y 值最小的点,则取x 值最小的; 2. 得到Q 中除p0 外的剩余点集{ p1, p2, ...pm}...

Graham扫描法求点集凸包的原理及代码实现

Graham扫描法求点集凸包的原理及代码实现

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

hunnu11326(基础凸包题,求凸包的点个数,和凸包顶点)

因为题目要求凸包中第一个输出最下最做点

matlab求凸包

实验结果需要一定的后处理,求凸包。matlab以专门的函数,查了半天也只能做到先用了,各个参数还不是很明白,先做记录。我是对一幅二值图像做凸包的,二值图如下: 然后用代码求出其凸包及最小外接...
  • jzwong
  • jzwong
  • 2016年05月24日 15:05
  • 1618

最小包围多边形(凸包;最小包围点集)——C代码例子

本文来自:http://alienryderflex.com/smallest_enclosing_polygon/ 这个C代码例子需要一群2维点集,如下图所示: 要获得包含这些点...
  • hjh2005
  • hjh2005
  • 2013年07月05日 09:05
  • 5026

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:平面点集的凸包
举报原因:
原因补充:

(最多只允许输入30个字)