改进的最小包围球随机增量算法

作者:李世林;李红军 刊名:图学学报 上传者:牛晓辉

【摘要】三维空间中离散点集的最小包围球,在碰撞检测、计算几何和模式识别等领域都有广泛应用。为了更好地理解和构造最小包围球算法,首先对最小包围球的性质进行分析。然后,基于对随机增量算法的分析,提出了构造较大初始包围球和减少迭代过程中最小包围球更新次数两种策略。依据后一种策略提出的方法称为随机点组-重算最远点算法。计算机随机生成数据和现实三维模型采样数据的多组实验结果表明,随机点组-重算最远点算法相比于之前的经典算法能够有效地提高时间效率。

全文阅读

对于三维空间中的离散点集P,求解其最小包围球(minimum enclosing ball,MEB)以寻找一个半径最小的球,其包含P中所有的点,球体有许多良好的性质[1],因此在计算机图形学和计算几何中,与离散点集的凸包围多面体[2]相比,包围球常作为边界,可以更快地进行近似的碰撞检测、范围界定和形状分析。在空间数据库中,MEB的求解可用于建立空间数据索引,以便提高查询速度[3]。同时MEB问题在模式识别[4]、计算几何[5]、机器学习[6]等领域也有广泛应用。模型局部的包围球可以用于模型裁剪[7]或者重采样,因这些领域处理的数据集通常都是大规模的,所以提高MEB算法运行效率是很有必要的。MEB问题可以追溯到19世纪中期,Sylvester[8]在1857年提出了最小包围圆问题,并在1860年,给出了求解该问题的一种近似线性算法[9]。之后人们开始系统地研究该问题,比如最近的基于?-壳的最小包围圆求解算法[10],并研究从二维平面到三维空间再到更高维空间的算法;1982年,Megiddo[11]首次给出了一种理论上的线性时间算法,其时间复杂度是最小的,但算法本身的实现却很复杂;1991年,Welzl[12]提出了一种简单快捷的随机算法,其时间复杂度是线性级的,并指出该算法易于推广到高维空间的MEB和最小包围椭球(minimumenclosing ellipsoid)中。后来,Berg等[5]对该方法进行了进一步的改进,称之为随机增量算法(randomized incremental algorithm,RIA),该算法是求解MEB问题有代表性的经典算法。分析该算法可看出,影响求解的时间效率主要因素是MEB更新的次数,因此提高算法效率的策略有2种:1构造较大的初始MEB;2修改迭代过程中的选点规则。在给出这两种策略对应的具体算法之前,为便于理解和构造算法,先概述MEB的性质。1离散点集的最小包围球及其性质定义1.点集P的MEB定义为:??**3**,MEB():o rP?B?x?R x?o≤r(1)其中,*o为最优球心,*r为最优半径,?表示Euclidean范数。2012年,文献[13]给出一系列有关最小包围圆的性质,这里对应给出三维空间中MEB的有关性质,这将有助于RIA的理解和实现。性质1.三维空间中,有限离散点集的MEB是唯一的。此性质的证明见文献[12]。若P中只有一个点1p,则MEB是退化的,半径为0,球心为点1p。性质2.非退化的MEB可以由2~4个边界点定义。证明.点集P的MEB的构成有3种情况:(1)点集P中距离最远的两个点(1p,2p)作为边界点,1p,2p两点之间距离的一半作为球半径,两点连线段的中点作为球心。(2)点集P中任意3个点求其最小包围圆,其中最大的圆半径为r,圆心为o,确定该圆的那3个点(1p,2p,3p),若点集P中的任何一点与o之间的距离都小于r,则点集P的MEB的球心为o,半径为r,边界点是1p,2p,3p。(3)若有4个边界点,那么点集P的MEB为这4个点所构成的空间四面体的外接球。由空间几何的知识可知,空间四面体的包围球是唯一的,若边界点多于4个,那么边界点集中任意4个点所确定的MEB是等同的,都可以归纳为4个边界点。性质3.若点集P的MEB是由1p,2p,3p,4p 4个边界点确定,那么这4个点的MEB是其所构成的空间四面体的外接球。引理1.设点集P的子集1 2{,,,}i iP?p p?p的MEB为Di:(1)若点i1 ip D??,则点集1{}iP P p????的MEB为Di+1=Di;(2)若点

参考文献

引证文献

问答

我要提问