[發(fā)明專利]一種基于半邊結(jié)構(gòu)的模型網(wǎng)格補(bǔ)全的方法有效
| 申請(qǐng)?zhí)枺?/td> | 201910336735.4 | 申請(qǐng)日: | 2019-04-25 |
| 公開(公告)號(hào): | CN110097642B | 公開(公告)日: | 2023-04-07 |
| 發(fā)明(設(shè)計(jì))人: | 王斌;楊曉春;龔正茂 | 申請(qǐng)(專利權(quán))人: | 東北大學(xué) |
| 主分類號(hào): | G06T17/20 | 分類號(hào): | G06T17/20;G06N3/084;G06N3/0499 |
| 代理公司: | 沈陽東大知識(shí)產(chǎn)權(quán)代理有限公司 21109 | 代理人: | 李運(yùn)萍 |
| 地址: | 110819 遼寧*** | 國省代碼: | 遼寧;21 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 半邊 結(jié)構(gòu) 模型 網(wǎng)格 方法 | ||
1.一種基于半邊結(jié)構(gòu)的模型網(wǎng)格補(bǔ)全的方法,其特征在于:包括如下步驟:
步驟1:獲取原始的網(wǎng)格數(shù)據(jù),若網(wǎng)格數(shù)據(jù)不是使用半邊結(jié)構(gòu)存儲(chǔ)的,則遍歷網(wǎng)格數(shù)據(jù)的每條邊,將其拆分成半邊,轉(zhuǎn)化為半邊結(jié)構(gòu);
步驟2:孔洞檢測;利用半邊結(jié)構(gòu)對(duì)網(wǎng)格數(shù)據(jù)進(jìn)行孔洞檢測,得到孔洞集合Hs={L1、L2、…、Lc};
步驟3:孔洞補(bǔ)全;在半邊結(jié)構(gòu)的基礎(chǔ)上使用三角形生長方法將步驟2中得到的集合Hs中的孔洞全部填充;
步驟3.1:計(jì)算集合Hs內(nèi)孔洞Lc中的所有邊界頂點(diǎn)相鄰的邊界邊在孔洞之內(nèi)的角度;
步驟3.2:找到孔洞Lc中夾角最小的兩條邊界邊,然后連接這兩條邊界邊的非公共點(diǎn),形成填充三角形,原始的孔洞被填充形成一個(gè)新的小的孔洞;
步驟3.3:重復(fù)步驟3.2,直到完成對(duì)孔洞Lc填充;
步驟3.4:將c自加1后重復(fù)步驟3.2至步驟3.2,直至將集合Hs中的所有孔洞都填充完畢;
步驟4:孔洞補(bǔ)全優(yōu)化;將步驟3中填充完畢的集合Hs優(yōu)化網(wǎng)格頂點(diǎn)的位置,將網(wǎng)格頂點(diǎn)的位置優(yōu)化之后,使用徑向基函數(shù)對(duì)隱式曲面進(jìn)行優(yōu)化,最終得到補(bǔ)全孔洞后的網(wǎng)格數(shù)據(jù);優(yōu)化的條件為:
其中dk為頂點(diǎn)vk的1環(huán)鄰域頂點(diǎn)數(shù),N1(vk)為頂點(diǎn)vk的1環(huán)鄰域頂點(diǎn)集合,vj為頂點(diǎn)vk的第j個(gè)1環(huán)鄰域頂點(diǎn);
將網(wǎng)格頂點(diǎn)的位置優(yōu)化之后,使用徑向基函數(shù)對(duì)隱式曲面進(jìn)行優(yōu)化;徑向基函數(shù)為僅依賴于離控制點(diǎn)c距離的函數(shù),表示為:h(x,c)=h(||x-c||),距離為歐式距離或范數(shù)距離或馬氏距離,其中,h代表神經(jīng)網(wǎng)絡(luò)激活函數(shù),x代表網(wǎng)格頂點(diǎn);
徑向基函數(shù)網(wǎng)絡(luò)是一個(gè)三層BP網(wǎng)絡(luò),將其表示為τ個(gè)基函數(shù)的線性組合,其中τ為正整數(shù):
其中f(*)表示平滑函數(shù),為網(wǎng)格數(shù)據(jù)的頂點(diǎn)數(shù)據(jù),通過在網(wǎng)格頂點(diǎn)上均勻采樣得到,為所有的頂點(diǎn)數(shù)據(jù),λk為網(wǎng)絡(luò)中的系數(shù)。
2.根據(jù)權(quán)利要求1所述的一種基于半邊結(jié)構(gòu)的模型網(wǎng)格補(bǔ)全的方法,其特征在于:所述步驟2包括如下具體步驟:
步驟2.1:檢測出所有的邊界邊并存儲(chǔ);遍歷網(wǎng)格數(shù)據(jù)中所有的半邊結(jié)構(gòu),判斷三角面片的每條邊是否都屬于兩個(gè)三角形,若屬于兩個(gè)三角形,則為內(nèi)邊;若屬于一個(gè)三角行,那么該邊屬于邊界邊,記錄所有的邊界邊,記為S={E1,E2,E3…Em};
步驟2.2:在邊界邊集合S中任意選取一條邊界邊記作Estart,Estart作為起始的邊界邊,并從集合S刪除Estart,尋找與Estart相鄰的邊界邊Ei,將符合條件的邊界邊Ei儲(chǔ)存到集合H中,在原邊界邊集合S中刪除邊界邊Ei;所述應(yīng)符合的條件為:將邊界邊Estart起點(diǎn)和終點(diǎn)分別定義為estart和estart,若集合中存在邊界邊Ei,將Ei起點(diǎn)和終點(diǎn)分別定義為si和ei,使得estart=si,那么邊界邊Estart和Ei是相鄰的邊界邊;
步驟2.3:將邊界邊Ei作為起始的邊界邊尋找與Ei相鄰的邊界邊,重復(fù)步驟2.2,直到找到最后一條符合條件的邊界邊記作Eend,將Eend起點(diǎn)和終點(diǎn)分別定義為send和eend,若滿足eend=sstart,則表示找到了首尾相連的邊界邊集合,即找到了孔洞,將集合H存儲(chǔ)到集合Hs中記作孔洞Lc,其中c={1,2,3,…},并清空集合H;若不滿足條件,則清空集合H;
步驟2.4:重復(fù)步驟2.2至步驟2.3,到邊界邊集合S為空集,則視為找到所有的孔洞。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于東北大學(xué),未經(jīng)東北大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910336735.4/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 卡片結(jié)構(gòu)、插座結(jié)構(gòu)及其組合結(jié)構(gòu)
- 鋼結(jié)構(gòu)平臺(tái)結(jié)構(gòu)
- 鋼結(jié)構(gòu)支撐結(jié)構(gòu)
- 鋼結(jié)構(gòu)支撐結(jié)構(gòu)
- 單元結(jié)構(gòu)、結(jié)構(gòu)部件和夾層結(jié)構(gòu)
- 鋼結(jié)構(gòu)扶梯結(jié)構(gòu)
- 鋼結(jié)構(gòu)隔墻結(jié)構(gòu)
- 鋼結(jié)構(gòu)連接結(jié)構(gòu)
- 螺紋結(jié)構(gòu)、螺孔結(jié)構(gòu)、機(jī)械結(jié)構(gòu)和光學(xué)結(jié)構(gòu)
- 螺紋結(jié)構(gòu)、螺孔結(jié)構(gòu)、機(jī)械結(jié)構(gòu)和光學(xué)結(jié)構(gòu)





