楊宏偉
(濱州學院 機電工程學院,山東 濱州 256600)
凸包是描述模型的一個重要特征,其求解算法在逆向工程、現(xiàn)代化農(nóng)業(yè)、計算機圖形學、先進制造技術等領域有著廣泛的應用[1-3]。
文獻[4]~[6]采用四邊形法,分別求解點云在X軸及Y軸上的最大、最小點,標記為點A,點B,點C,點D,該四點組成四邊形ABCD,判斷點云中各點與該四邊形的位置關系,若落入該四邊形內(nèi)部,則將其添加到內(nèi)部點集L中,可證明,點集L中的點不可能是凸包點,將點集L中的點排除,實現(xiàn)對點云的精簡,通過對精簡后的點云求解凸包,實現(xiàn)對整個點云的凸包求解。該方案通過預處理排除大量不可能成為凸包頂點的點,可加速凸包的計算。
文獻[7]~[9]對上述四邊形法進行改進,首先求解點云的四邊形ABCD,遍歷四邊形外部的點,分別求解距四條邊AB,BC,CD,DA最遠的點E,F(xiàn),G,H,組成初始凸包AEBFCGDH,重復上述步驟,直到?jīng)]有新的點加入到初始凸包中。
文獻[10]~[11]提出一種基于網(wǎng)格和二叉樹凸包求解算法,該算法基于網(wǎng)格和二叉樹建立點云的拓撲關系,依據(jù)網(wǎng)格間的拓撲關系對點云進行精簡,排除不可能成為凸包頂點的點,通過對精簡后的點云求解凸包,實現(xiàn)對整個點云的凸包求解,該算法在點云精簡前需先建立拓撲關系。
筆者提出一種平面散亂點云的凸包快速求解算法,該算法建立點云的最小外包圍盒,分別求解距該外包圍盒四個頂點最近的點,依據(jù)該點集建立最大內(nèi)包圍盒,可證明該最大內(nèi)包圍盒內(nèi)的點不是凸包,將其排除,實現(xiàn)點云的精簡,通過對精簡后的點集求解凸包,實現(xiàn)對整個點云的凸包求解,實例表明該算法實現(xiàn)簡單,且可顯著提高凸包的求解效率。
跨境電商物流配送是跨境物流的最后一個環(huán)節(jié),也是最容易出問題的環(huán)節(jié)。國內(nèi)快遞人員素質參差不齊,由于部分平臺訂單量多,很多包裹最后都沒有直接送到消費者的手中,而多是寄放在承包商驛站等地方。而這些承包商時常招聘臨時工,又疏于培訓,此環(huán)節(jié)就容易出現(xiàn)暴力分揀現(xiàn)象。
步驟3:令p0=p1,重復步驟2,直到凸包點集形成閉環(huán)。
2018年9月26日,日本原子力規(guī)制委員會(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:去除內(nèi)部點
圖1 建立點云的最小外包圍盒 圖2 求解點云中距OBB中四個頂點最近的點
依據(jù)點集X建立最大內(nèi)包圍盒IBB=(r0,s0),其中,點r0=(max (p0x,p3x),max (p0y,p1y)),點s0=(min (p1x,p2x),min (p2y,p3y))。
進來的人叫蕭林松,她認得他,在這個村子里承包磚瓦廠。她驚魂未定,忙問他有什么事嗎,他嘿嘿了兩聲,她讓他出去,他嬉皮笑臉地說討杯水喝不行么,她猶豫了一下,就給他倒了一杯水,他接過去一飲而盡。后來,他的目光一動不動地落在她敞開的上衣領口處,空氣仿佛也凝結成了膠質狀態(tài)。就像是一個夢,透明,深邃,美麗。他貪婪的目光就像一頭餓狼盯著一只綿羊,她的胸腔里發(fā)出憤怒的呼呼聲,他依然用布滿血絲的眼睛斜睨著。她再次讓他出去,他雷打不動地站在原地,沒有從門口出去,倒也沒有什么別的舉動。沒有任何一點引誘的動作,也沒有一句挑逗的話語,她的臉上更是冷若冰霜,沒有一絲笑容。
從事食品藥品監(jiān)管工作13年來,韓宇堅持修身從儉、克己從嚴、執(zhí)法從廉,樹立了良好的食品藥品監(jiān)管干部形象,成為百姓安全飲食用藥的忠實守護者。
遍歷點云,求解距最小外包圍盒OBB中四個頂點最近的點,記為點集X={pj|j=0,1,2,3},如圖2所示。
遍歷點云,判斷各點與最大內(nèi)包圍盒 IBB的關系,若某點落入IBB,將該點從點云中移除,直到遍歷結束。
經(jīng)過步驟3去除內(nèi)部點后,采用Graham Scan算法[12]對剩余的點云求解凸包,分為如下幾個步驟:
圖3 建立點云的最大 圖4去除內(nèi)部點內(nèi)包圍盒
2.3.5 飲食行為建議的來源 總體上,建議主要來源于父母(76.1%)、公婆(64.9%)、親戚/鄰居(31.2%)、朋友/同事(21.1%),部分來源于醫(yī)生/護士(19.0%)、老公(13.7%)、網(wǎng)絡(10.9%)、電視書刊雜志(10.8%)、月嫂(6.3%)。年輕女性中來源于朋友/同事(28.0%)、醫(yī)生/護士(26.4%)、親戚/鄰居(24.9%)、網(wǎng)絡(22.1%)、電視書刊雜志(18.5%)、月嫂(10.2%)的占比與婆婆/媽媽中不同,婆婆/媽媽中這幾項占比分別為15.9%、13.2%、36.1%、2.4%、4.9%、3.2%,差異均有統(tǒng)計學意義(P<0.001)。
步驟2:建立點云的最大內(nèi)包圍盒
通過建立平面點云內(nèi)外包圍盒對數(shù)據(jù)點進行精簡,排除大量不可能成為凸包頂點的數(shù)據(jù)點,以達到提高平面散亂點云凸包的求解速度的目的,具體精簡步驟如下:
白麗筠在我屢次失約之后,主動提出跟我最后道別,從此不再煩我。但是她還有幾句話想跟我說。我不知道她有什么樣的話,但是我不能連這個機會也不給她,那我就簡直不是人了。我又去了她的那所住宅,此前她把鑰匙都給了我,我可以自由地進入她的房子。
圖5 求解點云的凸包 圖6 點云的凸包
圖7、8為河馬和壓型部件的平面散亂點云,點的數(shù)量分別為28,420和42,130,精簡后點的數(shù)量分別為12,680和11,846,精簡率分別為55%和72%,在配置為 Intel(R) i7,雙核CPU 2.20GHz,內(nèi)存32G,操作系統(tǒng)為Windows XP Pro SP3的PC機上,采用本文算法求解散亂點云的凸包,結果分別如圖7(b)和圖8(b)所示,運行時間分別為0.022 s和0.027 s。
圖7 河馬模型的點云及其凸包
圖8 壓型部件的點云及其凸包
文中算法與目前現(xiàn)有算法相比具有如下特點:
(1) 通過建立平面散亂點云的最小外包圍盒及最大內(nèi)包圍盒,排除大量不可能成為凸包頂點的冗余點,實現(xiàn)點云的精簡,通過對精簡后的點云求解凸包,近而實現(xiàn)對原始點云的凸包求解,可大幅提高運算效率。
(2) 文中提出的點云精簡、排除冗余點的算法,除了可用于Graham Scan算法,還可用于其他凸包求解算法,算法適應性廣。