首頁 > 文章中心 > 正文

          曲面重構方法

          前言:本站為你精心整理了曲面重構方法范文,希望能為你的創作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。

          曲面重構方法

          摘要針對三維掃描數據點的曲面重構技術在實際系統中的應用,本文提出了一種NURBS曲面構造方法,該方法根據已知數據點逼近目標曲面。通過實際系統應用驗證,該方法是一種行之有效的曲面擬合方法。

          關鍵詞數據點曲線和曲面重構算法

          0引言

          掃描設備使用某種有組織的方式頻繁地掃描目標物體,產生多行數據點,這些行可能包含有相同或不同的數據點數,每行點的分布可能有較大的變化。本文基于曲面逼近理論,給出了一種NURBS曲面構造方法,用來合成目標曲面,并在自行開發的曲面造型系統中得到了驗證。

          給出已知數據點的格式如下:

          Qi,ji=0…n,j=0…mi

          所求曲面為冪次(p,q)的NURBS曲面。已知數據點既不保證具有一個矩形拓樸結構,也不保證沿著每行均勻分布,在曲面擬合的過程中,主要解決兩個關鍵的問題,第一是:彼此獨立的每行數據點的曲線逼近;第二是:通過合適的節點矢量的控制避免數據量的大量增加。

          1曲線曲面逼近的基本理論

          將NURBS曲面表示成有理基函數形式為:

          上式中,Pi,j為控制頂點,Ni,k(u)、Nj,l(v)分別為u,v方向的k次和l次B樣條基函數,Wi,j為權因子。權因子的加入雖然可以增加對曲面的局部控制能力,但權因子的選取缺乏明顯的幾何意義,為簡化計算將權值賦1,使式(1)中的分母為1,消除有理式,簡化求解過程。對曲面的u,v方向的次數選取從使用和表示的效果兩方面考慮,取k=l=3,即工程中常用的三次曲面。曲面上u,v方向的節點序列的確定中,使每一序列的前端和后端的重復度為3,保證曲面的邊緣控制點和型值點融合,中間內節點的選取上考慮數據點分布不均勻,采用了累積弦長法。通過上述權值、節點、次數的賦值,式(1.1)改變為:

          2曲線逼近

          構成曲面的前提是必需對構成曲面的曲線作逼近處理,該處理過程包括曲線的計算、參數的計算、節點的選擇和節點矢量的控制幾個方面:

          2.1最小二乘曲線逼近

          曲線逼近問題可表述如下:

          給出一系列數據點r,r=0…m和預定義參數t0,…,tm以及預定義節點矢量u,

          2.2參數和節點的計算

          參數的計算與節點的選擇是相互影響的,如果選擇了不合適的參數,那么節點就不可能被正確地選擇,在實際應用過程中,通常采用累積弦長參數化方法:

          為控制曲線誤差在允差范圍之內,常把最小二乘曲線擬合的過程使用作一個迭代過程,用來調整控制點的最大下標索引值n及參數值t。該迭代過程依賴于一個初始參數,而在已知大量數據點的前提下,采用累積弦長參數化方法所得到的參數值優于使用其它方法得到的參數值,故采用累積弦長參數化方法是一個較好的選擇。

          節點矢量的確定在有關文獻中曾提出了許多種方法,實踐表明可以通過對插值過程中使用的節點求取平均值的方法來得到所需的節點值。該算法表述如下:

          (1)輸入參數值tr,r=0,…m,p是所求曲線的冪次,n是控制點最大下標索引值;

          (2)i從0到p循環執行

          ui=t0

          un+i+1=tm

          結束i循環

          (3)對變量nc賦初值為n-k-l

          對變量inc賦初值(m+1)/(nc+1)

          對變量begin、end賦值為0

          (4)i從0到nc循環執行

          d增加步長值inc

          end取值為最接近d的整數

          sum賦初值為0

          j從begin到end循環執行

          sum對參數tj求和

          wi賦值為sum/(end-begin+1)

          begin賦值為end+1

          結束i循環

          (5)對變量is賦初值為1-k

          對變量ie賦初值為nc-p+1

          對孌量r賦初值為p

          (6)i從is到ie循環執行

          js取值為0和i中的較大數

          je取值為nc和i+p-1中的較小數

          r增加單位長度1

          sum賦值為0

          j從js到je循環執行

          sum對wj求和

          下標為r的節點值ur賦值為sum/(je-js+1)

          結束i循環

          (7)輸出節點矢量

          節點矢量的選擇對于曲線逼近到給定誤差范圍來說是非常關鍵的,要使誤差越小,則要求n越接近于m值,反之也要求矢量盡量接近于插值曲線的節點矢量,否則,所得曲線可能出現變形和不穩定。

          2.3曲線逼近過程中節點矢量的控制

          圖1.1選擇節點矢量后生成的曲線(n=6,p=3)

          從圖上可以看出,盡管節點矢量的值有一定的偏差,但曲線并沒有明顯的偏移。實踐表明,取PER為100%,幾乎可適用于所有的實際應用過程。

          通過節點矢量的控制,使得各條曲線具有許多共同的節點,在作曲線兼容性處理時,僅有很少的節點需要被插入,從而使得合成曲面的節點數得到有效控制。

          2.4期望精度內的曲線逼近

          要使一條成功擬合的曲線更簡潔,應該盡可能減少控制頂點數,另一方面又要保證每一條擬合曲線的偏差不超出期望精度的范圍,這樣擬合而成的曲線,即在允差內由最少的控制頂點數定義的曲線稱為優化曲線。在前面討論的曲線逼近算法中已預先確定控制頂點數,在實際應用過程中,控制頂點數需根據所要求的誤差范圍來確定。下面是對上述算法的改進:

          (1)根據采樣數據點計算參數值;

          (2)初始定義控制頂點數,用上述逼近算法作曲線逼近,同時相應地修改候選節點矢量;

          (3)計算曲線誤差,根據誤差來調整控制頂點數,使誤差控制在給定范圍ε之內;

          (4)通過增加新的節點來修改候選節點矢量;

          (5)輸出所得曲線C及修改后節點矢量u

          由于無法確定逼近已知數據點的曲線所需的控制頂點數,故最初給出一個近似的估計,然后使用前面討論的逼近算法的一個迭代過程來調整曲線誤差及相應的控制頂點數,最后得到所需曲線和增加相應節點后的節點矢量。

          如果每一條擬合曲線的誤差均小于誤差精度,同時使用最少的控制頂點數,則擬合成功,否則是不成功的,需要調整控制頂點數,可用二分控制頂點數間隔范圍的查找法來實現。

          3曲面逼近

          綜上所述,曲面逼近過程可表述如下:

          圖1.2所示即為擬合而成的曲面。

          圖1.2擬合而成的曲面

          4結論

          本文提出了一種根據已知數據點逼近曲面的方法,實踐表明,該方法不失為一種行之有效的曲面擬合方法。在三維掃描數據點的曲面重構技術應用領域中具有較好的實用意義。

          參考文獻

          [1]張宏偉,趙小松,張國雄.三維曲面重構技術[J].天津大學學報(自然科學與工程技術版),2002,(02):50-53.

          [2]王楓紅,鄭時雄,陳錦昌.逆向工程中自由曲面重構的算法探討[J].現代制造工程,2002,(11):66-68.

          [3]王英惠,趙汝嘉.逆向工程中自由曲面的自適應采樣與建模[J].小型微型計算機系統,2002,(11):126-128.

          [4]田竹友,簡斌.逆向工程中逐層掃描數據的近似蒙面算法.北京機械工業學院學報,2004.

          [5]曲學軍,寧濤,席平.逆向工程中平面輪廓線數據的B樣條曲面擬合.計算機工程,2004.

          [6]付劍晶,李在偉.復雜曲面造型原理及其工程應用.計算技術與自動化,2004.