專利名稱:曲面網(wǎng)格化系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種影像量測系統(tǒng)及方法,尤其涉及一種曲面網(wǎng)格化系統(tǒng)及方法。
背景技術(shù):
在三次元測量中,CAD曲面模型(待測物體三維模型)主要應(yīng)用于測針仿真、離線編程、運(yùn)動控制和影像量測,而這些應(yīng)用需要CAD曲面模型做快速移動、縮放和旋轉(zhuǎn)等動態(tài)變換。但是,在常規(guī)的CAD曲面模型網(wǎng)格化處理方法中,因網(wǎng)格化后的數(shù)據(jù)量超過了實(shí)際所 需的幾十倍或上百倍,從而造成CAD曲面模型動態(tài)變換的計算量過大,使整個測量過程都會變得緩慢,更嚴(yán)重的后果可能是無法應(yīng)用。
發(fā)明內(nèi)容
鑒于以上內(nèi)容,有必要提供一種曲面網(wǎng)格化系統(tǒng),其可對待測物體的CAD曲面模型的網(wǎng)格化數(shù)據(jù)進(jìn)行精簡。鑒于以上內(nèi)容,還有必要提供一種曲面網(wǎng)格化方法,其可對待測物體CAD曲面模型的網(wǎng)格化數(shù)據(jù)進(jìn)行精簡。一種曲面網(wǎng)格化系統(tǒng),應(yīng)用于計算裝置中,該系統(tǒng)包括邊界線取樣點(diǎn)獲取模塊,用于從計算裝置的存儲器中獲取待測物體的邊界輪廓線的取樣點(diǎn),即邊界線取樣點(diǎn);所述邊界線取樣點(diǎn)獲取模塊還用于根據(jù)獲取的邊界線取樣點(diǎn)構(gòu)建一個邊界點(diǎn)鏈表;曲面取樣點(diǎn)獲取模塊,用于獲取待測物體的曲面的取樣點(diǎn),并構(gòu)建一個曲面取樣點(diǎn)隊列;插入模塊,用于將邊界點(diǎn)鏈表中的取樣點(diǎn)插入到曲面取樣點(diǎn)隊列中,獲取若干個包圍盒;交點(diǎn)計算模塊,用于獲取待測物體曲面的參數(shù)平面的V直線與邊界輪廓線的交點(diǎn),所述V直線是指平行于參數(shù)平面V方向的直線;及網(wǎng)格化模塊,用于用每個包圍盒內(nèi)的邊界線取樣點(diǎn)、曲面取樣點(diǎn)及交點(diǎn)構(gòu)建三角形。一種曲面網(wǎng)格化方法,運(yùn)行于計算裝置中,該方法包括如下步驟邊界線取樣點(diǎn)獲取步驟,從計算裝置的存儲器中獲取待測物體的邊界輪廓線的取樣點(diǎn),即邊界線取樣點(diǎn);邊界點(diǎn)鏈表構(gòu)建步驟,根據(jù)獲取的邊界線取樣點(diǎn)構(gòu)建一個邊界點(diǎn)鏈表;曲面取樣點(diǎn)獲取步驟,獲取待測物體的曲面的取樣點(diǎn),并構(gòu)建一個曲面取樣點(diǎn)隊列;插入步驟,將邊界點(diǎn)鏈表中的取樣點(diǎn)插入到曲面取樣點(diǎn)隊列中,獲取若干個包圍盒;
交點(diǎn)計算步驟,獲取待測物體曲面的參數(shù)平面的V直線與邊界輪廓線的交點(diǎn),所述V直線是指平行于參數(shù)平面V方向的直線;及網(wǎng)格化步驟,用每個包圍盒內(nèi)的邊界線取樣點(diǎn)、曲面取樣點(diǎn)及交點(diǎn)構(gòu)建三角形。前述方法可以由電子設(shè)備(如電腦)執(zhí)行,其中該電子設(shè)備具有附帶了圖形用戶界面(⑶I)的顯示屏幕、一個或多個處理器、存儲器以及保存在存儲器中用于執(zhí)行這些方法的一個或多個模塊、程序或指令集。在某些實(shí)施例中,該電子設(shè)備提供了包括無線通信在內(nèi)的多種功能。用于執(zhí)行前述方法的指令可以包含在被配置成由一個或多個處理器執(zhí)行的計算機(jī)程序廣品中。相較于現(xiàn)有技術(shù),所述的曲面網(wǎng)格化系統(tǒng)及方法,其可對待測物體的CAD曲面模型的網(wǎng)格化數(shù)據(jù)進(jìn)行精簡,并在精減的過程中保持高精度的要求,以實(shí)現(xiàn)測量所需的速度, 提高了影像測量的效率。
圖I是本發(fā)明計算裝置的結(jié)構(gòu)示意圖。圖2是曲面網(wǎng)格化系統(tǒng)的功能模塊圖。圖3是本發(fā)明曲面網(wǎng)格化方法的較佳實(shí)施例的流程圖。圖4是圖3中步驟SI的具體流程圖。圖5是步驟SI的示例圖。圖6是圖3中步驟S2的具體流程圖。圖7是步驟S2的示例圖。圖8是圖3中步驟S3的具體流程圖。圖9是步驟S3的示例圖。圖10是圖3中步驟S4的具體流程圖。圖11是步驟S4的示例圖。圖12是圖3中步驟S6的具體流程圖。圖13和圖14是步驟S6的示例圖。主要元件符號說明
計算裝置P
顯示設(shè)備20
輸入設(shè)備22
存儲器23
曲面網(wǎng)格化系統(tǒng)24
處理器2權(quán)利要求
1.一種曲面網(wǎng)格化系統(tǒng),應(yīng)用于計算裝置中,其特征在于,該系統(tǒng)包括 邊界線取樣點(diǎn)獲取模塊,用于從計算裝置的存儲器中獲取待測物體的邊界輪廓線的取樣點(diǎn),即邊界線取樣點(diǎn); 所述邊界線取樣點(diǎn)獲取模塊還用于根據(jù)獲取的邊界線取樣點(diǎn)構(gòu)建一個邊界點(diǎn)鏈表; 曲面取樣點(diǎn)獲取模塊,用于獲取待測物體的曲面的取樣點(diǎn),并構(gòu)建一個曲面取樣點(diǎn)隊列; 插入模塊,用于將邊界點(diǎn)鏈表中的取樣點(diǎn)插入到曲面取樣點(diǎn)隊列中,獲取若干個包圍盒; 交點(diǎn)計算模塊,用于獲取待測物體曲面的參數(shù)平面的V直線與邊界輪廓線的交點(diǎn),所述V直線是指平行于參數(shù)平面V方向的直線;及 網(wǎng)格化模塊,用于用每個包圍盒內(nèi)的邊界線取樣點(diǎn)、曲面取樣點(diǎn)及交點(diǎn)構(gòu)建三角形。
2.如權(quán)利要求I所述的曲面網(wǎng)格化系統(tǒng),其特征在于,該系統(tǒng)還包括輸出模塊,用于根據(jù)該待測物體曲面的參數(shù)方程將所有三角形頂點(diǎn)的二維UV坐標(biāo)映射回三維空間曲面中的三維點(diǎn)坐標(biāo),并根據(jù)三角形頂點(diǎn)三維坐標(biāo)輸出三角網(wǎng)格化后的曲面。
3.如權(quán)利要求I所述的曲面網(wǎng)格化系統(tǒng),其特征在于,所述邊界線取樣點(diǎn)獲取模塊獲取邊界線取樣點(diǎn)包括 從存儲器中讀取待測物體的三維模型; 從該三維模型中讀取待測物體的邊界輪廓線; 從邊界輪廓線中讀取曲線,對曲線進(jìn)行均勻布點(diǎn)以獲取邊界線取樣點(diǎn); 計算曲線上每兩個取樣點(diǎn)Pl和P2連線的中點(diǎn)P3,并計算該兩個取樣點(diǎn)在曲線上的中點(diǎn)P4 ; 當(dāng)P3和P4的距離大于第一預(yù)設(shè)值時,將P4加入邊界線取樣點(diǎn)隊列中(P1、P4、P2、···);及 當(dāng)曲線上的所有取樣點(diǎn)計算完畢后,輸出邊界線取樣點(diǎn)隊列。
4.如權(quán)利要求I所述的曲面網(wǎng)格化系統(tǒng),其特征在于,所述邊界線取樣點(diǎn)獲取模塊根據(jù)獲取的邊界線取樣點(diǎn)構(gòu)建一個邊界點(diǎn)鏈表包括 從邊界線取樣點(diǎn)隊列中讀取邊界線取樣點(diǎn); 根據(jù)邊界線取樣點(diǎn)數(shù)量構(gòu)造一個鏈表; 將每個邊界線取樣點(diǎn)在邊界線取樣點(diǎn)隊列中的下標(biāo)插入該鏈表內(nèi)部;及 將該鏈表連接成為一個環(huán)形鏈表。
5.如權(quán)利要求I所述的曲面網(wǎng)格化系統(tǒng),其特征在于,所述曲面取樣點(diǎn)獲取模塊獲取待測物體的曲面的取樣點(diǎn),并構(gòu)建一個曲面取樣點(diǎn)隊列包括 獲取待測物體的曲面參數(shù)平面的U方向和V方向的控制點(diǎn)數(shù)量; 根據(jù)曲面參數(shù)平面U方向和V方向的控制點(diǎn)數(shù)量,獲取U方向和V方向上的取樣點(diǎn);計算U方向和V方向上每兩個取樣點(diǎn)P' I和P' 2連線的中點(diǎn)P' 3,并計算P' 3到曲面的距離; 當(dāng)P' 3到曲面的距離大于第二預(yù)設(shè)值時,將P' I和P' 2在曲線上的中點(diǎn)P' 4加入曲面取樣點(diǎn)隊列中(P' 1、P' 4、P' 2、...);及 當(dāng)曲面上U方向和V方向所有取樣點(diǎn)計算完畢后,輸出曲面取樣點(diǎn)隊列。
6.如權(quán)利要求I所述的曲面網(wǎng)格化系統(tǒng),其特征在于,所述插入模塊將邊界點(diǎn)鏈表中的取樣點(diǎn)插入到曲面取樣點(diǎn)隊列中,獲取若干個包圍盒包括 讀取邊界點(diǎn)鏈表與曲面取樣點(diǎn)隊列; 遍歷曲面取樣點(diǎn)隊列,計算出所有取樣點(diǎn)的橫軸坐標(biāo)最大值Umax和最小值Umin,并根據(jù)橫軸坐標(biāo)最大值Umax和最小值Umin及參數(shù)平面U方向的控制點(diǎn)數(shù)量U。,計算Ltl = (Umax-Umin) /Utl,對Ltl取整得到參數(shù)平面U方向的步長L,根據(jù)該U方向上的步長L用V直線將待測物體的參數(shù)平面分成若干個包圍盒; 遍歷邊界點(diǎn)鏈表,獲取每個邊界線取樣點(diǎn)的橫軸坐標(biāo)值U0,計算Pci = (U0-Umin) /L,對Pci取整得到P,將該邊界線取樣點(diǎn)的鏈表指針指向曲面取樣點(diǎn)隊列的位置P處; 當(dāng)所有邊界線取樣點(diǎn)計算完畢后,輸出更新后的邊界點(diǎn)鏈表與曲面取樣點(diǎn)隊列。
7.如權(quán)利要求I所述的曲面網(wǎng)格化系統(tǒng),其特征在于,所述網(wǎng)格化模塊用每個包圍盒內(nèi)的邊界線取樣點(diǎn)、曲面取樣點(diǎn)及交點(diǎn)構(gòu)建三角形包括 獲取邊界線取樣點(diǎn)、曲面取樣點(diǎn)及交點(diǎn); 連接每個包圍盒內(nèi)的邊界線取樣點(diǎn)、曲面取樣點(diǎn)及交點(diǎn),得到一個或多個多邊形;從每個多邊形中提取一個或多個三角形,并移除多邊形的外部三角形,獲取一個三角形隊列 '及 當(dāng)所有多邊形拆分完畢后,輸出待測物體曲面的參數(shù)方程及所有三角形頂點(diǎn)的二維UV坐標(biāo)。
8.一種曲面網(wǎng)格化方法,運(yùn)行于計算裝置中,其特征在于,該方法包括如下步驟 邊界線取樣點(diǎn)獲取步驟,從計算裝置的存儲器中獲取待測物體的邊界輪廓線的取樣點(diǎn),即邊界線取樣點(diǎn); 邊界點(diǎn)鏈表構(gòu)建步驟,根據(jù)獲取的邊界線取樣點(diǎn)構(gòu)建一個邊界點(diǎn)鏈表; 曲面取樣點(diǎn)獲取步驟,獲取待測物體的曲面的取樣點(diǎn),并構(gòu)建一個曲面取樣點(diǎn)隊列; 插入步驟,將邊界點(diǎn)鏈表中的取樣點(diǎn)插入到曲面取樣點(diǎn)隊列中,獲取若干個包圍盒;交點(diǎn)計算步驟,獲取待測物體曲面的參數(shù)平面的V直線與邊界輪廓線的交點(diǎn),所述V直線是指平行于參數(shù)平面V方向的直線;及 網(wǎng)格化步驟,用每個包圍盒內(nèi)的邊界線取樣點(diǎn)、曲面取樣點(diǎn)及交點(diǎn)構(gòu)建三角形。
9.如權(quán)利要求8所述的曲面網(wǎng)格化方法,其特征在于,該方法還包括輸出步驟,根據(jù)該待測物體曲面的參數(shù)方程將所有三角形頂點(diǎn)的二維UV坐標(biāo)映射回三維空間曲面中的三維點(diǎn)坐標(biāo),并根據(jù)三角形頂點(diǎn)三維坐標(biāo)輸出三角網(wǎng)格化后的曲面。
10.如權(quán)利要求8所述的曲面網(wǎng)格化方法,其特征在于,所述邊界線取樣點(diǎn)獲取步驟包括 從存儲器中讀取待測物體的三維模型; 從該三維模型中讀取待測物體的邊界輪廓線; 從邊界輪廓線中讀取曲線,對曲線進(jìn)行均勻布點(diǎn)以獲取邊界線取樣點(diǎn); 計算曲線上每兩個取樣點(diǎn)Pl和P2連線的中點(diǎn)P3,并計算該兩個取樣點(diǎn)在曲線上的中點(diǎn)P4 ; 當(dāng)P3和P4的距離大于第一預(yù)設(shè)值時,將P4加入邊界線取樣點(diǎn)隊列中(P1、P4、P2、···);及當(dāng)曲線上的所有取樣點(diǎn)計算完畢后,輸出邊界線取樣點(diǎn)隊列。
11.如權(quán)利要求8所述的曲面網(wǎng)格化方法,其特征在于,所述邊界點(diǎn)鏈表構(gòu)建步驟包括 從邊界線取樣點(diǎn)隊列中讀取邊界線取樣點(diǎn); 根據(jù)邊界線取樣點(diǎn)數(shù)量構(gòu)造一個鏈表; 將每個邊界線取樣點(diǎn)在邊界線取樣點(diǎn)隊列中的下標(biāo)插入該鏈表內(nèi)部;及 將該鏈表連接成為一個環(huán)形鏈表。
12.如權(quán)利要求8所述的曲面網(wǎng)格化方法,其特征在于,所述曲面取樣點(diǎn)獲取步驟包括 獲取待測物體的曲面參數(shù)平面的U方向和V方向的控制點(diǎn)數(shù)量; 根據(jù)曲面參數(shù)平面U方向和V方向的控制點(diǎn)數(shù)量,獲取U方向和V方向上的取樣點(diǎn);計算U方向和V方向上每兩個取樣點(diǎn)P' I和P' 2連線的中點(diǎn)P' 3,并計算P' 3到曲面的距離; 當(dāng)P' 3到曲面的距離大于第二預(yù)設(shè)值時,將P' I和P' 2在曲線上的中點(diǎn)P' 4加入曲面取樣點(diǎn)隊列中(P' 1、P' 4、P' 2、...);及 當(dāng)曲面上U方向和V方向所有取樣點(diǎn)計算完畢后,輸出曲面取樣點(diǎn)隊列。
13.如權(quán)利要求8所述的曲面網(wǎng)格化方法,其特征在于,所述插入步驟包括 讀取邊界點(diǎn)鏈表與曲面取樣點(diǎn)隊列; 遍歷曲面取樣點(diǎn)隊列,計算出所有取樣點(diǎn)的橫軸坐標(biāo)最大值Umax和最小值Umin,并根據(jù)橫軸坐標(biāo)最大值Umax和最小值Umin及參數(shù)平面U方向的控制點(diǎn)數(shù)量U。,計算Ltl = (Umax-Umin) /Utl,對Ltl取整得到參數(shù)平面U方向的步長L,根據(jù)該U方向上的步長L用V直線將待測物體的參數(shù)平面分成若干個包圍盒; 遍歷邊界點(diǎn)鏈表,獲取每個邊界線取樣點(diǎn)的橫軸軸坐標(biāo)值U。,計算Pci = (U0-Umin) /L,對P0取整得到P,將該邊界線取樣點(diǎn)的鏈表指針指向曲面取樣點(diǎn)隊列的位置P處; 當(dāng)所有邊界線取樣點(diǎn)計算完畢后,輸出更新后的邊界點(diǎn)鏈表與曲面取樣點(diǎn)隊列。
14.如權(quán)利要求8所述的曲面網(wǎng)格化方法,其特征在于,所述網(wǎng)格化步驟包括 獲取邊界線取樣點(diǎn)、曲面取樣點(diǎn)及交點(diǎn); 連接每個包圍盒內(nèi)的邊界線取樣點(diǎn)、曲面取樣點(diǎn)及交點(diǎn),得到一個或多個多邊形;從每個多邊形中提取一個或多個三角形,并移除多邊形的外部三角形,獲取一個三角形隊列 '及 當(dāng)所有多邊形拆分完畢后,輸出待測物體曲面的參數(shù)方程及所有三角形頂點(diǎn)的二維UV坐標(biāo)。
全文摘要
一種曲面網(wǎng)格化系統(tǒng)及方法,該方法包括步驟獲取待測物體的邊界輪廓線的取樣點(diǎn),即邊界線取樣點(diǎn);根據(jù)獲取的邊界線取樣點(diǎn)構(gòu)建一個邊界點(diǎn)鏈表;獲取待測物體的曲面的取樣點(diǎn),并構(gòu)建一個曲面取樣點(diǎn)隊列;將邊界點(diǎn)鏈表中的取樣點(diǎn)插入到曲面取樣點(diǎn)隊列中,獲取若干個包圍盒;獲取待測物體曲面的參數(shù)平面的V直線與邊界輪廓線的交點(diǎn),所述V直線是指平行于參數(shù)平面V方向的直線;用每個包圍盒內(nèi)的邊界線取樣點(diǎn)、曲面取樣點(diǎn)及交點(diǎn)構(gòu)建三角形。利用本發(fā)明可以對待測物體的CAD曲面模型的網(wǎng)格化數(shù)據(jù)進(jìn)行精簡。
文檔編號G06T17/30GK102779356SQ20111012097
公開日2012年11月14日 申請日期2011年5月11日 優(yōu)先權(quán)日2011年5月11日
發(fā)明者吳新元, 張旨光 申請人:鴻富錦精密工業(yè)(深圳)有限公司, 鴻海精密工業(yè)股份有限公司