塊,用于依序計算距離序列中兩兩平均距離之間的比值,若比值 大于第一預(yù)設(shè)閾值,則檢測出距離序列中兩兩平均距離中排序在后的邊為密集邊;第一確 定模塊,用于若面信息所指示的面為平面,且平面的非密集邊長度與密集邊長度之比小于 第二預(yù)設(shè)閾值,則確定平面為第一密集面。
[0017] 進一步地,密集邊處理模塊包括:稀疏處理模塊,用于對第一密集面的密集邊進行 稀疏處理得到處理后的第四密集面,其中,對第一密集面的密集邊進行稀疏處理包括:獲取 第一密集面的密集邊的映射點數(shù)量〇和第一密集面的密集邊的節(jié)點數(shù)量k;刪除密集邊中 下標(biāo)非為1 ?n-1+l的節(jié)點,得到第四密集面,1 = 0,1,2…,n=k/o;單元構(gòu)造模塊,用于 獲取第四密集面的密集邊點集合《 = 1>1,y2,…,yp},依次從密集邊點集合中取yi、 ui+1以及第一密集面的密集邊的密集邊的映射點集合供中的節(jié)點Gi(i= 1,2,3…),構(gòu) 造第三單元,得到第二密集面,其中,i〈P。
[0018] 進一步地,重構(gòu)處理模塊包括:第一獲取模塊,用于獲取與第二單元鄰接的第四單 元;記錄模塊,用于若第四單元為尖銳單元,則將第四單元記錄為第一單元,直至第四單元 不為尖銳單元;第二獲取模塊,用于獲取第一單元、第二單元和第四單元構(gòu)成的圖形的最外 層節(jié)點的節(jié)點數(shù)據(jù);重構(gòu)子模塊,用于調(diào)用多邊形網(wǎng)格剖析算法對節(jié)點數(shù)據(jù)所包圍的多邊 形區(qū)域進行網(wǎng)格重構(gòu)處理,得到第三密集面。
[0019] 進一步地,位姿調(diào)整模塊包括:第二判斷模塊,用于判斷第一單元中內(nèi)角角度小于 預(yù)設(shè)角度值的內(nèi)角個數(shù);第三判斷模塊,用于若內(nèi)角個數(shù)為1,則判斷出第一單元為狹長三 角形單元,判斷狹長三角形單元的三個頂點是否均在第二密集面的邊界上,其中,三個頂點 包括第一節(jié)點、第二節(jié)點和第三節(jié)點,其中,第一節(jié)點的角度小于預(yù)設(shè)角度值。第一單元處 理模塊,用于若狹長三角形單元的三個頂點未均在第二密集面的邊界上,且第二節(jié)點和第 三節(jié)點均具有四個鄰接單元,比較第二節(jié)點和第三節(jié)點對應(yīng)狹長三角形單元的第一角度和 第二角度;若第一角度大于第二角度,則獲取四個鄰接單元的五個節(jié)點,刪除五個節(jié)點中的 第三節(jié)點,按照逆序生成第五單元和第六單元,得到第三密集面,其中,第五單元的頂點包 括第一節(jié)點、第二節(jié)點和五個節(jié)點中的第四節(jié)點,第六單元的頂點包括第二節(jié)點、第四節(jié)點 和五個節(jié)點中的第五節(jié)點,五個節(jié)點包括第一節(jié)點、第二節(jié)點、第三節(jié)點、第四節(jié)點和第五 節(jié)點。第二單元處理模塊,用于若狹長三角形單元的三個頂點未均在第二密集面的邊界上, 且第二節(jié)點或第三節(jié)點具有四個鄰接單元,獲取四個鄰接單元的五個節(jié)點,刪除五個節(jié)點 中具有四個鄰接單元的第三節(jié)點,按照逆序生成第五單元和第六單元,得到第三密集面,其 中,第五單元的頂點包括第一節(jié)點、第二節(jié)點和五個節(jié)點中的第四節(jié)點,第六單元的頂點包 括第二節(jié)點、第四節(jié)點和五個節(jié)點中的第五節(jié)點,五個節(jié)點包括第一節(jié)點、第二節(jié)點、第三 節(jié)點、第四節(jié)點和第五節(jié)點。
[0020] 第三單元處理模塊,用于若狹長三角形單元的三個頂點均在第二密集面的邊界 上,則獲取第二節(jié)點與第三節(jié)點的共同的共面鄰接單元,獲取共面鄰接單元的第四節(jié)點,按 照逆序生成第五單元和第六單元,得到第三密集面,其中,共面鄰接單元的頂點包括:第二 節(jié)點、第三節(jié)點和第四節(jié)點,第五單元為共面鄰接單元,第六單元的頂點包括:第一節(jié)點、第 二節(jié)點和第四節(jié)點。
[0021] 第四單元處理模塊,用于若內(nèi)角個數(shù)為2,則判斷出第一單元為扁平三角形單元, 獲取扁平三角形單元的第一節(jié)點、第二節(jié)點和第三節(jié)點,其中,第一節(jié)點和第二節(jié)點的角度 小于預(yù)設(shè)角度值。第四判斷模塊,用于判斷第一節(jié)點和第二節(jié)點是否均在第二密集面的邊 界上;第五單元處理模塊,用于若第一節(jié)點和第二節(jié)點不同時在第二密集面的邊界上,則獲 取第一節(jié)點與第三節(jié)點的共同的共面鄰接單元,獲取共面鄰接單元的第四節(jié)點,按照逆序 生成第五單元和第六單元,得到第三密集面,其中,共面鄰接單元的頂點包括:第一節(jié)點、第 三節(jié)點和第四節(jié)點,第五單元為共面鄰接單元,第六單元的頂點包括:第二節(jié)點、第三節(jié)點 和第四節(jié)點。第二計算模塊,用于若第一節(jié)點和第二節(jié)點同時在第二密集面的邊界上,則計 算第三節(jié)點的共面鄰接單元的數(shù)量。第六單元處理模塊,用于若共面鄰接單元的數(shù)量為1, 則獲取共面鄰接單元的第四節(jié)點,按照逆序生成第五單元和第六單元,得到第三密集面,其 中,共面鄰接單元的頂點包括:第一節(jié)點、第三節(jié)點和第四節(jié)點,第五單元為共面鄰接單元, 第六單元的頂點包括:第二節(jié)點、第三節(jié)點和第四節(jié)點。第七單元處理模塊,用于若共面鄰 接單元的數(shù)量為3,則獲取三個共面鄰接單元的四個節(jié)點,將三個共面鄰接單元的并集作 為第五單元,得到第三密集面,其中,三個共面鄰接單元的四個節(jié)點包括:第一節(jié)點、第二節(jié) 點、第三節(jié)點和第四節(jié)點,第五單元的頂點包括第一節(jié)點、第二節(jié)點和第四節(jié)點。第八單元 處理模塊,用于若共面鄰接單元的數(shù)量為4,則獲取四個共面鄰接單元的四個節(jié)點,其中,四 個節(jié)點包括:四個共面鄰接單元的并集組成的圖形的四個頂點,四個頂點包括:第一節(jié)點、 第二節(jié)點、第四節(jié)點和第五節(jié)點。比較模塊,用于比較第四節(jié)點的第一角度與第五節(jié)點的第 二角度;第九單元處理模塊,用于從第一角度與第二角度之間大的角度對應(yīng)的節(jié)點引出對 角線,重新劃分四個共面鄰接單元的并集組成的圖形,得到第五單元和第六單元,得到第三 密集面。
[0022] 根據(jù)發(fā)明實施例,可以在盡量保留原始拓?fù)湫畔ⅰ⒉粻奚鼉?yōu)化效率的前提下,將邊 界離散網(wǎng)格單元質(zhì)量較差單元(密集面的尖銳單元)進行特征化區(qū)分,針對不同類型采用 不同的高效優(yōu)化方法,完成全部網(wǎng)格單元的質(zhì)量調(diào)整任務(wù),從而通過局部光順的手段得到 高質(zhì)量的網(wǎng)格單元。通過本發(fā)明實施例,解決了現(xiàn)有技術(shù)中得到高質(zhì)量的三維模型中網(wǎng)格 的方法耗時長、效率低的問題,實現(xiàn)了快速高效地調(diào)整邊界網(wǎng)格單元的質(zhì)量的效果。
【附圖說明】
[0023] 構(gòu)成本申請的一部分的附圖用來提供對本發(fā)明的進一步理解,本發(fā)明的示意性實 施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
[0024] 圖1是根據(jù)本發(fā)明實施例的三維模型的邊界面網(wǎng)格單元的處理方法的流程圖;
[0025] 圖2是根據(jù)本發(fā)明實施例的第一種可選的三維模型的邊界面網(wǎng)格單元的處理方 法的流程圖;
[0026] 圖3是根據(jù)本發(fā)明實施例的三維模型的平面和曲面連接處節(jié)點分布類型和密集 邊的示意圖;
[0027] 圖4是根據(jù)本發(fā)明實施例的第二種可選的三維模型的邊界面網(wǎng)格單元的處理方 法的流程圖;
[0028] 圖5是根據(jù)本發(fā)明實施例的三維模型的尖銳單元的延拓示意圖;
[0029] 圖6是根據(jù)本發(fā)明實施例的第三種可選的三維模型的邊界面網(wǎng)格單元的處理方 法的流程圖;
[0030] 圖7是根據(jù)本發(fā)明實施例的第四種可選的三維模型的邊界面網(wǎng)格單元的處理方 法的流程圖;
[0031]圖8是根據(jù)本發(fā)明實施例的尖銳單元的分類的示意圖;
[0032] 圖9是根據(jù)本發(fā)明實施例的三維模型的邊界面網(wǎng)格單元的處理前后的對比圖;以 及
[0033] 圖10是根據(jù)本發(fā)明實施例的三維模型的邊界面網(wǎng)格單元的處理裝置的示意圖。
【具體實施方式】
[0034] 需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相 互組合。下面將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。
[0035] 為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的 附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是 本發(fā)明一部分的實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù) 人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本發(fā)明保護的范 圍。
[0036] 需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語"第一"、"第 二"等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使 用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實施例。此外,術(shù)語"包括"和 "具有"以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元 的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有 清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
[0037] 本發(fā)明實施例提供了一種三維模型的邊界面網(wǎng)格單元的處理方法。
[0038] 圖1是根據(jù)本發(fā)明實施例的三維模型的邊界面網(wǎng)格單元的處理方法的流程圖。如 圖1所示,該方法包括步驟如下:
[0039] 步驟S102:查找邊界網(wǎng)格單元數(shù)據(jù)中的密集邊,并基于密集邊確定第一密集面; [0040]步驟S104:對第一密集面的網(wǎng)格數(shù)據(jù)進行密集邊處理,得到第二密集面;
[0041] 步驟S106 :判斷第二密集面上的為尖銳單元的第一單元是否具有與其鄰接的為 尖銳單元的第二單元,其中,尖銳單元為至少有一個內(nèi)角的角度小于預(yù)設(shè)角度值的三角形 單元;
[0042] 步驟S108:若第二密集面上的為尖銳單元的第一單元不具有與其鄰接的為尖銳 單元的第二單元,按照第一單元的類型對第一單元進行位姿調(diào)整操作,得到第三密集面;
[0043] 步驟S110:若第二密集面上的為尖銳單元的第一單元具有與其鄰接的為尖銳單 元的第二單元,對第一單元和第二單元的區(qū)域進行重構(gòu)操作,得到第三密集面。
[0044] 采用本發(fā)明實施例,對三維模型的邊界網(wǎng)格單元數(shù)據(jù)進行處理,并且在處理過程 中,先確定密集面,對密集面進行密集邊處理,然后判斷第二密集面上的為尖銳單元的第一 單元是否具有與其鄰接的為尖銳單元的第二單元,也即判斷第二密集面上的尖銳單元是否 為獨立的,若第二密集面上的尖銳單元可以連成一個區(qū)域,則對該區(qū)域執(zhí)行重構(gòu)操作;若第 二密集面上的尖銳單元為單個的單元,則針對其的類型對其進行位姿操作。通過上述實施 例,可以在盡量保留原始拓?fù)湫畔?、不犧牲?yōu)化效率的前提下,將邊界離散