專利名稱:三維掃描的點(diǎn)云孔洞填補(bǔ)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種對三維圖形的修補(bǔ)方法,尤其涉及一種三維掃描的點(diǎn)云孔洞填補(bǔ)方法。
背景技術(shù):
逆向工程(Reverse Engineering,RE)技術(shù)是20世紀(jì)80年代后期出現(xiàn)在先進(jìn)制造領(lǐng)域里的新技術(shù),其一般包括四個基本環(huán)節(jié)三維形體檢測與轉(zhuǎn)換(物理數(shù)據(jù)的獲得)、數(shù)據(jù)預(yù)處理(點(diǎn)云處理、識別、多視拼接),CAD模型的建立(曲面重構(gòu))、CAM制件成型,其基本流程圖如附圖1所示。在三維形體檢測與轉(zhuǎn)換的過程中,通過三維數(shù)字化掃描儀對實(shí)物模型表面進(jìn)行三維快速掃描測量,在滿足離散采樣速度和數(shù)據(jù)質(zhì)量的前提下,獲取產(chǎn)品的三維離散數(shù)據(jù),點(diǎn)云孔洞的出現(xiàn)造成了這些數(shù)據(jù)的不完整,因此對孔洞進(jìn)行補(bǔ)償即對數(shù)據(jù)進(jìn)行預(yù)處理是逆向工程中非常關(guān)鍵的承上啟下的一環(huán),直接影響重構(gòu)成功與否和CAD模型的質(zhì)量,對其后續(xù)環(huán)節(jié)起著非常關(guān)鍵的制約作用。本發(fā)明主要是涉及到在逆向工程的數(shù)字化過程中,用三維掃描系統(tǒng)(附圖2)獲取產(chǎn)品點(diǎn)云模型出現(xiàn)孔洞時的一種自動補(bǔ)償方法。
近年來,點(diǎn)云孔洞的填補(bǔ)算法在國內(nèi)外均取得了很大的進(jìn)展,已發(fā)表了相當(dāng)數(shù)量的文獻(xiàn),其中一些算法獲得了較為廣泛的應(yīng)用,如基于能量優(yōu)化和細(xì)分、三角網(wǎng)格模型、網(wǎng)格曲面模型中孔洞的填補(bǔ)算法。這些算法需先對三維掃描直接獲得的點(diǎn)云模型做一定的前期處理或者對點(diǎn)云孔洞進(jìn)行邊界識別,實(shí)時性不強(qiáng),復(fù)雜度也比較高。在實(shí)際的工程應(yīng)用中,對出現(xiàn)的問題應(yīng)能及時解決。
文獻(xiàn)“Minimal energy surfaces using parametric splines.”(GregoryE.Fasshauer,Larry L.Schumarker.Computer Aided Geometric Design,1996,1345~79)通過求解以“變形能量函數(shù)”為基礎(chǔ)的優(yōu)化目標(biāo)函數(shù),實(shí)現(xiàn)對孔洞的填補(bǔ),保證了一定的光順性,然而這類方法大多需要細(xì)分曲面,并且對多個子曲面片進(jìn)行拼接,因此對曲面邊界的連續(xù)性要求較高,通常很難達(dá)到曲面間的二階連續(xù)。由于現(xiàn)有的三角網(wǎng)格模型的相關(guān)算法比較成熟,現(xiàn)有的算法大多都是基于此模型的,例如文獻(xiàn)“A study of stereolithography file errors and repair”(LeongK F,Chua C K,Ng Y M.International Journal of Advanced Manufacturing,1996,12415~422)將孔洞填補(bǔ)歸結(jié)為一個空間多邊形的三角剖分問題。但大多在構(gòu)造新三角片時僅僅采用原有的孔洞多邊形頂點(diǎn),沒有增加新的三角片頂點(diǎn),因而難以獲得較好的用于填補(bǔ)孔洞的三角片形狀,填補(bǔ)效果不夠理想。并且這類算法對于復(fù)雜的點(diǎn)云數(shù)據(jù)編程建立三角網(wǎng)格模型運(yùn)算量較大,在填補(bǔ)孔洞的過程中還需要改變?nèi)蔷W(wǎng)格的拓?fù)浣Y(jié)構(gòu),因此具有對三角網(wǎng)格模型修改和再設(shè)計能力不足的缺點(diǎn),復(fù)雜度高,這些缺點(diǎn)都限制了它在實(shí)踐中的應(yīng)用。對一類多邊形孔洞的填充算法不適用于一般的點(diǎn)云模型。對于一般曲面網(wǎng)格的填充算法均需要準(zhǔn)確的獲得孔洞邊界信息,難度大,不易實(shí)現(xiàn)。通過對點(diǎn)云孔洞周圍散亂點(diǎn)集進(jìn)行曲面擬合補(bǔ)償孔洞的算法過程中,散亂點(diǎn)的參數(shù)化必不可少。通常有均勻參數(shù)化、向心參數(shù)化和累積弦長參數(shù)化方法,而這些方法主要針對呈拓?fù)渚匦侮嚵械臄?shù)據(jù)點(diǎn),對無規(guī)則分布的點(diǎn)云數(shù)據(jù),需要對其排序,難度也比較大。
傳統(tǒng)的三角曲面插值算法也得到了較為廣泛的應(yīng)用,同時也獲得了較好的效果。例如文獻(xiàn)“An Adaptive Method for Smooth Surface Approximation to Scattered3D Points.”(Park H,Kim K.Computer Aided Design,1995,27(12)929~939)中提出的構(gòu)造光滑曲面擬合散亂點(diǎn)的自適應(yīng)插值算法。這類插值算法雖然速度比較快,但有其致命的缺點(diǎn),即1只能處理單值的非封閉曲面;2要假定偏導(dǎo)矢在域邊界曲線上呈線性分布;3重構(gòu)的曲面依賴于估算出的偏導(dǎo)矢,所以曲面插值方法對離散點(diǎn)的逼近效果并不好,并且計算量大效率低。
在實(shí)際的應(yīng)用過程中,用三維掃描系統(tǒng)得到的通常是具有海量散亂點(diǎn)的點(diǎn)云原始模型。此時就不可避免的存在孔洞現(xiàn)象,對這些孔洞進(jìn)行及時的填補(bǔ)是關(guān)鍵。為此,本發(fā)明中使用一種新算法對孔洞進(jìn)行補(bǔ)償。如何對散亂點(diǎn)參數(shù)化以及提高曲面的擬合精度是此類算法中的難點(diǎn)。本發(fā)明中提出的對散亂點(diǎn)進(jìn)行參數(shù)化的方法以及對曲面的迭代逼近優(yōu)化方法能達(dá)到對孔洞的光滑擬合填充。
發(fā)明內(nèi)容
本發(fā)明提供一種能夠提供曲面擬合精確度的三維掃描的點(diǎn)云孔洞填補(bǔ)方法。
本發(fā)明采用如下技術(shù)方案一種基于三角域貝塞爾曲面的三維掃描的點(diǎn)云孔洞填補(bǔ)方法第一步在點(diǎn)云孔洞周圍且在屏幕坐標(biāo)平面內(nèi)設(shè)定一個三角形ABC,該三角形ABC的區(qū)域范圍能使點(diǎn)云孔洞及其周圍的點(diǎn)向屏幕坐標(biāo)平面的投影落入三角形ABC內(nèi),并將投影落入三角形ABC內(nèi)的點(diǎn)作為補(bǔ)孔時擬合曲面的點(diǎn)Ps(s=0,1,…,m-1),根據(jù)擬合曲面的點(diǎn)Ps在三角形ABC平面的投影Ps’位置計算其曲面參數(shù)化坐標(biāo)(us,vs,ws),us=(ΔAPs’B面積)/(ΔABC面積)、vs=(ΔAPs’C面積)/(ΔABC面積)、ws=(ΔB Ps’C面積)/(ΔABC面積),將擬合曲面的點(diǎn)Ps(s=0,1,…,m-1)的坐標(biāo)及其曲面參數(shù)化坐標(biāo)(us,vs,ws)代入n次Bezier曲面方程并用最小二乘法得到n次Bezier曲面的控制點(diǎn),從而得到初步擬合的曲面S(u,v,w);第二步求出各個擬合曲面的點(diǎn)Ps(s=0,1,…,m-1)到曲面的距離向量d(u,v,w)及曲面分別對對應(yīng)點(diǎn)參數(shù)方向的偏微分Su(u,v,w),Sv(u,v,w),Sw(u,v,w),令f(u,v,w)=d(u,v,w)·Su(u,v,w)=0g(u,v,w)=d(u,v,w)·Sv(u,v,w)=0h(u,v,w)=d(u,v,w)·Sw(u,v,w)=0]]>擬合曲面的點(diǎn)Ps的參數(shù)化坐標(biāo)為(us,vs,ws),以(us,vs,ws)為初始估計值,根據(jù)牛頓迭代法求解以上方程組,有
HσT=κT式中σ=(δu,δv,δw),其中,δu,δv,δw為曲面u,v,w三個方向上的迭代步長。
κ=-(f(us,vs,ws),g(us,vs,ws),h(us,vs,ws))H=fufvfwgugvgwhuhvhw=||Su||2+d·SuuSv·Su+d·SuvSw·Su+d·SuwSu·Sv+d·Svu||Sv||2+d·SvvSw·Sv+d·SvwSu·Sw+d·SwuSv·Sw+d·Swv||Sw||2+d·Sww]]>式中,d=d(us,vs,ws);fu,fv,fw,gu,gv,gw,hu,hv,hw分別表示在點(diǎn)(us,vs,ws)處相應(yīng)的向量對u,v,w的一階偏導(dǎo)數(shù);Suu,Suv,Suw,Svv,Svu,Svw,Sww,Swu,Swv是曲面S(u,v,w)在點(diǎn)(us,vs,ws)處分別對u,v,w的二階偏導(dǎo)數(shù)。
則可得||Su||2+d·SuuSv·Su+d·SuvSw·Su+d·SuwSu·Sv+d·Svu||Sv||2+d·SvvSw·Sv+d·SvwSu·Sw+d·SwuSv·Sw+d·Swv||Sw||2+d·Swwδuδvδw=-f(us,vs,ws)g(us,vs,ws)h(us,vs,ws)]]>根據(jù)三角Bezier曲面的定義可知δu+δv+δw=0,即δw=-δu-δv,因此得到如下迭代方程組||Su||2-Sw·Su+d·(Suu-Suw)Sv·Su-Sw·Su+d·(Suv-Suw)Su·Sv-Sw·Sv+d·(Svu-Svw)||Sv||2-Sw·Sv+d·(Svv-Svw)Su·Sw-||Sw||2+d·(Swu-Sww)Sv·Sw-||Sw||2+d·(Swv-Sww)δuδv=-f(us,vs,ws)g(us,vs,ws)h(us,vs,ws)]]>其中,δu,δv為u,v兩個方向上的迭代步長。Suu,Suv,Suw,Svv,Svu,Svw,Sww,Swu,Swv是曲面S(u,v,w)在點(diǎn)(us,vs,ws)處分別對u,v,w的二階偏導(dǎo)數(shù),迭代求解直到1/mΣs=0m-1||d(us+δu,vs+δv,ws+δw)-d(us,vs,ws)||≤ϵ,]]>ε為預(yù)置曲面擬合精度,從而得到最終確定的三角Bezier曲面S’(u,v,w);第三步在所述的三角Bezier曲面S’(u,v,w)上取線,再在線上取點(diǎn),用于填補(bǔ)點(diǎn)云孔洞。
本發(fā)明主要用于對三維掃描系統(tǒng)中各種具有復(fù)雜曲面形狀的點(diǎn)云原始模型中孔洞進(jìn)行填補(bǔ)的應(yīng)用場合。利用本發(fā)明中的曲面擬合算法,即可得到一張精確逼近孔洞周圍散亂點(diǎn)的曲面,隨后在面上取點(diǎn)可以即可實(shí)現(xiàn)對孔洞的光滑填補(bǔ)。該方法主要有以下優(yōu)點(diǎn)(1)由于傳統(tǒng)的曲面插值方法對離散點(diǎn)的逼近效果并不好,本發(fā)明采用曲面擬合的方法能得到一張精確擬合孔洞周圍散亂點(diǎn)集的曲面,從而在曲面上取點(diǎn)補(bǔ)孔時能保證較高的擬合精度。
(2)采用基于三角域上的曲面擬合方法,比四邊域的曲面更容易表現(xiàn)無規(guī)則的表面,因此對具有復(fù)雜表面的物體,在補(bǔ)孔時更容易控制填補(bǔ)孔洞的曲面的形狀,保證了補(bǔ)完孔的表面具有一定的光順性和保形性。
(3)三角網(wǎng)格模型、網(wǎng)格曲面模型中孔洞的填補(bǔ)算法,這些算法需先對三維掃描直接獲得的點(diǎn)云模型做一定的前期處理或者對點(diǎn)云孔洞進(jìn)行邊界識別,實(shí)時性不強(qiáng),復(fù)雜度也比較高相比較多數(shù)算法中的網(wǎng)格化處理,本發(fā)明主要針對三維掃描系統(tǒng)得到的原始點(diǎn)云模型,不需要任何的網(wǎng)格化處理,適用性廣,速度快。
(4)擬合曲面時,交互選取孔洞周圍的散亂點(diǎn),無需對點(diǎn)云孔洞進(jìn)行邊界識別,所以當(dāng)孔洞邊界形狀比較復(fù)雜時,也同樣適用。
(5)對散亂點(diǎn)參數(shù)化時,無需擬合孔洞的邊界曲線,由于避免了孔洞的邊界識別,因此對于絕大多數(shù)具有任意形狀的孔洞也同樣適用。
(6)由于對散亂點(diǎn)進(jìn)行曲面擬合采用了初步擬合和迭代逼近優(yōu)化兩步方法,能夠使擬合的曲面獲得更高的精度。
(7)操作過程比較簡單,只要交互選定孔洞周圍的離散點(diǎn),接下來的的步驟都可自動完成,速度快。并且該方法具有很強(qiáng)的通用性。
此外要注意的是,選取散亂點(diǎn)時,盡量在孔洞周圍大范圍內(nèi)選取,可以避免自適應(yīng)增加散亂點(diǎn)數(shù)量,以進(jìn)一步提高算法的效率。
圖1是逆向工程流程圖。
圖2是光柵式三維掃描系統(tǒng)組成圖。
圖3是算法整體流程圖。
圖4是選取圓蓋點(diǎn)云中的孔洞附近的點(diǎn)集實(shí)例示意圖。
圖5是散亂點(diǎn)參數(shù)化流程6是對圓蓋點(diǎn)云中的孔洞附近的點(diǎn)集擬合曲面實(shí)例示意圖。。
圖7是曲面初步擬合流程圖。
圖8是對圓蓋點(diǎn)云中的孔洞填補(bǔ)實(shí)例示意圖。
圖9是曲面迭代逼近優(yōu)化流程圖。
具體實(shí)施例方式
一種基于三角域貝塞爾曲面的三維掃描的點(diǎn)云孔洞填補(bǔ)方法第一步在點(diǎn)云孔洞周圍且在屏幕坐標(biāo)平面內(nèi)設(shè)定一個三角形ABC,該三角形ABC的區(qū)域范圍能使點(diǎn)云孔洞及其周圍的點(diǎn)向屏幕坐標(biāo)平面的投影落入三角形ABC內(nèi),并將投影落入三角形ABC內(nèi)的點(diǎn)作為補(bǔ)孔時擬合曲面的點(diǎn)Ps(s=0,1,…,m-1),根據(jù)擬合曲面的點(diǎn)Ps在三角形ABC平面的投影Ps’位置計算其曲面參數(shù)化坐標(biāo)(us,vs,ws),us=(ΔAPs’B面積)/(ΔABC面積)、vs=(ΔAPs’C面積)/(ΔABC面積)、ws=(ΔBPs’C面積)/(ΔABC面積),將擬合曲面的點(diǎn)Ps(s=0,1,…,m-1)的坐標(biāo)及其曲面參數(shù)化坐標(biāo)(us,vs,ws)代入n次Bezier曲面方程并用最小二乘法得到n次Bezier曲面的控制點(diǎn),從而得到初步擬合的曲面S(u,v,w);第二步求出各個擬合曲面的點(diǎn)Ps(s=0,1,…,m-1)到曲面的距離向量d(u,v,w)及曲面分別對對應(yīng)點(diǎn)參數(shù)方向的偏微分Su(u,v,w),Sv(u,v,w),Sw(u,v,w),令
f(u,v,w)=d(u,v,w)·Su(u,v,w)=0g(u,v,w)=d(u,v,w)·Sv(u,v,w)=0h(u,v,w)=d(u,v,w)·Sw(u,v,w)=0]]>擬合曲面的點(diǎn)Ps的參數(shù)化坐標(biāo)為(us,vs,ws),以(us,vs,ws)為初始估計值,根據(jù)牛頓迭代法求解以上方程組,有HσT=κT式中σ=(δu,δv,δw)其中,δu,δv,δw為曲面u,v,w三個方向上的迭代步長。
κ=-(f(us,vs,ws),g(us,vs,ws),h(us,vs,ws))H=fufvfwgugvgwhuhvhw=||Su||2+d·SuuSv·Su+d·SuvSw·Su+d·SuwSu·Sv+d·Svu||Sv||2+d·SvvSw·Sv+d·SvwSu·Sw+d·SwuSv·Sw+d·Swv||Sw||2+d·Sww]]>式中,d=d(us,vs,ws);fu,fv,fw,gu,gv,gw,hu,hv,hw分別表示在點(diǎn)(us,vs,ws)處相應(yīng)的向量對u,v,w的一階偏導(dǎo)數(shù);Suu,Suv,Suw,Svv,Svu,Svw,Sww,Swu,Swv是曲面S(u,v,w)在點(diǎn)(us,vs,ws)處分別對u,v,w的二階偏導(dǎo)數(shù)。
則可得||Su||2+d·SuuSv·Su+d·SuvSw·Su+d·SuwSu·Sv+d·Svu||Sv||2+d·SvvSw·Sv+d·SvwSu·Sw+d·SwuSv·Sw+d·Swv||Sw||2+d·Swwδuδvδw=-f(us,vs,ws)g(us,vs,ws)h(us,vs,ws)]]>根據(jù)三角Bezier曲面的定義可知δu+δv+δw=0,即δw=-δu-δv,因此得到如下迭代方程組||Su||2-Sw·Su+d·(Suu-Suw)Sv·Su-Sw·Su+d·(Suv-Suw)Su·Sv-Sw·Sv+d·(Svu-Svw)||Sv||2-Sw·Sv+d·(Svv-Svw)Su·Sw-||Sw||2+d·(Swu-Sww)Sv·Sw-||Sw||2+d·(Swv-Sww)δuδv=-f(us,vs,ws)g(us,vs,ws)h(us,vs,ws)]]>其中,δu,δv為u,v兩個方向上的迭代步長。Suu,Suv,Suw,Svv,Svu,Svw,Sww,Swu,Swv是曲面S(u,v,w)在點(diǎn)(us,vs,ws)處分別對u,v,w的二階偏導(dǎo)數(shù),迭代求解直到1/mΣs=0m-1||d(us+δu,vs+δv,ws+δw)-d(us,vs,ws)||≤ϵ,]]>ε為預(yù)置曲面擬合精度,從而得到最終確定的三角Bezier曲面S’(u,v,w);第三步在所述的三角Bezier曲面S’(u,v,w)上取線,再在線上取點(diǎn),用于填補(bǔ)點(diǎn)云孔洞。
下面參照附圖,對本發(fā)明加以詳細(xì)描述在逆向工程中,面對的是密集的點(diǎn)云散亂數(shù)據(jù)。擬合曲面時,如果曲面的對象邊界和形狀極其復(fù)雜時,一般不便直接運(yùn)用常規(guī)的曲面構(gòu)造方法,而Bezier曲面由于其構(gòu)造靈活,邊界適應(yīng)性好,具有構(gòu)造復(fù)雜形狀的潛力,而且其本身具有良好的性質(zhì)光滑性、局部性和保形性?;谌怯蚯娴臄M合方法最適合表現(xiàn)無規(guī)則型面的物體,特別是人面,地貌等自然物體以及玩具等產(chǎn)品,基于四邊域參數(shù)曲面的擬合方法,通常要求數(shù)據(jù)點(diǎn)是有序的,這個條件比較苛刻,綜合以上,因此本發(fā)明采用三角域上的Bezier曲面對孔洞部分進(jìn)行擬合填充??傮w算法流程見附圖3。
本發(fā)明主要包括以下步驟1)散亂點(diǎn)的選定及參數(shù)化過程在圓蓋點(diǎn)云孔洞屏幕二維坐標(biāo)系附近選擇不共線的三點(diǎn)A、B、C,構(gòu)成需要初步擬合的三角Bezier曲面片的三個角點(diǎn),將孔洞周圍的點(diǎn)向這三點(diǎn)所構(gòu)成的三角形平面投影,如果點(diǎn)落在三角形平面內(nèi),則認(rèn)為是擬合曲面時所需的點(diǎn)Ps(s=0,1,…,m-1),見附圖4。
根據(jù)選取的點(diǎn)Ps在三角形ABC平面的投影位置計算其曲面參數(shù)化坐標(biāo)。即如果Ps在三角形平面ABC內(nèi)相對應(yīng)的投影點(diǎn)為Ps’,那么Ps的參數(shù)化坐標(biāo)(us,vs,ws)分別為us=(ΔAPs’B面積)/(ΔABC面積)、vs=(ΔAPs’C面積)/(ΔABC面積)、ws=(ΔB Ps’C面積)/(ΔABC面積)。算法流程圖見附圖5。
2)最小二乘自適應(yīng)初步擬合三角域ABC上n次Bezier曲面的表達(dá)式為S(u,v,w)=Σi=0nΣj=0n-iBijkn(u,v,w)bijk]]>式中Bijkn(u,v,w)=n!i!j!k!uivjwk≥00≤u,v,w≤1,u+v+w=10≤i,j,k≤n,i+j+k=n]]>根據(jù)上步已知,可以求得三角域上n次Bezier曲面的表達(dá)式中Ps的參數(shù)化坐標(biāo)(us,vs,ws),(n+1)(n+2)/2個控制頂點(diǎn)為n次Bezier曲面的表達(dá)式中的未知量,所以只要求出(n+1)(n+2)/2個控制頂點(diǎn)坐標(biāo)bijk(0≤i,j,k≤n,i+j+k=n),即可確定出一個三角Bezier曲面。
根據(jù)三角Bezier曲面的性質(zhì)可知三角Bezier曲面的三個角點(diǎn)正好是其控制多面體網(wǎng)格的三個控制頂點(diǎn),那么所選三角形的三個頂點(diǎn)A、B、C即可做為三個已知控制頂點(diǎn)b00n,b0n0,bn00,把Ps(s=0,1,…,m-1)的坐標(biāo)代入三角Bezier曲面方程,構(gòu)成以(n+1)(n+2)/2-3個未知控制頂點(diǎn)為未知量的m個線性方程組。在所選三角形內(nèi)部的三維坐標(biāo)點(diǎn)數(shù)m一般大于(n+1)(n+2)/2-3,在不滿足此條件即待求方程組系數(shù)矩陣奇異時,以三角形ABC的重心為基點(diǎn),擴(kuò)大三角形ABC的面積來增加m的個數(shù)。最后采用最小二乘法求解此過約束方程組,確定出曲面其它的未知控制頂點(diǎn),得到初步擬合的曲面S(u,v,w),見附圖6。算法流程圖見附圖7。
3)曲面逼近優(yōu)化經(jīng)過最小二乘初步擬合后,散亂點(diǎn)集Ps與曲面S(u,v,w)的距離誤差還比較大,因此需要進(jìn)一步修正控制頂點(diǎn),改變控制多面體的形狀,從而改變曲面的形狀,使曲面逼近點(diǎn)集。本發(fā)明采用了以牛頓迭代法為基礎(chǔ)的迭代逼近算法,提高擬合精度,最終確定出曲面S’(u,v,w),見附圖8。
具體步驟如下
(1)求出各個散亂點(diǎn)到曲面的距離向量d(u,v,w)及曲面分別對對應(yīng)點(diǎn)參數(shù)方向的偏微分Su(u,v,w),Sv(u,v,w),Sw(u,v,w),組成待求方程組如下f(u,v,w)=d(u,v,w)·Su(u,v,w)=0g(u,v,w)=d(u,v,w)·Sv(u,v,w)=0h(u,v,w)=d(u,v,w)·Sw(u,v,w)=0]]>(2)采用基于牛頓迭代法的方法求解此方程組,最終可求得的迭代方程組為||Su||2-Sw·Su+d·(Suu-Suw)Sv·Su-Sw·Su+d·(Suv-Suw)Su·Sv-Sw·Sv+d·(Svu-Svw)||Sv||2-Sw·Sv+d·(Svv-Svw)Su·Sw-||Sw||2+d·(Swu-Sww)Sv·Sw-||Sw||2+d·(Swv-Sww)δuδv=-f(us,vs,ws)g(us,vs,ws)h(us,vs,ws)]]>(3)迭代求解以上方程組,當(dāng)擬合曲面的點(diǎn)數(shù)少于迭代方程組的未知數(shù)個數(shù)時,及方程組系數(shù)奇異時,同樣以三角形ABC的重心為基點(diǎn),自適應(yīng)擴(kuò)大三角ABC的面積來增加m的個數(shù),重復(fù)(2)。
算法流程圖見附圖9。
4)面上取點(diǎn)補(bǔ)孔在最終擬合好的Bezier曲面上取點(diǎn)填充孔洞,首先在曲面上取線,再在線上取點(diǎn),實(shí)現(xiàn)孔洞的光滑填補(bǔ)。
權(quán)利要求
1.一種基于三角域貝塞爾曲面的三維掃描的點(diǎn)云孔洞填補(bǔ)方法,其特征在于第一步在點(diǎn)云孔洞周圍且在屏幕坐標(biāo)平面內(nèi)設(shè)定一個三角形ABC,該三角形ABC的區(qū)域范圍能使點(diǎn)云孔洞及其周圍的點(diǎn)向屏幕坐標(biāo)平面的投影落入三角形ABC內(nèi),并將投影落入三角形ABC內(nèi)的點(diǎn)作為補(bǔ)孔時擬合曲面的點(diǎn)Ps(s=0,1,…,m-1),根據(jù)擬合曲面的點(diǎn)Ps在三角形ABC平面的投影Ps’位置計算其曲面參數(shù)化坐標(biāo)(us,vs,ws),us=(ΔAPs’B面積)/(ΔABC面積)、vs=(ΔAPs’C面積)/(ΔABC面積)、ws=(ΔB Ps’C面積)/(ΔABC面積),將擬合曲面的點(diǎn)Ps(s=0, 1,…,m-1)的坐標(biāo)及其曲面參數(shù)化坐標(biāo)(us,vs,ws)代入n次Bezier曲面方程并用最小二乘法得到n次Bezier曲面的控制點(diǎn),從而得到初步擬合的曲面S(u,v,w);第二步求出各個擬合曲面的點(diǎn)Ps(s=0,1,…,m-1)到曲面的距離向量d(u,v,w)及曲面分別對對應(yīng)點(diǎn)參數(shù)方向的偏微分Su(u,v,w),Sv(u,v,w),Sw(u,v,w),令f(u,v,w)=d(u,v,w)·Su(u,v,w)=0g(u,v,w)=d(u,v,w)·Sv(u,v,w)=0h(u,v,w)=d(u,v,w)·Sw(u,v,w)=0]]>擬合曲面的點(diǎn)Ps的參數(shù)化坐標(biāo)為(us,vs,ws),以(us,vs,ws)為初始估計值,根據(jù)牛頓迭代法求解以上方程組,有HσT=κT式中σ=(δu,δv,δw),其中,δu,δv,δw為曲面u,v,w三個方向上的迭代步長。κ=-(f(us,vs,ws),g(us,vs,ws),h(us,vs,ws))H=fufvfwgugvgwhuhvhw=||Su||2+d·SuuSv·Su+d·SuvSw·Su+d·SuwSu·Sv+d·Svw||Sv||2+d·SvvSw·Sv+d·SvwSu·Sw+d·SwuSv·Sw+d·Swv||Sw||2+d·Sww]]>式中,d=d(us,vs,ws);fu,fv,fw,gu,gv,gw,hu,hv,hw分別表示在點(diǎn)(us,vs,ws)處相應(yīng)的向量對u,v,w的一階偏導(dǎo)數(shù);Suu,Suv,Suw,Svv,Svu,Svw,Sww,Swu,Swv是曲面S(u,v,w)在點(diǎn)(us,vs,ws)處分別對u,v,w的二階偏導(dǎo)數(shù)。則可得||Su||2+d·SuuSv·Su+d·SuvSw·Su+d·SuwSu·Sv+d·Svw||Sv||2+d·SvvSw·Sv+d·SvwSu·Sw+d·SwuSv·Sw+d·Swv||Sw||2+d·Swwδuδvδw=-f(us,vs,ws)g(us,vs,ws)h(us,vs,ws)]]>根據(jù)三角Bezier曲面的定義可知δu+δv+δw=0,即δw=-δu-δv,因此得到如下迭代方程組||Su||2-Sw·Su+d·(Suu-Suw)Sv·Su-Sw·Su+d·(Suv-Suw)Su·Sv-Sw·Sv+d·(Svu-Svw)||Sv||2-Sw·Sv+d·(Svv-Svw)Su·Sw-||Sw||2+d·(Swu-Sww)Sv·Sw-||Sw||2+d·(Swv-Sww)δuδv=-f(us,vs,ws)g(us,vs,ws)h(us,vs,ws)]]>其中,δu,δv為曲面u,v兩個方向上的迭代步長。Suu,Suv,Suw,Svv,Svu,Suw,Sww,Swu,Swv是曲面S(u,v,w)在點(diǎn)(us,vs,ws)處分別對u,v,w的二階偏導(dǎo)數(shù),迭代求解直到1/mΣs=0m-1||d(us+δu,vs+δv,ws+δw)-d(us,vs,ws)||≤ϵ,]]>ε為預(yù)置曲面擬合精度,從而得到最終確定的三角Bezier曲面S′(u,v,w);第三步在所述的三角Bezier曲面S′(u,v,w)上取線,再在線上取點(diǎn),用于填補(bǔ)點(diǎn)云孔洞。
2.根據(jù)權(quán)利要求1所述的三維掃描的點(diǎn)云孔洞填補(bǔ)方法,其特征在于擬合曲面的點(diǎn)數(shù)少于曲面控制頂點(diǎn)數(shù)時,擴(kuò)大所設(shè)定三角形ABC的面積,使擬合曲面的點(diǎn)數(shù)大于曲面控制頂點(diǎn)數(shù)。
3.根據(jù)權(quán)利要求1所述的三維掃描的點(diǎn)云孔洞填補(bǔ)方法,其特征在于擬合曲面的點(diǎn)數(shù)少于迭代方程組的未知數(shù)個數(shù)時,擴(kuò)大所設(shè)定三角形ABC的面積,使擬合曲面的點(diǎn)數(shù)大于或等于迭代方程組的未知數(shù)個數(shù)。
全文摘要
本發(fā)明公開了一種基于三角域貝塞爾曲面的三維掃描的點(diǎn)云孔洞填補(bǔ)方法,它包括實(shí)物模型、三維數(shù)據(jù)采集、數(shù)據(jù)預(yù)處理、曲線曲面重構(gòu)與分析、曲面擬合、CAD模型建模、數(shù)據(jù)編程加工、零件、測量數(shù)據(jù)庫、CAD模擬庫環(huán)節(jié)。本發(fā)明采用曲面擬合的方法能得到一張精確擬合孔洞周圍散亂點(diǎn)集的曲面,從而在曲面上取點(diǎn)補(bǔ)孔時能保證較高的擬合精度。
文檔編號G06T15/00GK1858801SQ200610085328
公開日2006年11月8日 申請日期2006年6月8日 優(yōu)先權(quán)日2006年6月8日
發(fā)明者達(dá)飛鵬, 朱春紅 申請人:東南大學(xué)