線段的劃分,在纏論里花費(fèi)了不少筆墨,內(nèi)容最后講得也算清晰。將向上筆和向下筆分別構(gòu)成的特征向量序列,就可以通過尋找特征向量序列里的頂分型和底分型,找到線段的分界點(diǎn)。
實(shí)際程序化實(shí)現(xiàn)時(shí),在線段劃分的處理邏輯上,有這么幾個(gè)步驟(以從向上一筆開始尋找向上線段的終點(diǎn)為例):
(1)找到初始筆,該筆為向上一筆;
(2)從初始筆的起點(diǎn)A出發(fā),尋找特征向量序列X中的頂分型;
(3)如果找到特征向量序列X中的頂分型,并且其頂部位置低于初始筆的起點(diǎn)A,則將初始筆之后出現(xiàn)的最高一筆的終點(diǎn),作為該向上線段的終點(diǎn)B;然后以B點(diǎn)出發(fā)的第一筆(向下筆)作為初始筆,啟動(dòng)尋找向下線段終點(diǎn)的過程。這種情況極其少,只出現(xiàn)在第一筆向上,第二筆直接下穿第一筆低點(diǎn),并且其后一直運(yùn)行在第一筆之下的情況。
(4)如果找到特征向量序列X中的頂分型,并且其頂部位置高于第一筆起點(diǎn)A,則進(jìn)一步檢查此特征向量序列X中的頂分型是否存在跳空缺口:
1)如果沒有跳空缺口,則特征向量序列X中的頂分型位置B點(diǎn),即為線段分界點(diǎn)。然后以B點(diǎn)出發(fā)的第一筆(向下筆)作為初始筆,啟動(dòng)尋找向下線段終點(diǎn)的過程;
2)如果有跳空缺口,則以特征向量序列X中的頂分型位置B點(diǎn),不能確認(rèn)為線段分界點(diǎn),還需要以B點(diǎn)出發(fā)的第一筆(向下筆)作為初始筆,繼續(xù)尋找特征向量序列S中的底分型;
3)如果在某一筆向上超過B點(diǎn)之前,找到特征向量序列S中的底分型,則線段分界點(diǎn)B成立。
4)如果在某一筆向上超過B點(diǎn)之前,沒有找到特征向量序列S中的底分型,則線段分界點(diǎn)B不能成立。那么,就需要繼續(xù)以向上超越B點(diǎn)的那一筆為初始筆,尋找特征向量序列X中的頂分型。
(5)如果沒有找到特征向量序列X中的頂分型,則意味著向上線段一直沒有結(jié)束,以其中最高一筆的終點(diǎn),暫時(shí)作為向上線段的終點(diǎn)。
圖二

圖三

圖四

圖五
|