《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > EDA與制造 > 設(shè)計應(yīng)用 > 一種三次均勻B樣條曲線快速反算的方法
一種三次均勻B樣條曲線快速反算的方法
來源:微型機(jī)與應(yīng)用2011年第11期
李道軍1,鄔向偉2
(1.鄭州職業(yè)技術(shù)學(xué)院,河南 鄭州 450121;2.中州大學(xué),河南 鄭州 450044)
摘要: 提出了均勻三次B-spline曲線反算的快速算法。在Matlab中編程實現(xiàn),大大降低了程序的復(fù)雜性,提高了運算效率,并使重構(gòu)所得曲線的兩個端點處曲率不為零,滿足了一階連續(xù),并給出了應(yīng)用實例。
Abstract:
Key words :

摘  要: 提出了均勻三次B-spline曲線反算的快速算法。在Matlab中編程實現(xiàn),大大降低了程序的復(fù)雜性,提高了運算效率,并使重構(gòu)所得曲線的兩個端點處曲率不為零,滿足了一階連續(xù),并給出了應(yīng)用實例。
關(guān)鍵詞: 逆向工程;B-spline;反算算法;Matlab

 在計算機(jī)輔助幾何設(shè)計(CAGD)實踐中,常遇到設(shè)計者事先并不知道控制多邊形頂點的位置,而只知道曲線上的某些型值點的情況。從設(shè)計角度上來說,通??紤]的是曲線的大致形狀,而非控制多邊形的大致形狀。為了構(gòu)造B-spline曲線,就需要由已知的型值點反算出控制多邊形的頂點。在實際工程應(yīng)用中,B-spline 曲線的反算過程所涉及到的計算量很大,因此討論B-spline 曲線的快速反算算法有著很重要的意義[1]。
 對于三次均勻B-spline曲線的反算,朱心雄[2]給出了一種計算速度快且易于編程的反算控制頂點的迭代方法,可以得到在允許誤差范圍內(nèi)的C2連續(xù)曲線。而參考文獻(xiàn)[3]通過A-1的研究對三對角矩陣提出了一種優(yōu)于追趕法和LU分解法的求解方法。但是它們都是以兩端曲率為零作為邊界條件,可能出現(xiàn)人們所不希望看到的曲線在端點處不連續(xù)的現(xiàn)象。針對B-spline 曲線的反算過程計算量大,重構(gòu)曲線端點處曲率不連續(xù)的問題,本文提出了一個有效的解決辦法,并在Matlab[4]中予以編程實現(xiàn),大大降低了程序的復(fù)雜性,提高了運算效率,并使重構(gòu)所得曲線的兩個端點處曲率不為零,至少滿足了一階連續(xù)。

 式中總共有m+1個線性方程組,但有n+1個控制頂點未知量。因此,要想得到唯一解,需要另外補充兩個方程,這兩個方程一般由邊界條件給定。邊界的補充條件有多種形式,如給定兩端點的切向量、自由端點條件、虛節(jié)點條件和拋物線條件等,實際應(yīng)用中根據(jù)具體情況選取適合的邊界補充條件。有了補充方程,即可用迭代法或追趕法等求解所建立的線性方程組。
2 快速反算算法
 將定義在每一個節(jié)點區(qū)間上用整體參數(shù)u表示的B-spline基變換成用局部參數(shù)t∈[0,1]表示,則三次均勻B-spline曲線段的矩陣表示為:

 




參考文獻(xiàn)
[1] 劉德平.逆向工程關(guān)鍵技術(shù)及其應(yīng)用研究[D].西安:西安電子科技大學(xué),2008.
[2] 朱心雄.自由曲線曲面造型技術(shù)[M].北京:科學(xué)出版社,1999.
[3] 吳光亞,王小華.反求三次B樣條曲線控制頂點的一種快速算法[J].杭州電子科技大學(xué)學(xué)報,2005,25(3):64-66.
[4] 王學(xué)輝,張明輝.Matlab 6.1最新應(yīng)用詳解[M].北京:中國水利水電出版社,2002.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。