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

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

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

 式中總共有m+1個(gè)線性方程組,但有n+1個(gè)控制頂點(diǎn)未知量,。因此,,要想得到唯一解,需要另外補(bǔ)充兩個(gè)方程,,這兩個(gè)方程一般由邊界條件給定,。邊界的補(bǔ)充條件有多種形式,如給定兩端點(diǎn)的切向量,、自由端點(diǎn)條件,、虛節(jié)點(diǎn)條件和拋物線條件等,實(shí)際應(yīng)用中根據(jù)具體情況選取適合的邊界補(bǔ)充條件,。有了補(bǔ)充方程,,即可用迭代法或追趕法等求解所建立的線性方程組。
2 快速反算算法
 將定義在每一個(gè)節(jié)點(diǎn)區(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樣條曲線控制頂點(diǎn)的一種快速算法[J].杭州電子科技大學(xué)學(xué)報(bào),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)載,。