王凌云
(山東服裝職業(yè)學院科研所,山東泰安 271000)
三次B樣條反求控制點
王凌云
(山東服裝職業(yè)學院科研所,山東泰安 271000)
反求工程作為復雜工業(yè)產(chǎn)品設(shè)計與制造的重要技術(shù)手段之一,深受CAD/CAM領(lǐng)域的廣泛重視,特別是自由曲面重構(gòu)技術(shù)作為復雜曲面產(chǎn)品反求工程中的“瓶頸”問題,是今后一個時期的研究熱點.反求工程中最為關(guān)鍵的技術(shù)就是曲面重構(gòu)技術(shù).目前主要有兩大重構(gòu)方法:NURBS曲面重構(gòu)和三角Bezier曲面重構(gòu).本文圍繞NURBS曲面重構(gòu)展開研究,提出一種反算三次B樣條曲線、曲面控制頂點的簡便算法.該算法適用于準均勻和非均勻B樣條曲線、曲面的反算.算法采用非節(jié)點邊界條件,不需要由用戶提供,從而使反算過程得以簡化.
反求工程;非均勻有理B樣條;型值點;控制點
在CACG實踐中,常遇到要求構(gòu)造插值曲線和插值曲面,以用于已有曲線曲面的形狀表示.NURBS方法為標準解析形式的初等曲線曲面和自由型曲線曲面的精確表示和設(shè)計提供了一個公共的數(shù)學表示,有操縱控制頂點及權(quán)因子,為各種形狀設(shè)計提供了充分的靈活性,由于非均勻有理B樣條(NURBS)可以精確表示解析形狀和自由曲線曲面,國際標準組織于1991年把NURBS作為表示工業(yè)產(chǎn)品幾何形狀的工業(yè)標準.
NURBS曲線曲面在實際應(yīng)用中可以分為兩種形式:一種是已知控制點求解曲線曲面上的點,稱為正算問題.另一種情況是已知曲線曲面上的型值點,求解曲線曲面的控制點,稱為反算問題.在實際應(yīng)用中,常常是給出一組離散的型值點,要求構(gòu)造通過該型值點的曲線曲面,即所謂的曲線曲面插值.文中只討論三次NURBS曲線問題,給出反算控制點的方法.
1.1 B樣條基礎(chǔ)知識
B樣條方法是以距離加權(quán)插值法為基礎(chǔ),以數(shù)據(jù)點為型值點反求其控制點,然后將B樣條曲面看作是兩個不同方向的B樣條曲線的直積,避免復雜的矩陣運算.B條曲面由于其本身具有的跨界曲率自連續(xù)性使得曲面片間的光順性問題得以簡化.
其中di(i=0,1,…,n)為控制頂點,又成為德布爾點,順序連成的折線又稱為B樣條控制多邊形, Ni,k(u)(i=0,1,…,n)稱為規(guī)范k次B樣條基函數(shù),是由節(jié)點矢量U=[u0,u1,…,un+k+1]按Cox-De Boor遞推公式定義的k次規(guī)范B樣條基函數(shù),表示如下:
按照如上定義,在定義式中取k=3就是一條三次NURBS曲線的數(shù)學表達式.一般常用的是非均勻有理B樣條,它采用非均勻節(jié)點矢量,并在兩端點處采用重節(jié)點技術(shù),使得曲線嚴格地插值于首末端點,工程中,一般三次B樣條曲線曲面己經(jīng)能滿足實際的需求了.
1.2 B樣條曲線反算的一般過程
a)根據(jù)型值點的分布趨勢,構(gòu)造非均勻節(jié)點矢量. b)應(yīng)用計算得到的節(jié)點矢量構(gòu)造非均勻B樣條基. c)構(gòu)建控制點反算的系數(shù)矩陣.
d)建立控制點反算方程組,求解控制點列.其中,B樣條基函數(shù)的求值是關(guān)鍵.
1.2.1 假設(shè)規(guī)定
為使一k次B樣條曲線通過一組數(shù)據(jù)點qi(i=0,1,…,m),反算過程一般地使曲線的首末端點分別和首末數(shù)據(jù)點一致,使曲線的分段連接點分別依次與B樣條曲線定義域內(nèi)的節(jié)點一一對應(yīng).即qi點有節(jié)點值uk+i(i=0,1,…,m).
1.2.2 三次B樣條插值曲線節(jié)點矢量的確定
曲線控制點反算時一般使曲線的首末端點分別與首末型值點一致,型值點pi(i=0,1,…,n)將依次與三次NURBS曲線定義域內(nèi)的節(jié)點一一對應(yīng).三次NURBS插值曲線將由n+3個控制點di(i= 0,1,…,n+2)定義,相應(yīng)的節(jié)點矢量為U=[u0,u1,…,un+6].為確定與型值點相對應(yīng)的參數(shù)值ui+3(i=0,1,…,n),需對型值點進行參數(shù)化處理.選擇ui一般采取以下方法:
(1)均勻參數(shù)化法:
1.2.3 反算三次B樣條曲線的控制頂點
給定n+1個數(shù)據(jù)點pi,i=0,1,…,n.通常的算法是將首末數(shù)據(jù)點p0和pn分別作為三次B樣條插值曲線的首末端點,把內(nèi)部數(shù)據(jù)點p1,p2,…,pn-1依次作為三次B樣條插值曲線的分段連接點,則曲線為n段.因此,所求的三次B樣條插值曲線的控制頂點bi,i=0,1,…,n+2應(yīng)為n+3個.節(jié)點矢量U=[u0,u1,…,un+6],曲線定義域u∈[u3,un+3].B樣條表達式是一個分段的矢函數(shù),并且由于B樣條的局部支撐性,一段三次B樣條曲線只受4個控制點的影響,下式表示了一段B樣條曲線的一個起始點:
式中ui+3為起始點的參數(shù)值,i∈[0,m-4],通過該式可獲得m-3個分段曲線的起始點.由于采用了重節(jié)點技術(shù),末端型值點與控制點重合,則p0=V0;pm-3=Vm-1.則反求控制點方程組如下:
該方程組有m個未知數(shù)Vj,而方程的個數(shù)是m-2個.為此,還需補充兩個端點條件:對于C2連續(xù)的三次B樣條閉曲線,因為首末數(shù)據(jù)點相重,q0=qm,不計重復,方程減少一個,又首末三個控制點依次相重,即dn-2=d0,dn-1=d0,dn=d2;未知控制點的數(shù)目減少了三個,所以方程個數(shù)與未知數(shù)個數(shù)相同,上述線性方程組可改寫成如下矩陣形式,
解方程,即可求出全部控制點.
對于B樣條開曲線以及不要求在相重的首末數(shù)據(jù)點q0=qm處C2連續(xù)的三次B樣條B曲線,n-1個方程不足以決定其包含的n+1個未知控制頂點,還必須增加兩個通常由邊界條件給定的附加方程,這樣求解三次B樣條控制頂點的線性方程組可以寫成如下矩陣形式.
2.1 B樣條曲面重構(gòu)
對于B樣條曲面的重構(gòu),實際上就是已知型值點Qij(i=0,1,…,m;j=0,1,…,n);求相應(yīng)均勻雙三次B樣條曲面的控制點陣pij(i=-1,0,1,…,m+1;j=-1,0,1,…,n+1)具體的方法就是:
1)對u向的n+1組型值點,按照B樣條曲線的邊界條件及反算公式,求得由n+1組B樣條曲線構(gòu)成的控制多邊形,這里每條曲線均要加兩個邊界條件,故會得到(m+3)*(n+1)個特征網(wǎng)格控制點Vij(i=-1,0,1,…,m+1;j=-1,0,1,…,n+1).
2)把Vij看作是v向的(m+3)次B樣條曲線反算,即可得到雙三次B樣條曲面的控制點pij(i=-1,0, 1,…,m+1;j=-1,0,1,…,n+1).如果從0開始算點,pij(i=0,1,…,m+2;j=0,1,…,n+2).
2.2 插值曲面的光順性問題
利用上述方法得到的曲面,在片內(nèi)滿足C2連續(xù),但在片間的公共邊界以及多個片相交的角點處,只滿足了位置連續(xù),需要進行光順處理.
光順方法大體上可以分為兩大類:局部光順法和整體光順法.局部光順法只是對少數(shù)“壞點”進行修改,具有較強的局部修改能力,并且計算速度快,但是“壞點”較多時光順的效果不理想;整體光順法是對全部型值點進行修改,曲面整體光順效果較為理想,但計算量大,收斂速度慢.光照反射特性法屬于整體光順法,通過反射線來檢查曲面的光順性.能量法是典型的整體光順法,使曲面的整體能量在一定的約束條件下達到最小.但是用能量法光順曲面,不論原來的曲面是什么形狀,光順后的曲面趨于向平面變化,導致曲面變形,而且計算速度受控制頂點個數(shù)的限制,不適合處理大量數(shù)據(jù).小波分析法是將曲面分解為低分辨率曲面和細節(jié)曲面,分解次數(shù)越多,曲面越光順.分解算法和重構(gòu)算法速度快,適合大數(shù)據(jù)量曲面光順.無論采用哪種方法,要達到所有截面曲線和控制曲線都光順不是輕而易舉的,要求設(shè)計員擁有相當?shù)慕?jīng)驗積累和理論基礎(chǔ),經(jīng)過耐心細致艱巨的工作才能實現(xiàn).
曲面的光順問題迄今沒有得到圓滿的解決,人們期待在這方面得到突破性的進展.
在反算控制點過程中,用的參數(shù)化方法不同,最后的結(jié)果也有差別,比較而言采用積累弦長參數(shù)化法最合適.均勻參數(shù)化方法比較適合于數(shù)據(jù)點多邊形各邊接近相等的場合.積累弦長參數(shù)化法如實反映了數(shù)據(jù)點按弦長的分布情況,一直被認為是最佳參數(shù)化法.它克服了數(shù)據(jù)點按弦長分布不均勻情況下采用均勻參數(shù)化所出現(xiàn)的問題.向心參數(shù)化方法考慮了數(shù)據(jù)點相鄰弦線的折拐情況,當數(shù)據(jù)點有急劇拐彎時,這種方法效果很好.所以,在實際應(yīng)用中要根據(jù)數(shù)據(jù)點的分布情況選擇合適的參數(shù)化方法來反算控制點.本文給出了一種反算三次B樣條插值曲線和雙三次B樣條插值曲面控制頂點的簡便算法.其實踐證明:該算法穩(wěn)定可靠,速度較快,結(jié)果也能令人滿意.當用戶對邊界條件無特殊要求時,適合采用本算法.
[1]王飛.三次B樣條反算的一種簡便算法[J].北京郵電大學學報,1996,(3):84-90.
[2]施法中.計算機輔助幾何設(shè)計與非均勻有理B樣條[M].北京:北京航空航天大學出版社,1994.
[3]呂丹,等.三次NURBS曲線控制點的計算[J].彈箭與制導學報,2006,(4):357-359.
[4]彭偉.逆向工程中的NURBS曲面重構(gòu)研究[D].南京:南京理工大學,2003.
[5]徐文鵬.基于人體特征的服裝cad參數(shù)化技術(shù)研究與應(yīng)用[D].杭州:浙江大學,2004.
[6]王少純,等.基于NURBS方法的三維型腔曲面的幾何描述及網(wǎng)格域的生成[J].哈爾濱工業(yè)大學學報,2000,32(2).
[7]楊曉靜.B樣條曲面構(gòu)造方法的研究和實現(xiàn)[D].北京:北京工業(yè)大學,2003.
Ca lcula ting Con trol Poin tsof NURBS
WANG Ling-yun
(Institute of Scien tific Research,Shandong Fashion College,Tai’an,271000,China)
Reverse engineering(RE)is a key techno logy of advancedm anufac tu ring.A sone of im po rtan t technicalways to design andm anufacture comp lex industrialp roducts,reverse engineering is taken into a accountw idely in the field of CAD/CAM.Especially,free-form surface reconstruction is a challenging task andw ill catchmore attention in futurewo rk.Surface reconstruction is themost important techno logy in RE. There are two p revailing su rface reconstruc tionm ethods.They are NURBS su rface reconstruc tionm ethod and triangle surface reconstructionm ethod.This thesism akes som e researchwork on NURBS surface reconstruction.Our paper p roposed a simp lem ethod which can calcu late the contro l points in NURBS curves and surfaces.This arithm etic app lies to quasi-unifo rm B-sp line and non-unifo rm B-sp line.The arithm etic uses non-node boundary cond itions and does no t need in terac tion,w hich can simp lify the operation p rocess.
reverse engineering;non-unifo rm B-sp line;characteristic point;con tro lpoints
TP301.6
A
1672-2590(2010)03-0040-04
2010-04-06
王凌云(1970-),女,山東泰安人,山東服裝職業(yè)學院科研所講師.