- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
改进的Graham扫描算法-工程科学与技术
一种平面点集的高效凸包算法
刘 凯1,夏 苗1,杨晓梅1*
四川大学 电气信息学院,四川 成都 610065)
摘 要:凸包问题是计算几何的基本问题之一。为了实时计算平面点集的凸包,近年来许多学者提出了很多优秀的算法,但依然不能满足实际中的实时性需求,因此,本文提出了一种简单但高效快速的凸包算法。根据凸包点的定义,凸包点必然位于平面点集的边缘;本算法根据凸包点的定义,能够快速地筛选出极少量的凸包点的候选点集,这是本算法的核心优势。然后,使用本文另外提出的一种简单易于实现的改进的Graham扫描算法,或者使用其他任何已有的凸包检测方法,就能够十分快速而准确地计算出点集的凸包。经典的Graham扫描算法使用一个基点来计算凸包,所提出的改进的算法则是根据凸包候选点的分布情况,将点集分成四个子块,也就是使用四个基点分别在每块中进行凸包检测,最后将每个子块中的检测结果进行合并,得到最终的完整凸包。实验中,采用一组公开的动物骨骼点云数据作为一次测试集。在凸包计算完全正确的情况下,当点数约为30万左右时,本算法的计算时间比其他算法减少2.22倍;当点数约为300万个点时,本算法的计算时间减少比其他方法减少5.42倍。点数越多,所提出算法就表现出越明显的优势。
关键词:凸包,预处理算法,改进的Graham扫描算法,平面点集
中图分类号:TP311.1
An Effective 2D Convex Hull Algorithm
Kai Liu1, Miao Xia1, Xiaomei Yang1*
(1. School of Electronic Engineering and Information, Sichuan Univ., Chengdu 610065)
Abstract: Convex hull is one of the essential issues in computational geometric of planar points set. Traditional convex hull methods can not meet the increasing demand that large mounts of points must be processed within a short time in practical engineering. Therefore, a simple but effective and time-saving approach combined of a preconditioning algorithm and a convex hull build algorithm is proposed by this paper. According to the definition of convex hull, the key points of convex hull must locate on the border of the planar points set. So a tiny number of these special points can be found out through the preconditioning algorithm on the bases of the convex hull definition. Furthermore, the preconditioning algorithm is the core algorithm of this article. After the preprocessing procedure, an improved Graham convex hull building algorithm which is simple but easily to be achieved is applied to calculate the final convex hull accurately and effectively, or any other convex hull methods can be adopted. Traditional Graham scan algorithm builds convex hull with one base point, while the improved Graham scan algorithm divides the points set into four subparts and generates four base points. These four base points are used to build the sub-convex
文档评论(0)