亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

產(chǎn)品stl模型快速自適應細分方法

文檔序號:6481234閱讀:304來源:國知局
專利名稱:產(chǎn)品stl模型快速自適應細分方法
技術領域
本發(fā)明提供一種產(chǎn)品STL模型快速自適應細分方法,屬于產(chǎn)品逆向工程技術領域。

背景技術
逆向工程的主要目的是得到實體模型表面的曲面表示,主要包括點云數(shù)據(jù)的獲取、預處理,產(chǎn)品STL模型的生成,光滑曲面的擬合。產(chǎn)品STL模型細分技術可從任意復雜網(wǎng)格出發(fā)構(gòu)建光滑曲面,滿足逆向工程等領域?qū)碗s結(jié)構(gòu)光滑曲面造型的需要,已成為曲面造型領域的研究熱點之一。
對現(xiàn)有的技術文獻檢索發(fā)現(xiàn),吳劍煌等在學術期刊《計算機集成制造系統(tǒng)》(2006,12(10)P1713-1717)上發(fā)表的論文“基于網(wǎng)格分割的自適應細分曲面算法研究”中,依據(jù)網(wǎng)格頂點與其極限位置間的距離,通過區(qū)域增長與合并對三角面片進行分類,由用戶指定將模型分為幾個區(qū)域,并區(qū)分細分區(qū)域與非細分區(qū)域,達到以較少三角面片表達模型信息的目的,但該方法需用戶指定將模型分為幾個區(qū)域并選取細分區(qū)域,自適應性差。
溫佩芝在學術期刊《計算機集成制造系統(tǒng)》(2007,13(3)P608-614)上發(fā)表的論文“自適應細分曲面算法及在快速成型數(shù)據(jù)處理中的應用”,及Amresh A等在專著《AdaptiveSubdivision Schemes for Triangular Meshes》(Arizona State University,2000)中,采用法矢點積或兩面角描述產(chǎn)品STL模型模型的曲率分布狀況,依據(jù)曲率對模型進行細分,達到以較少面片表達模型信息的目的,但以法矢點積或兩面角近似表達模型曲率,不能準確選取細分區(qū)域,細分精度低。
上述方法均沒有提出穩(wěn)健、高效的產(chǎn)品STL模型局部型面參考數(shù)據(jù)快速查詢方法,導致計算兩面角或近似曲率時需遍歷所有三角面片,計算量大,細分效率低,綜上所述,快速準確地對產(chǎn)品STL模型進行自適應細分已成為本領域技術人員亟待解決的技術問題。


發(fā)明內(nèi)容
為克服現(xiàn)有產(chǎn)品STL模型自適應細分方法在產(chǎn)品逆向工程數(shù)據(jù)處理中的不足,本發(fā)明的目的在于提供一種產(chǎn)品STL模型快速自適應細分方法,使之能對各種復雜型面產(chǎn)品STL模型進行細分,具有穩(wěn)定性強、細分效率高的特點,技術方案如下 一種產(chǎn)品STL模型快速自適應細分方法,其特征在于包含以下步驟一、將產(chǎn)品STL模型數(shù)據(jù)文件讀入到存儲設備中,并為其建立線性表存儲結(jié)構(gòu),基于R*-tree建立產(chǎn)品STL模型空間索引結(jié)構(gòu);二、深度優(yōu)先遍歷產(chǎn)品STL模型空間索引結(jié)構(gòu),查詢各三角面片的近鄰三角面片;三、依據(jù)近鄰三角面片的法矢計算產(chǎn)品STL模型中各三角面片所在位置的曲率;四、依據(jù)曲率分布情況對各三角面片進行分裂;五、對分裂后的三角面片進行頂點重定位,提高模型的光順性。
為實現(xiàn)發(fā)明目的,所述的產(chǎn)品STL模型快速自適應細分方法,在步驟一中,基于R*-tree建立產(chǎn)品STL模型空間索引結(jié)構(gòu),方法具體是定義結(jié)點包括索引結(jié)點和數(shù)據(jù)結(jié)點,索引結(jié)點包含根索引結(jié)點、內(nèi)部索引結(jié)點和葉索引結(jié)點,索引結(jié)構(gòu)的最上層結(jié)點為根索引結(jié)點、最下層結(jié)點為數(shù)據(jù)結(jié)點,每個數(shù)據(jù)結(jié)點對應一個三角面片,次底層結(jié)點為葉索引結(jié)點,其他結(jié)點為內(nèi)部索引結(jié)點,定義M為結(jié)點的最大子結(jié)點數(shù)(M為大于2的整數(shù))、m為結(jié)點的最小子結(jié)點數(shù)(m為小于或等于M/2的整數(shù)),每個索引結(jié)點的子結(jié)點數(shù)小于等于M且除根索引結(jié)點外所有結(jié)點的子結(jié)點數(shù)大于等于m,所有葉索引結(jié)點均在同一層;索引結(jié)構(gòu)中每個結(jié)點的軸向包圍盒恰好包圍該結(jié)點的所有子結(jié)點。
為實現(xiàn)發(fā)明目的,所述的產(chǎn)品STL模型快速自適應細分方法,在步驟二中,1)設當前結(jié)點current_node為產(chǎn)品STL模型索引結(jié)構(gòu)的根索引結(jié)點;2)若結(jié)點current_node的軸向包圍盒外接球與目標三角面片對應數(shù)據(jù)結(jié)點的軸向包圍盒外接球相交,則執(zhí)行步驟3),否則返回;3)若結(jié)點current_node為數(shù)據(jù)結(jié)點,則執(zhí)行步驟4),否則執(zhí)行步驟5);4)判斷結(jié)點current_node包含的三角面片與目標三角面片是否共點或共邊,若共點或共邊,則將當前三角面片添加到目標三角面片的近鄰序列L中;5)令結(jié)點current_node依次為步驟1)中結(jié)點current_node的子結(jié)點,執(zhí)行步驟2)。
為實現(xiàn)發(fā)明目的,所述的產(chǎn)品STL模型快速自適應細分方法,在步驟三中,依據(jù)近鄰三角面片的法矢計算網(wǎng)格模型中各三角面片所在位置的曲率,方法具體是令目標三角面片T的鄰接三角面片集合為L={ti|i=0,1,2…k-1},L中任一三角面片ti的法矢為ni,k為集合L包含的三角面片數(shù),采用公式計算三角面片T的曲率,曲率ξ越大說明三角面片T所在區(qū)域的型面特征越復雜,否則說明三角面片T所在區(qū)域較為光順。
為實現(xiàn)發(fā)明目的,所述的產(chǎn)品STL模型快速自適應細分方法,在步驟四中,依據(jù)曲率分布情況對三角面片進行分裂,方法具體是若共邊(v1,v2)的兩三角面片的曲率均大于預設閾值,則規(guī)定邊(v1,v2)的形狀因子為1,否則為0,令三角面片T的形狀因子d為其三條邊的形狀因子之和,依據(jù)形狀因子d值大小制定面片分裂規(guī)則如下a)若形狀因子d為3,則在其三條邊上均插入新點,將三角面片T分裂為四個三角面片;b)若形狀因子d為2,則在其形狀因子為1的兩條邊上插入新點,將三角面片T分裂為三個三角面片,使這三個三角面片的最小角最大;c)若形狀因子d為1,則在其形狀因子為1的邊上插入新點,將三角面片T分裂為兩個三角面片;d)若形狀因子d為0,表明三角面片T所在局部型面較為平坦,不對其分裂,若邊(v1,v2)為非邊界邊,且共此邊的兩三角面片為(v1,v2,v3)、(v1,v2,v4),則新插入點vE的坐標采用公式計算,若邊(v1,v2)為邊界邊,則新插入點vE的坐標采用公式計算。
為實現(xiàn)發(fā)明目的,所述的產(chǎn)品STL模型快速自適應細分方法,在步驟五中,對分裂后的三角面片頂點進行重定位,方法具體是設點v的鄰接點為vi(i=0,1,…k-1),則重定位后點v的坐標vV采用公式計算,式中β為各鄰接頂點的權(quán)值,采用公式計算。
本發(fā)明與現(xiàn)有技術相比,具有以下優(yōu)點 1)基于R*-tree建立產(chǎn)品STL模型空間索引結(jié)構(gòu),采用深度優(yōu)先遍歷方法快速準確地獲取目標三角面片的近鄰面片,提高了產(chǎn)品STL模型模型的細分效率; 2)采用三角面片法矢點積協(xié)方差準確描述了網(wǎng)格的曲率分布狀況,選擇曲率較大的區(qū)域進行細分,提高了模型的光順性; 3)依據(jù)曲率分布狀況對三角面片進行自適應細分,在曲率較大的區(qū)域進行細分,在較平坦區(qū)域只重定位網(wǎng)格頂點,不進行面片分裂,達到了以較少三角面片準確表達模型型面特征的目的。



圖1是本發(fā)明產(chǎn)品STL模型快速自適應細分方法程序流程圖。
圖2-圖6是本發(fā)明對維納斯頭像產(chǎn)品STL模型建立的空間索引結(jié)構(gòu)各層結(jié)點MBR模型圖。
圖7是本發(fā)明步驟二中獲取局部型面參考數(shù)據(jù)示意圖。
圖8是本發(fā)明步驟四中三角面片分裂規(guī)則示意圖。
圖9是本發(fā)明實施例中對圖2所示模型細分效果圖。
具體實施方法 下面結(jié)合附圖對本發(fā)明作進一步說明 圖1是本發(fā)明產(chǎn)品STL模型快速自適應細分方法程序?qū)崿F(xiàn)流程圖,產(chǎn)品STL模型快速自適應細分方法程序包含建立產(chǎn)品STL模型空間索引結(jié)構(gòu)程序1;查詢目標三角面片的近鄰三角面片程序2;計算各三角面片所在位置的曲率程序3;依據(jù)曲率分布情況對三角面片進行分裂程序4;對分裂后的三角面片進行頂點重定位程序5。其中,三角面片空間索引結(jié)構(gòu)構(gòu)建程序1將索引結(jié)構(gòu)各結(jié)點統(tǒng)一表示為四維點對象,采用k-means算法對三角面片進行聚類分簇,建立三角面片空間索引結(jié)構(gòu);查詢目標三角面片的近鄰三角面片程序2深度優(yōu)先遍歷產(chǎn)品STL模型空間索引結(jié)構(gòu),查詢與目標三角面片共邊或共點的三角面片;計算各三角面片所在位置的曲率程序3依據(jù)目標三角面片及其近鄰三角面片的法矢計算當前三角面片所在位置的近似曲率;依據(jù)曲率分布情況對三角面片進行分裂程序4依據(jù)三角面片及其鄰邊三角面片的曲率決定是否在當前三角面片各邊上插入新點,依據(jù)插入點的情況對該三角面片進行分裂;對分裂后的三角面片進行頂點重定位程序5依據(jù)其近鄰點的分布情況重新定位當前點的位置,使曲面更加光順。
圖2-圖6是本發(fā)明對維納斯頭像產(chǎn)品STL模型建立的空間索引結(jié)構(gòu)各層結(jié)點MBR模型圖,調(diào)用建立產(chǎn)品STL模型空間索引結(jié)構(gòu)程序1建立產(chǎn)品STL模型模型的空間索引結(jié)構(gòu),方法具體是定義結(jié)點包括索引結(jié)點和數(shù)據(jù)結(jié)點,索引結(jié)點包含根索引結(jié)點、內(nèi)部索引結(jié)點和葉索引結(jié)點,索引結(jié)構(gòu)的最上層結(jié)點為根索引結(jié)點、最下層結(jié)點為數(shù)據(jù)結(jié)點,每個數(shù)據(jù)結(jié)點對應一個三角面片,次底層結(jié)點為葉索引結(jié)點,其他結(jié)點為內(nèi)部索引結(jié)點,定義M取20、m取8,每個索引結(jié)點的子結(jié)點數(shù)小于等于M且除根索引結(jié)點外所有結(jié)點的子結(jié)點數(shù)大于等于m,所有葉索引結(jié)點均在同一層;索引結(jié)構(gòu)中每個結(jié)點的軸向包圍盒恰好包圍該結(jié)點的所有子結(jié)點。
圖7是本發(fā)明步驟二中獲取目標三角面片近鄰三角面片的示意圖,調(diào)用查詢目標三角面片的近鄰三角面片程序2查詢?nèi)我蝗敲嫫慕徣敲嫫?,步驟具體是1)設當前結(jié)點current_node為產(chǎn)品STL模型索引結(jié)構(gòu)的根索引結(jié)點;2)若結(jié)點current_node的軸向包圍盒外接球與目標三角面片對應數(shù)據(jù)結(jié)點的軸向包圍盒外接球相交,則執(zhí)行步驟3),否則返回;3)若結(jié)點current_node為數(shù)據(jù)結(jié)點,則執(zhí)行步驟4),否則執(zhí)行步驟5);4)判斷結(jié)點current_node包含的三角面片與目標三角面片是否共點或共邊,若共點或共邊,則將當前三角面片添加到目標三角面片的近鄰序列L中;5)令結(jié)點current_node依次為步驟1)中current_node的子結(jié)點,執(zhí)行步驟2)。
調(diào)用計算各三角面片所在位置的曲率程序3計算各三角面片的曲率,令目標三角面片T的鄰接三角面片集合為L={ti|i=0,1,2…k-1},L中任一三角面片ti的法矢為ni,k為集合L包含的三角面片數(shù)。采用公式計算三角面片T的曲率,曲率ξ越大,說明當前三角面片T所在區(qū)域的型面特征越復雜,否則說明T所在區(qū)域較為光順。
圖8是本發(fā)明中三角面片分裂規(guī)則示意圖,調(diào)用依據(jù)曲率分布情況對三角面片進行分裂程序4對三角面片進行分裂,方法具體是若共邊(v1,v2)的兩三角面片的曲率均大于預設閾值,則規(guī)定邊(v1,v2)的形狀因子為1,否則為0。令三角面片T的形狀因子d為其三條邊的形狀因子之和,依據(jù)形狀因子d值大小制定面片分裂規(guī)則如下a)若形狀因子d為3,則在其三條邊上均插入新點,將三角面片T分裂為四個三角面片;b)若形狀因子d為2,則在其形狀因子為1的兩條邊上插入新點,將三角面片T分裂為三個三角面片,使這三個三角面片的最小角最大;c)若形狀因子d為1,則在其形狀因子為1的邊上插入新點,將三角面片T分裂為兩個三角面片;d)若形狀因子d為0,表明三角面片T所在局部型面較為平坦,不對其分裂。若邊(v1,v2)為非邊界邊,且共此邊的兩三角面片為(v1,v2,v3)、(v1,v2,v4),則新插入點vE的坐標采用公式計算,若邊(v1,v2)為邊界邊,則新插入點vE的坐標采用公式計算。
調(diào)用對分裂后的網(wǎng)格進行頂點重定位程序5重新定位分裂后的網(wǎng)格頂點,方法具體是設點v的鄰接點為vi(i=0,1,…k-1),則重定位后點v的坐標vV采用公式計算,式中,β為各鄰接頂點的權(quán)值,采用公式計算。
圖9是本發(fā)明中對圖2所示模型細分效果圖,該模型的三角面片數(shù)為3921,型面特征較為復雜,分裂后的面片數(shù)為6604,從圖中可以看出,在眼、鼻等曲率較大區(qū)域?qū)δP瓦M行了細分,提高了模型的光順性,在較平坦區(qū)域只對網(wǎng)格頂點重定位,沒有進行面片分裂,以較少三角面片準確表達了模型型面特征,從局部放大圖可以看出,本發(fā)明準確地選取了細分區(qū)域,提高了模型的光順性。
其它產(chǎn)品STL模型曲面模型的基于型面曲率的快速自適應細分方法同上。
權(quán)利要求
1、一種產(chǎn)品STL模型快速自適應細分方法,其特征在于包含以下步驟一、將產(chǎn)品STL模型數(shù)據(jù)文件讀入到存儲設備中,并為其建立線性表存儲結(jié)構(gòu),基于R*-tree建立產(chǎn)品STL模型空間索引結(jié)構(gòu);二、深度優(yōu)先遍歷產(chǎn)品STL模型空間索引結(jié)構(gòu),查詢各三角面片的近鄰三角面片;三、依據(jù)近鄰三角面片的法矢計算產(chǎn)品STL模型中各三角面片所在位置的曲率;四、依據(jù)曲率分布情況對各三角面片進行分裂;五、對分裂后的三角面片進行頂點重定位,提高模型的光順性。
2、如權(quán)利要求1所述的產(chǎn)品STL模型快速自適應細分方法,其特征在于在步驟一中,基于R*-tree建立產(chǎn)品STL模型空間索引結(jié)構(gòu),方法具體是定義結(jié)點包括索引結(jié)點和數(shù)據(jù)結(jié)點,索引結(jié)點包含根索引結(jié)點、內(nèi)部索引結(jié)點和葉索引結(jié)點,索引結(jié)構(gòu)的最上層結(jié)點為根索引結(jié)點、最下層結(jié)點為數(shù)據(jù)結(jié)點,每個數(shù)據(jù)結(jié)點對應一個三角面片,次底層結(jié)點為葉索引結(jié)點,其他結(jié)點為內(nèi)部索引結(jié)點,定義M為結(jié)點的最大子結(jié)點數(shù)、m為結(jié)點的最小子結(jié)點數(shù),M為大于2的整數(shù),m為小于或等于M/2的整數(shù),每個索引結(jié)點的子結(jié)點數(shù)小于等于M且除根索引結(jié)點外所有結(jié)點的子結(jié)點數(shù)大于等于m,所有葉索引結(jié)點均在同一層;索引結(jié)構(gòu)中每個結(jié)點的軸向包圍盒恰好包圍該結(jié)點的所有子結(jié)點。
3、如權(quán)利要求1所述的產(chǎn)品STL模型快速自適應細分方法,其特征在于在步驟二中,1)設當前結(jié)點current_node為產(chǎn)品STL模型索引結(jié)構(gòu)的根索引結(jié)點;2)若結(jié)點current_node的軸向包圍盒外接球與目標三角面片對應數(shù)據(jù)結(jié)點的軸向包圍盒外接球相交,則執(zhí)行步驟3),否則返回;3)若結(jié)點current_node為數(shù)據(jù)結(jié)點,則執(zhí)行步驟4),否則執(zhí)行步驟5);4)判斷結(jié)點current_node包含的三角面片與目標三角面片是否共點或共邊,若共點或共邊,則將當前三角面片添加到目標三角面片的近鄰序列L中;5)令結(jié)點current_node依次為步驟1)中結(jié)點current_node的子結(jié)點,執(zhí)行步驟2)。
4、如權(quán)利要求1所述的產(chǎn)品STL模型快速自適應細分方法,其特征在于在步驟三中,依據(jù)近鄰三角面片的法矢計算網(wǎng)格模型中各三角面片所在位置的曲率,方法具體是令目標三角面片T的鄰接三角面片集合為L={ti|i=0,1,2…k-1},L中任一三角面片ti的法矢為ni,k為集合L包含的三角面片數(shù),采用公式計算三角面片T的曲率,曲率ξ越大說明三角面片T所在區(qū)域的型面特征越復雜,否則說明三角面片T所在區(qū)域較為光順。
5、如權(quán)利要求1所述的產(chǎn)品STL模型快速自適應細分方法,其特征在于在步驟四中,依據(jù)曲率分布情況對三角面片進行分裂,方法具體是若共邊(v1,v2)的兩三角面片的曲率均大于預設閾值,則規(guī)定邊(v1,v2)的形狀因子為1,否則為0,令三角面片T的形狀因子d為其三條邊的形狀因子之和,依據(jù)形狀因子d值大小制定面片分裂規(guī)則如下a)若形狀因子d為3,則在其三條邊上均插入新點,將三角面片T分裂為四個三角面片;b)若形狀因子d為2,則在其形狀因子為1的兩條邊上插入新點,將三角面片T分裂為三個三角面片,使這三個三角面片的最小角最大;c)若形狀因子d為1,則在其形狀因子為1的邊上插入新點,將三角面片T分裂為兩個三角面片;d)若形狀因子d為0,表明三角面片T所在局部型面較為平坦,不對其分裂,若邊(v1,v2)為非邊界邊,且共此邊的兩三角面片為(v1,v2,v3)、(v1,v2,v4),則新插入點vE的坐標采用公式計算,若邊(v1,v2)為邊界邊,則新插入點vE的坐標采用公式計算。
6、如權(quán)利要求1所述的產(chǎn)品STL模型快速自適應細分方法,其特征在于在步驟五中,對分裂后的三角面片頂點進行重定位,方法具體是設點v的鄰接點為vi(i=0,1,…k-1),則重定位后點v的坐標vV采用公式計算,式中β為各鄰接頂點的權(quán)值,采用公式計算。
全文摘要
本發(fā)明提供一種用于產(chǎn)品逆向工程中的產(chǎn)品STL模型快速自適應細分方法,其特征在于讀取產(chǎn)品STL模型數(shù)據(jù)文件,基于R*-tree建立其空間索引結(jié)構(gòu),深度優(yōu)先遍歷產(chǎn)品STL模型空間索引結(jié)構(gòu),查詢各三角面片的近鄰三角面片,依據(jù)近鄰三角面片的法矢計算網(wǎng)格模型中各三角面片所在位置的曲率,依據(jù)曲率分布情況對三角面片進行分裂,最后對分裂后的網(wǎng)格頂點進行重定位,提高模型的光順性。本發(fā)明可對各種復雜型面產(chǎn)品STL模型曲面模型進行細分,具有穩(wěn)定性強、細分效率高的特點,應用于產(chǎn)品逆向工程數(shù)據(jù)處理中可有效提高模型的光順性。
文檔編號G06T17/00GK101510226SQ200910019898
公開日2009年8月19日 申請日期2009年3月26日 優(yōu)先權(quán)日2009年3月26日
發(fā)明者孫殿柱, 朱昌志, 健 劉, 崔傳輝 申請人:山東理工大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1