王繼偉 張應中 羅曉芳


摘要:針對三角網格模型中曲率變化劇烈,跨多個特征面的復雜孔洞,提出一種基于脊線擬合的孔洞分割方法。首先檢測孔洞邊界上的曲率突變點,識別孔洞周邊區域的特征線,再將特征線進行配對,進而擬合出孔洞區域的分割線,將分割線離散化為由頂點鏈組成的多段線,與分段的孔洞邊界連接成簡單孔洞,最后采用簡單孔洞修補算法完成修補。實驗結果表明,該方法對曲率變化劇烈的孔洞修補效果良好,能較好的保持原模型的細節特征。
關鍵詞:復雜孔洞;孔洞區域特征;復雜孔洞分割;孔洞修復
中圖分類號:TP391 文獻標識碼:A 文章編號:1007-9416(2020)05-0054-01
在逆向工程中,三角網格模型的完整性和準確性對后續逆向設計有著至關重要的作用。但由于采集技術手段的局限性等原因易造成孔洞缺陷的產生。針對孔洞修補問題,國內外學者進行了大量的研究。Gen Li受該方法啟發,提出基于邊擴展的方法分割復雜孔洞。但仍然通過檢測投影多邊形來識別復雜孔洞,對于某些復雜孔洞難以恢復原邊界的特征。
1孔洞識別與提取
2復雜孔洞分割
2.1復雜孔洞標識
通常將曲率變化平緩的孔洞定義為簡單孔洞,將曲率變化劇烈、跨多個不同特征面的孔洞定義為復雜孔洞。復雜孔洞邊界上一定存在曲率變化較大的頂點,本文通過查找這些曲率突變頂點為起點,向網格區域延伸,獲得足夠采樣點來確定是否存在特征線,若存在,該點定義為特征頂點。具體標識方法如下:
(1)曲率突變頂點查找。如果孔洞邊界上一個頂點鄰接的三角面的曲率變化較大,該點稱為曲率突變頂點。本文采用頂點鄰接面的兩面角進行度量。二面角越小,則表示兩個相鄰的三角形越平滑;反之,就會出現棱線跡象。首先遍歷計算孔洞邊界頂點鄰接兩個三角面之間的兩面角a,如果a大于設置的閾值(例如30°),則該頂點為曲率突變點。
(2)特征線查找。以曲率突變頂點為起點追蹤查找,按兩面角最大方向查找,如圖1所示。查找算法步驟如下:
Stepl.按照上述方法查找曲率突變頂點。如圖l中頂點v,相鄰的面f1和f2的兩面角為a大于閾值,則選為曲率突變頂點。
Step2.對所有與v1相鄰面(已處理標記過的除外)一一配對計算兩面角:如果最大的兩面角大于設置的閾值,則將最大構成兩面角的邊選為追蹤延伸邊,該邊的另一個頂點則為下一個延伸頂點,如圖l中的v2,轉step3;如果所有計算的最大的兩面角都小于設置的閾值,轉step4。
Step3.如果查找的特征頂點個數小于N(預先設置的頂點數閾值,本實驗設置為8),轉step2;否則轉step4。
Step4.如果查找的特征頂點個數大于或等于N,表示能夠查找到由這一系列頂點連成一條特征折線,查找獲得的頂點形成為以孑L洞邊界頂點v,為起點,有N個采樣點v1,v2,…,vN的特征折線,結束查找。
2.2復雜孔洞區域特征分割
通常復雜孔洞會跨多個特征面,將一條完整的邊界特征線分割成2段或者多段。被分割的特征線會在孔洞上留下端點,通過查找原本在該條特征線上的兩個頂點并進行匹配稱為特征線匹配。
3實現與修復實例
實驗針對不同模型驗證了本文提出的孔洞修補算法。圖2(a)為帶有較大面積孔洞的齒輪模型,孔洞區域具有明顯的脊線幾何特征,圖2(b)為采用方法進行模型修補的實驗效果,圖2(c)為本文方法的修補效果。
圖3(a)為端蓋模型,孔洞區域曲率變化較大,跨多個越不同特征面。圖3(b)為采用方法進行模型修補的實驗效果,圖3(c)為本文方法的實驗效果,從修補結果可以看出,本文方法的修補效果較好的還原了端蓋模型的局部細節特征。
4結語
針對三角網格模型中曲率變化較大,跨多個特征區域面的復雜孔洞,本文提出一種基于孔洞區域特征分割的修復方法,首先進行單連通孔洞與非流形孔洞的識別,然后找到孔洞邊界上的曲率突變頂點與特征點,擬合特征線并進行配對,進而擬合出分割線,完成復雜孔洞的分割,最后現有算法對簡單孔洞進行修補。實驗結果表明,該方法對曲率變化劇烈的孔洞修補效果良好,能較好的保持原模型的細節特征。