吳海東,高 健,李 思
(1.廣東輕工職業技術學院 汽車系,廣東 廣州 510300;2.廣東工業大學 機電工程學院,廣東 廣州 510006)
G2連續非均勻B樣條閉合曲線迭代擬合算法
吳海東1,2,高 健2,李 思2
(1.廣東輕工職業技術學院 汽車系,廣東 廣州 510300;2.廣東工業大學 機電工程學院,廣東 廣州 510006)
基于盈虧修正思路,提出一種二階連續B樣條閉合曲線迭代擬合算法,解決閉合曲面截面線重構問題。該算法在非均勻B樣條曲線迭代擬合基礎上,加入曲線閉合和二階連續性等約束,迭代得到曲線控制點以擬合閉合曲線。最后以扭曲葉片截面線輪廓實例驗證了算法有效性。
二階幾何連續性;閉合B樣條曲線;迭代算法;扭曲葉片
B樣條曲線曲面擬合是計算機輔助幾何設計、逆向工程、再制造工程的基礎性問題。傳統上,為得到B樣條曲線需要解算線性方程組來反求控制點,但這種全局性插值方法,一個插值點的微小變化,會引起反求過程的重新進行和反求結果的全部變動,失去了B樣條曲線局部性特點[1]。基于此,Akemi、周國華等人[2-3]提出了一種用遺傳算法對數據點參數化和節點矢量進行優化配置的方法,與傳統算法相比,同樣精度時用遺傳算法的控制點數要少很多,但存在收斂速度慢而導致的計算速度慢問題。齊東旭等[4-5]直接迭代計算插值曲線曲面的控制點,提出了樣條曲線擬合的盈虧修正方法,并給出了均勻B樣條曲線迭代格式。藺宏偉[6]提出了非均勻B-spline曲線曲面的迭代擬合算法,并用矩陣理論證明了迭代極限曲線曲面插值于給定數據點集,算法具有局部性、收斂性、保凸性等優點。史利民等[7]基于文獻[6]提出了NURBS曲線曲面擬合數據點的迭代算法。這些迭代算法的計算速度快,對于復雜曲面的擬合優勢明顯。
B樣條擬合曲線往往是在曲線擬合完成之后再去對其進行光順處理,這就犧牲了曲線擬合精度[8]。本文提出一種B樣條曲線迭代算法,即在迭代非均勻B樣條曲線算法基礎上,加入曲線閉合和二階幾何連續性等約束條件,擬合與光順處理同步進行,得到一條二階連續且閉合的非均勻B樣條曲線。
1.1 B-spline曲線表達式
k次B樣條曲線定義為:

其中:di(i=0,1,…,n)為控制點;Ni,k(u)(i=0,1,…,n)為k次B樣條基函數;節點矢量U滿足:u0≤u1≤…≤un+k+1。
1.2 計算節點矢量

故節點矢量U定義為:
U=[u0,u1,…,uk,uk+1,…,un,un+1,…,un+k+1].


1.3 幾何連續性條件
本文在處理曲線光順性問題上采用與參數選取無關的幾何連續性來度量。采用Beta約束定義曲線幾何連續性,即:

(1)

首先,要滿足G0連續,就要滿足曲線首尾控制點重合,即:
d0=dn.
(2)
然后,要滿足G1連續,k次B樣條曲線首尾連接點切矢量為:

(3)

(4)
將式(2)、式(3)和式(4)代入式(1)中,得到B樣條曲線G1連續性條件為:

(5)
其次,要滿足G2連續,B樣條曲線在首尾連接處二階導矢為:

(6)

(7)
將式(3)、式(4)、式(5)、式(6)和式(7)代入式(1)中,得到閉合B樣條曲線G2連續性條件為:

(8)

2.1 算法描述
為了擬合閉合且二階連續的B樣條曲線,在迭代算法中加入閉合和G2連續性條件。具體迭代過程如下:
(1) 迭代之初,令:

(9)


(10)

(11)


(12)
(2) 進一步,記第j個控制頂點首次調整量為:

(13)

(14)

(15)


(16)

(17)

(18)
(3) 依次類推,如果已得到第t次迭代后的B樣曲線pt(u),記第j個控制頂點的第t+1次調整量為:

(19)

(20)

(21)

(22)

(23)


(24)
在迭代過程中通過調整β1和β2的取值和迭代次數來得到曲線,既保證了迭代精度又保證了G2曲線連續。
2.2 算法修正
在迭代中,發現曲線首尾連接點d0和dn左右分別受兩對控制點(d1,dn-1)和(d2,dn-2)的影響,導致這些點誤差變大,影響擬合結果。具體分析如下:


(25)

基于上述不足,將算法作如下調整,即在每一次迭代中,令:

(26)

本文以扭曲葉片截面輪廓線為實例,取其橫截面輪廓線上45個測點,用Visual C++編寫該算法計算B樣條曲線控制點,并擬合B樣條曲線,最后用Imageware檢測擬合曲線與原始模型的誤差。
圖1、圖2分別為扭曲葉片橫截面輪廓線原始圖形和用本文算法迭代20次后擬合的葉片橫截面輪廓線。

圖1 葉片橫截面輪廓線數據點

圖2 迭代20次后擬合的葉片輪廓線
圖3是在Imageware中檢測迭代20次后擬合曲線與原曲線之間的誤差對比。結果表明迭代20次后曲線擬合最大誤差為0.033 1 mm,最小誤差為0.005 mm,平均誤差為0.006 5 mm。
將得到的IGES文件格式導入UG,以檢驗生成的IGES文件是否滿足二階連續性要求。圖4為截面線首尾連接處的曲率梳,從圖4可以看出,擬合的扭曲葉片截面線曲率梳平滑過渡。
本文提出了一種迭代擬合非均勻B樣條曲線的算法。算法中,加入了曲線首尾閉合及幾何連續的二階Beta約束條件,并基于誤差約束對迭代算法做了修正,提高了擬合曲線精度。最后,用扭曲葉片橫截面輪廓測點進行了曲線擬合,驗證了此算法的有效性。

圖3 誤差分析結果

圖4 截面線首尾連接處的曲率梳
[1] 施法中.計算機輔助幾何設計與非均勻有理B樣條[M].北京:高等教育出版社,2013.
[2] Akemi Galvez, Andres Iglesias, Jaime Puig-Pey. Iterative two-step genetic-algorithm-based method for efficient polynomial B-spline surface reconstruction[J]. Information Sciences,2012,182:56-76.
[3] 周國華,王國昭.基于遺傳算法的B樣條曲線和Bezier曲線的最小二乘擬合[J].計算機研究與發展, 2005,42(1):134-143.
[4] 齊旭東,田伯賢.曲線擬合的數值磨光方法 [J].數學學報,1975,18(3):173-184.
[5] 齊東旭.關于計算機輔助幾何造型中數學方法的若干注記[J].北方工業大學學報,1991,3(1):1-8.
[6] 藺宏偉,王國瑾,董辰世.用迭代非均勻B-spline曲線(曲面)擬合給定點集[J].中國科學,2003,33(10): 912-923.
[7] 史利民,王仁宏.NURBS曲線曲面擬合數據點的迭代算法[J].數學研究與評論,2006,26(4):735-743.
[8] 尹小奎,李奇敏,葉仲泉,等.NURBS曲面光順方法綜述[J].圖學學報,2012,33(5):13-18.
[9] Les Piegl, Wayne Tiller.非均勻有理B樣條[M]. 趙罡,穆國旺,王拉柱,譯.北京:清華大學出版社,2010.
An Iterating Fitting Algorithm ofG2Continuous and Closed Nonuniform B-Spline Curve
WU Hai-dong1,2, GAO Jian2, LI Si2
(1. Department of Automobile, Guangdong Industry Technical College, Guangzhou 510300, China; 2. School of Mechanical and Electrical Engineering, Guangdong University of Technology, Guangzhou 510006, China)
Based on the profit-loss modification, an iterating fitting algorithm ofG2continuous and closed nonuniform B-spline curve is provided to solve the problem of cross section profile reconstruction of closed curves. Combined the constraints of closed curve andG2continuity, the control points of the target curve are calculated to fit the cross section profile of closed surface by the iterating method of nonuniform B-spline curves. As a result, the validity of the algorithm is verified by a reconstructed example of cross section profile for twisted turbine blade.
G2continuity; closed nonuniform B-spline curve; iterating algorithm; twisted turbine blade
1672- 6413(2015)06- 0008- 03
國家自然科學基金資助項目(51175093);廣東省重大科技項目(2010A080401003)
2015- 02- 02;
2015- 08- 16
吳海東(1969-),男,湖北蘄春人,講師,在讀博士,研究方向:復雜曲面修復。
TP391.7
A