專利名稱:曲面處理系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計(jì)算機(jī)輔助設(shè)計(jì)系統(tǒng)及方法,尤其是一種應(yīng)用于模型重建中的曲面處理系統(tǒng)及方法。
背景技術(shù):
目前,模型重建技術(shù)通常 是通過構(gòu)建曲面來實(shí)現(xiàn)的,在構(gòu)建曲面的過程中,根據(jù)實(shí)物模型的點(diǎn)云數(shù)據(jù)構(gòu)建曲面、對曲面利用幾何圖形例如三角形進(jìn)行網(wǎng)格化生成紋理,使得構(gòu)建的曲面更加逼近實(shí)物模型,在計(jì)算機(jī)輔助設(shè)計(jì)(computer aided design, CAD)中被廣泛應(yīng)用。通常,在三角網(wǎng)格化的過程中,曲面的內(nèi)部和外部都會產(chǎn)生大量三角形,且多個(gè)三角形會共用頂點(diǎn)(坐標(biāo)相同的頂點(diǎn))。生成的內(nèi)部三角形在象征模型表面紋理中的作用不大,但在生成紋理時(shí)會產(chǎn)生大量運(yùn)算量。其次,在生成紋理時(shí),對相同的數(shù)據(jù)進(jìn)行多次重復(fù)處理(例如多次處理坐標(biāo)相同的頂點(diǎn))會占用處理時(shí)間降低處理速度。另一方面,輸出三角網(wǎng)格化結(jié)果一般是利用單線程處理,沒有充分利用計(jì)算機(jī)的內(nèi)存資源和CPU的占用率。
發(fā)明內(nèi)容
鑒于以上內(nèi)容,有必要提供一種曲面處理系統(tǒng)及方法,可以在模型重建生成模型表面紋理的過程中,簡化內(nèi)部三角形紋理生成的運(yùn)算量,避免重復(fù)處理相同數(shù)據(jù),并充分利用CPU資源,在不影響模型重建的立體效果的前提下,提高模型重建的速度。一種曲面處理系統(tǒng),包括曲面網(wǎng)格化模塊、重復(fù)頂點(diǎn)處理模塊、內(nèi)部三角形刪除模塊及多線程執(zhí)行模塊。曲面網(wǎng)格化模塊根據(jù)計(jì)算裝置存儲的產(chǎn)品的點(diǎn)云數(shù)據(jù)構(gòu)建曲面,對曲面進(jìn)行三角網(wǎng)格化得到曲面的所有三角形,記錄各三角形的頂點(diǎn)標(biāo)志及坐標(biāo)到一個(gè)數(shù)據(jù)結(jié)構(gòu)。重復(fù)頂點(diǎn)處理模塊以相同標(biāo)志表示不同三角形中坐標(biāo)相同的頂點(diǎn),直到數(shù)據(jù)結(jié)構(gòu)中坐標(biāo)相同的頂點(diǎn)的頂點(diǎn)標(biāo)志也相同。內(nèi)部三角形刪除模塊識別曲面的表面三角形及內(nèi)部三角形,刪除曲面的內(nèi)部三角形。多線程執(zhí)行模塊獲取計(jì)算裝置的執(zhí)行單元的數(shù)目N,創(chuàng)建N個(gè)線程,將曲面的表面三角形分割成若干個(gè)小單位,隨機(jī)分配給N個(gè)線程。N個(gè)線程同步執(zhí)行讀取數(shù)據(jù)結(jié)構(gòu)中三角形的頂點(diǎn)標(biāo)志及坐標(biāo),以輸出曲面的所有表面三角形。一種曲面處理方法,該方法包括(A)根據(jù)計(jì)算裝置存儲的產(chǎn)品的點(diǎn)云數(shù)據(jù)構(gòu)建曲面,對曲面進(jìn)行三角網(wǎng)格化得到曲面的所有三角形,記錄各三角形的頂點(diǎn)標(biāo)志及坐標(biāo)到一個(gè)數(shù)據(jù)結(jié)構(gòu);(B)以相同標(biāo)志表示不同三角形中坐標(biāo)相同的頂點(diǎn),直到數(shù)據(jù)結(jié)構(gòu)中坐標(biāo)相同的頂點(diǎn)的頂點(diǎn)標(biāo)志也相同;(C)識別曲面的表面三角形及內(nèi)部三角形,刪除曲面的內(nèi)部三角形;及(D)獲取計(jì)算裝置的執(zhí)行單元的數(shù)目N,創(chuàng)建N個(gè)線程,將曲面的表面三角形分割成若干個(gè)小單位,隨機(jī)分配給N個(gè)線程,N個(gè)線程同步執(zhí)行讀取數(shù)據(jù)結(jié)構(gòu)中三角形的頂點(diǎn)標(biāo)志及坐標(biāo),以輸出曲面的所有表面三角形。相較于現(xiàn)有技術(shù),本發(fā)明提供的曲面處理系統(tǒng)及方法,可以在模型重建生成模型表面紋理的過程中,簡化內(nèi)部三角形紋理生成的運(yùn)算量,避免重復(fù)處理相同數(shù)據(jù),并充分利用CPU資源,在不影響模型重建的立體效果的前提下,提高模型重建的速度。
圖1是本發(fā)明曲面處理系統(tǒng)較佳實(shí)施例的功能模塊圖。圖2是本發(fā)明曲面處理方法較佳實(shí)施例的流程圖。圖3是圖2中步驟S20的細(xì)化流程圖。圖4是圖2中步驟S30的細(xì)化流程圖。圖5是求取曲面的一個(gè)平面的射平面與曲面所有平面的相交線的示意圖。圖6利用二維圖示輔助說明利用相交線數(shù)目的奇偶數(shù)判斷曲面的三角形是內(nèi)部三角形還是表面三角形。主要元件符號說明
權(quán)利要求
1.一種曲面處理方法,應(yīng)用于計(jì)算裝置,其特征在于,該方法包括: 曲面網(wǎng)格化步驟:根據(jù)計(jì)算裝置存儲的產(chǎn)品的點(diǎn)云數(shù)據(jù)構(gòu)建曲面,對曲面進(jìn)行三角網(wǎng)格化得到曲面的所有三角形,記錄各三角形的頂點(diǎn)標(biāo)志及坐標(biāo)到一個(gè)數(shù)據(jù)結(jié)構(gòu); 重復(fù)頂點(diǎn)處理步驟:以相同標(biāo)志表示不同三角形中坐標(biāo)相同的頂點(diǎn),直到數(shù)據(jù)結(jié)構(gòu)中坐標(biāo)相同的頂點(diǎn)的頂點(diǎn)標(biāo)志也相同; 內(nèi)部三角形 刪除步驟:識別曲面的表面三角形及內(nèi)部三角形,刪除曲面的內(nèi)部三角形; 多線程執(zhí)行步驟:獲取計(jì)算裝置的執(zhí)行單元的數(shù)目N,創(chuàng)建N個(gè)線程,將曲面的表面三角形分割成若干個(gè)小單位,隨機(jī)分配給N個(gè)線程,N個(gè)線程同步執(zhí)行讀取數(shù)據(jù)結(jié)構(gòu)中三角形的頂點(diǎn)標(biāo)志及坐標(biāo),以輸出曲面的所有表面三角形。
2.如權(quán)利要求1所述的曲面處理方法,其特征在于,所述重復(fù)頂點(diǎn)處理步驟包括: 確定曲面的最大包圍盒,將該最大包圍盒等分為多個(gè)小包圍盒,每個(gè)三角形對應(yīng)一個(gè)小包圍盒,記錄小包圍盒與三角形的對應(yīng)關(guān)系;及 依次讀取各個(gè)小包圍盒,將讀取的小包圍盒對應(yīng)的三角形的頂點(diǎn)坐標(biāo)與相鄰小包圍盒對應(yīng)的三角形的頂點(diǎn)坐標(biāo)比較,若兩個(gè)三角形存在坐標(biāo)相同的頂點(diǎn),則以相同的頂點(diǎn)標(biāo)志標(biāo)示該坐標(biāo)相同的頂點(diǎn)。
3.如權(quán)利要求2所述的曲面處理方法,其特征在于,與一個(gè)小包圍盒對應(yīng)的三角形落入或穿過該小包圍盒。
4.如權(quán)利要求1所述的曲面處理方法,其特征在于,所述內(nèi)部三角形刪除步驟中的識別曲面的表面三角形及內(nèi)部三角形包括以下步驟: 根據(jù)法向量相同的三角形產(chǎn)生一個(gè)平面,得到曲面的所有平面; 從該曲面的所有平面中讀取一個(gè)平面,生成一個(gè)沿該讀取的平面的法向量方向無限延伸的射平面,計(jì)算該射平面與延伸方向上的所有平面的相交線的數(shù)目;及 判斷相交線的數(shù)目為奇數(shù)還是偶數(shù),若相交線的數(shù)目為奇數(shù),則標(biāo)志該讀取的平面包括的所有三角形為曲面的內(nèi)部三角形,若相交線的數(shù)目為偶數(shù),則標(biāo)志該讀取的平面包括的所有三角形為曲面的表面三角形。
5.一種曲面處理系統(tǒng),其特征在于,該系統(tǒng)包括: 曲面網(wǎng)格化模塊,用于根據(jù)計(jì)算裝置存儲的產(chǎn)品的點(diǎn)云數(shù)據(jù)構(gòu)建曲面,對曲面進(jìn)行三角網(wǎng)格化得到曲面的所有三角形,記錄各三角形的頂點(diǎn)標(biāo)志及坐標(biāo)到一個(gè)數(shù)據(jù)結(jié)構(gòu); 重復(fù)頂點(diǎn)處理模塊,用于以相同標(biāo)志表示不同三角形中坐標(biāo)相同的頂點(diǎn),直到數(shù)據(jù)結(jié)構(gòu)中坐標(biāo)相同的頂點(diǎn)的頂點(diǎn)標(biāo)志也相同; 內(nèi)部三角形刪除模塊,用于識別曲面的表面三角形及內(nèi)部三角形,刪除曲面的內(nèi)部三角形; 多線程執(zhí)行模塊,用于獲取計(jì)算裝置的執(zhí)行單元的數(shù)目N,創(chuàng)建N個(gè)線程,將曲面的表面三角形分割成若干個(gè)小單位,隨機(jī)分配給N個(gè)線程,N個(gè)線程同步執(zhí)行讀取數(shù)據(jù)結(jié)構(gòu)中三角形的頂點(diǎn)標(biāo)志及坐標(biāo),以輸出曲面的所有表面三角形。
6.如權(quán)利要求5所述的曲面處理系統(tǒng),其特征在于,重復(fù)頂點(diǎn)處理模塊以相同標(biāo)志表示不同三角形的坐標(biāo)相同的頂點(diǎn)包括: 確定曲面的最大包圍盒,將該最大包圍盒等分為多個(gè)小包圍盒,每個(gè)三角形對應(yīng)一個(gè)小包圍盒,記錄小包圍盒與三角形的對應(yīng)關(guān)系;及 讀取各個(gè)小包圍盒,將讀取的小包圍盒對應(yīng)的三角形的頂點(diǎn)坐標(biāo)與相鄰小包圍盒對應(yīng)的三角形的頂點(diǎn)坐標(biāo)比較,若兩個(gè)三角形存在坐標(biāo)相同的頂點(diǎn),則以相同的頂點(diǎn)標(biāo)志標(biāo)示該坐標(biāo)相同的頂點(diǎn)。
7.如權(quán)利要求6所述的曲面處理系統(tǒng),其特征在于,與一個(gè)小包圍盒對應(yīng)的三角形落入或穿過該小包圍盒。
8.如權(quán)利要求5所述的曲面處理系統(tǒng),其特征在于,所述內(nèi)部三角形刪除模塊識別曲面的表面三角形及內(nèi)部三角形包括: 根據(jù)法向量相同的三角形產(chǎn)生一個(gè)平面,得到曲面的所有平面; 從該曲面的所有平面中讀取一個(gè)平面,生成一個(gè)沿該讀取的平面的法向量方向無限延伸的射平面,計(jì)算該射平面與延伸方向上的所有平面的相交線的數(shù)目;及 判斷相交線的數(shù)目為奇數(shù)還是偶數(shù), 若相交線的數(shù)目為奇數(shù),則標(biāo)志該平面包括的所有三角形為曲面的內(nèi)部三角形,若相交線的數(shù)目為偶數(shù),則標(biāo)志該平面包括的所有三角形為曲面的表面三角形。
全文摘要
本發(fā)明提供一種曲面處理系統(tǒng),該系統(tǒng)安裝并運(yùn)行于與點(diǎn)云數(shù)據(jù)捕獲裝置相連接的計(jì)算裝置。該計(jì)算裝置還包括存儲設(shè)備、處理器及顯示設(shè)備。點(diǎn)云數(shù)據(jù)捕獲裝置掃描得到產(chǎn)品的點(diǎn)云數(shù)據(jù),并傳送給計(jì)算裝置。該曲面處理系統(tǒng)一系列功能模塊,存儲設(shè)備存儲這些模塊的計(jì)算機(jī)化程序代碼。處理器執(zhí)行所述計(jì)算機(jī)化程序代碼,對根據(jù)產(chǎn)品的點(diǎn)云數(shù)據(jù)構(gòu)建的曲面進(jìn)行三角網(wǎng)格化,刪除三角形重復(fù)的頂點(diǎn)及內(nèi)部三角形,并創(chuàng)建多線程輸出網(wǎng)格化得到的表面三角形象征的曲面。顯示設(shè)備顯示所述輸出結(jié)果。本發(fā)明還提供一種曲面處理方法。
文檔編號G06F17/50GK103106690SQ20111035906
公開日2013年5月15日 申請日期2011年11月14日 優(yōu)先權(quán)日2011年11月14日
發(fā)明者張旨光, 吳新元, 湯華輝 申請人:鴻富錦精密工業(yè)(深圳)有限公司, 鴻海精密工業(yè)股份有限公司