计算机工程与应用 ›› 2009, Vol. 45 ›› Issue (1): 56-58.DOI: 10.3778/j.issn.1002-8331.2009.01.016

• 理论研究 • 上一篇    下一篇

平面点集凸壳的快速算法

赵 军1,曲仕茹2   

  1. 1.兰州交通大学 数理与软件工程学院,兰州 730070
    2.西北工业大学 自动化学院,西安 710072
  • 收稿日期:2008-04-29 修回日期:2008-07-29 出版日期:2009-01-01 发布日期:2009-01-01
  • 通讯作者: 赵 军

Efficient convex hull algorithm for plane point set

ZHAO Jun1,QU Shi-ru2   

  1. 1.Lanzhou Jiaotong University,Lanzhou 730070,China
    2.Northwestern Polytechnical University,Xi’an 710072,China
  • Received:2008-04-29 Revised:2008-07-29 Online:2009-01-01 Published:2009-01-01
  • Contact: ZHAO Jun

摘要: 提出一种计算平面点集凸壳的快速算法。利用极值点划分出四个矩形,它们包含了所有凸壳顶点,通过对矩形中的点进行扫描,排除明显不是凸壳顶点的点,剩余的点构成一个简单多边形。再利用极点顺序法判断多边形顶点的凹凸性并删除所出现的凹顶点,最终得到一个凸多边形即为点集的凸壳。整个算法简洁明了,避免了乘法运算(除最坏情况外),从而节省计算时间。

关键词: 平面点集, 凸壳, 简单多边形, 凹顶点

Abstract: An efficient algorithm for computing the convex hull of plane point set is proposed.Firstly,according to the extremity point of the point set,the point on the convex hull is restricted in four rectangles.By scanning the point in rectangles the point which is in evidence not on the convex hull is eliminated,and remain points can constitute a simple polygon.Then,the convexity-concavity of polygon’s vertex is recognized by the vertices sequence and all concavity vertexes are deleted.Lastly,a convex polygon is obtained and it is just the convex hull of the point set.Test results show the high efficiency and stability of this terse algorithm.

Key words: plane point set, convex hull, simple polygon, concave vertex