杨宏伟
(滨州学院 机电工程学院,山东 滨州 256600)
凸包是描述模型的一个重要特征,其求解算法在逆向工程、现代化农业、计算机图形学、先进制造技术等领域有着广泛的应用[1-3]。
文献[4]~[6]采用四边形法,分别求解点云在X轴及Y轴上的最大、最小点,标记为点A,点B,点C,点D,该四点组成四边形ABCD,判断点云中各点与该四边形的位置关系,若落入该四边形内部,则将其添加到内部点集L中,可证明,点集L中的点不可能是凸包点,将点集L中的点排除,实现对点云的精简,通过对精简后的点云求解凸包,实现对整个点云的凸包求解。该方案通过预处理排除大量不可能成为凸包顶点的点,可加速凸包的计算。
文献[7]~[9]对上述四边形法进行改进,首先求解点云的四边形ABCD,遍历四边形外部的点,分别求解距四条边AB,BC,CD,DA最远的点E,F,G,H,组成初始凸包AEBFCGDH,重复上述步骤,直到没有新的点加入到初始凸包中。
文献[10]~[11]提出一种基于网格和二叉树凸包求解算法,该算法基于网格和二叉树建立点云的拓扑关系,依据网格间的拓扑关系对点云进行精简,排除不可能成为凸包顶点的点,通过对精简后的点云求解凸包,实现对整个点云的凸包求解,该算法在点云精简前需先建立拓扑关系。
笔者提出一种平面散乱点云的凸包快速求解算法,该算法建立点云的最小外包围盒,分别求解距该外包围盒四个顶点最近的点,依据该点集建立最大内包围盒,可证明该最大内包围盒内的点不是凸包,将其排除,实现点云的精简,通过对精简后的点集求解凸包,实现对整个点云的凸包求解,实例表明该算法实现简单,且可显著提高凸包的求解效率。
跨境电商物流配送是跨境物流的最后一个环节,也是最容易出问题的环节。国内快递人员素质参差不齐,由于部分平台订单量多,很多包裹最后都没有直接送到消费者的手中,而多是寄放在承包商驿站等地方。而这些承包商时常招聘临时工,又疏于培训,此环节就容易出现暴力分拣现象。
步骤3:令p0=p1,重复步骤2,直到凸包点集形成闭环。
2018年9月26日,日本原子力规制委员会(NRA)批准东海2号机组重启,但前提是完成一系列安全改进措施。
步骤1:建立点云的最小外包围盒
求解图1所示点云在两个坐标轴上的极值点xmax,xmin,ymax,ymin,以点u0=(xmax,ymax)及点v0=(xmin,ymin)为对角顶点建立点云的最小外包围盒OBB=(u0,v0),该包围盒的另外两个顶点分别为u1=(xmax,ymin)及点v1=(xmin,ymax)。
步骤1:选择点云中的最下最右点p0,可证明该点必为凸包顶点集中的一个点,将其标记为凸包的初始点。
步骤3:去除内部点
图1 建立点云的最小外包围盒 图2 求解点云中距OBB中四个顶点最近的点
依据点集X建立最大内包围盒IBB=(r0,s0),其中,点r0=(max (p0x,p3x),max (p0y,p1y)),点s0=(min (p1x,p2x),min (p2y,p3y))。
进来的人叫萧林松,她认得他,在这个村子里承包砖瓦厂。她惊魂未定,忙问他有什么事吗,他嘿嘿了两声,她让他出去,他嬉皮笑脸地说讨杯水喝不行么,她犹豫了一下,就给他倒了一杯水,他接过去一饮而尽。后来,他的目光一动不动地落在她敞开的上衣领口处,空气仿佛也凝结成了胶质状态。就像是一个梦,透明,深邃,美丽。他贪婪的目光就像一头饿狼盯着一只绵羊,她的胸腔里发出愤怒的呼呼声,他依然用布满血丝的眼睛斜睨着。她再次让他出去,他雷打不动地站在原地,没有从门口出去,倒也没有什么别的举动。没有任何一点引诱的动作,也没有一句挑逗的话语,她的脸上更是冷若冰霜,没有一丝笑容。
从事食品药品监管工作13年来,韩宇坚持修身从俭、克己从严、执法从廉,树立了良好的食品药品监管干部形象,成为百姓安全饮食用药的忠实守护者。
遍历点云,求解距最小外包围盒OBB中四个顶点最近的点,记为点集X={pj|j=0,1,2,3},如图2所示。
遍历点云,判断各点与最大内包围盒 IBB的关系,若某点落入IBB,将该点从点云中移除,直到遍历结束。
经过步骤3去除内部点后,采用Graham Scan算法[12]对剩余的点云求解凸包,分为如下几个步骤:
图3 建立点云的最大 图4去除内部点内包围盒
2.3.5 饮食行为建议的来源 总体上,建议主要来源于父母(76.1%)、公婆(64.9%)、亲戚/邻居(31.2%)、朋友/同事(21.1%),部分来源于医生/护士(19.0%)、老公(13.7%)、网络(10.9%)、电视书刊杂志(10.8%)、月嫂(6.3%)。年轻女性中来源于朋友/同事(28.0%)、医生/护士(26.4%)、亲戚/邻居(24.9%)、网络(22.1%)、电视书刊杂志(18.5%)、月嫂(10.2%)的占比与婆婆/妈妈中不同,婆婆/妈妈中这几项占比分别为15.9%、13.2%、36.1%、2.4%、4.9%、3.2%,差异均有统计学意义(P<0.001)。
步骤2:建立点云的最大内包围盒
通过建立平面点云内外包围盒对数据点进行精简,排除大量不可能成为凸包顶点的数据点,以达到提高平面散乱点云凸包的求解速度的目的,具体精简步骤如下:
白丽筠在我屡次失约之后,主动提出跟我最后道别,从此不再烦我。但是她还有几句话想跟我说。我不知道她有什么样的话,但是我不能连这个机会也不给她,那我就简直不是人了。我又去了她的那所住宅,此前她把钥匙都给了我,我可以自由地进入她的房子。
图5 求解点云的凸包 图6 点云的凸包
图7、8为河马和压型部件的平面散乱点云,点的数量分别为28,420和42,130,精简后点的数量分别为12,680和11,846,精简率分别为55%和72%,在配置为 Intel(R) i7,双核CPU 2.20GHz,内存32G,操作系统为Windows XP Pro SP3的PC机上,采用本文算法求解散乱点云的凸包,结果分别如图7(b)和图8(b)所示,运行时间分别为0.022 s和0.027 s。
图7 河马模型的点云及其凸包
图8 压型部件的点云及其凸包
文中算法与目前现有算法相比具有如下特点:
(1) 通过建立平面散乱点云的最小外包围盒及最大内包围盒,排除大量不可能成为凸包顶点的冗余点,实现点云的精简,通过对精简后的点云求解凸包,近而实现对原始点云的凸包求解,可大幅提高运算效率。
(2) 文中提出的点云精简、排除冗余点的算法,除了可用于Graham Scan算法,还可用于其他凸包求解算法,算法适应性广。