章虎冬
(西安郵電大學 理學院,陜西 西安 710121)
?
基于局部能量的三次B樣條曲線自動光順算法
章虎冬
(西安郵電大學 理學院,陜西 西安 710121)
摘要:給出B樣條曲線的一種自動光順算法,通過求解一個以修改控制頂點為目標函數(shù)的優(yōu)化問題,進而求出光順后的控制頂點,反復上面的過程,直到最后得到滿足約束條件的光順后的曲線。通過光順法光順后的曲線,不僅使曲線的曲率變化比較均勻,而且也使曲線的應變能較小,光順效果明顯。
關鍵詞:B樣條曲線;應變能;誤差限;光順準則
0引言
在現(xiàn)代的計算機輔助設計中,由給定的數(shù)據(jù)點產(chǎn)生一條“光順的”或者“視覺效果良好”的曲線是一項非常重要的任務。即使運用最有效的B樣條曲線,也可能擬合或插值出一條不光順的曲線。所以對其進行幾何處理,使得曲率圖變化均勻就顯得至關重要。
目前,對曲線的幾何處理主要兩種方法:一種方法是運用張力樣條對曲線進行光順[1]。另一種方法是交互式光順:人為觀察需要光順的控制頂點,并通過校正這些點得到光順后的控制頂點與光順后的曲線[2-3],但是這需要有經(jīng)驗的專家及大量的人力資源,所以這種交互式的光順法也有失敗的時候[4],而且在交互式光順中運用較多的是節(jié)點的刪除和插入算法[5-7]和能量法[8-11],所以不適合于計算機自動輔助設計。給出一種B樣條曲線的自動光順算法就成了計算機輔助幾何設計工作者必須解決的問題。本文給出了一種基于優(yōu)化法的B樣條曲線自動光順算法。以反映光順性的應變能達到最小作為目標函數(shù),又考慮到誤差限,所以,用此算法不僅光順效果很好而且滿足誤差要求。
1三次B樣條曲線
三次B樣條曲線為
(1)
(2)
2光順準則
對曲線進行光順,首先必須給出具體的光順準則,目前在光順中經(jīng)常使用的光順準則有:
Sapidis N等給出的光順準則1:
在相應于zi值最大的內(nèi)節(jié)點ti(i=4,…,L)處曲線應該被光順
其中
Poliakoff等給出的光順準則2:
3能量光順
首先給出一些有用的概念和光順前后的曲線表示
(3)
把(3)式代入上式得
(4)
其中權(quán)因子
(5)
4光順算法
下面給出光順算法:
5算例
圖1 光順前的曲線
圖2 光順前的曲率圖
圖1~圖4是基于上面的光順法進行曲線光順的例子。
圖1和圖2分別是由所給數(shù)據(jù)擬合出的曲線以及曲率圖,就是我們需要光順的曲線;圖3和圖4分別是經(jīng)過上文的光順法光順后的曲線和曲率圖。
由曲率圖2可以看出,在0.5~1之間頻率有一段震蕩比較大,這也就說明原曲線這一段上的光順性比較差。由曲率圖4可以看出,在0.5~1之間原來頻率震蕩比較大的一段現(xiàn)在明顯震蕩比較小了,這也說明經(jīng)過本文的光順法光順后,得到的曲線光順性好。并且從圖1和圖3的比較中可以看出,光順前后的曲線基本吻合,沒有發(fā)生較大的變化;從圖2和圖4的比較中可以看出,曲率變化較原來有了明顯的改善,達到了預先的光順目的。
圖3 光順后的曲線
圖4 光順后的曲率圖
光順前型值點的橫縱坐標分別為:
6結(jié)論
本文給出了基于局部能量的三次B樣條曲線的一種自動光順算法,首先總結(jié)了目前在光順曲線時所使用的各種光順準則,并從中選出最適合本文選點修改的光順準則,通過求解一個以修改控制頂點為目標函數(shù)的優(yōu)化問題,進而求出光順后的控制頂點,反復上面的過程,直到最后得到滿足約束條件的光順曲線。通過算例可知,在滿足控制頂點約束條件下,平面參數(shù)三次B樣條曲線的光順效果較好。后期,還可以把這種自動優(yōu)化光順算法運用于NURBS曲線的光順,只是求導比較困難,有待做進一步研究。
參考文獻
[1] 朱心雄.自由曲線曲面造型技術(shù)[M].北京:科學出版社,2000:348-365.
[2] Kjellander J.Smoothing of cubic parametric splines[J].CAD,1983,15(3):175-179.
[3] Sapidis N,Farin G.Automatic fairing algorithm for B-spline curves[J].CAD,1990,22(2):121-129.
[4] Lee E T Y.Energy,fairness,and a counterexample[J].CAD,1990,22(1):37-40.
[5] 康寶生,趙錄剛.平面三次NURBS曲線的自動光順算法[J].計算機輔助設計與圖形學學報,2002,14(3):225-227.
[6] 滿家巨,胡事民,雍俊海,等.B-樣條曲線的節(jié)點去除與光順[J].軟件學報,2001,12(1):143-147.
[7] Tiller W.Knot-removal algorithms for NURBS curves and surfaces[J].CAD,1992,24(8):445-453.
[8] Nowacki H,LIU D Y,LU X M.Fairing Bézier curves with constraints[J].CAGD,1990(7):43-55.
[9] ZHANG C M,ZHANG P F,CHENG F H.Fairingspline curves and surfaces by minimizing energy[J].CAD,2001,33(11):913-923.
[10] 李安平,蔣大為.三次均勻有理B樣條曲線的權(quán)因子優(yōu)化光順算法[J].計算機輔助設計與圖形學學報,1997,9(6):562-567.
[11] Hildebrandt K,Polthier K.Constraint-baseed fairing of surface meshes[C]//Proceedings of the Fifth Eurographics Symposium on Geometry Processing.Spain:Barcelona,2007.
[責任編輯、校對:李 琳] 第34卷第1期2016年1月西安航空學院學報JournalofXi'anAeronauticalUniversityVol.34No.1Jan.2016
An Automatic Faring Algorithm of Cubic B-spline Curves Based on Local Energy
ZHANGHu-dong
(School of Science,Xi'an University of Post and Telecommunications,Xi'an 710121,China)
Abstract:Local Energy Fairing of parametric cubic B-spline curves is presented in this paper.Firstly,we summarize all kinds of fairing criteria for curves fairing and select most suitable fairing criteria for the proposed algorithm.Secondly,by solving an optimization problem of having constraint condition,we obtain the fairing control points.Lastly,fairing curve is got by repeating process above.Fairing curves are acquired.Through this paper,the curve of the ray becomes smooth.Not only the curvature of the curve is more uniform,but also the strain of the curve can be smaller,so the effect is obvious.
Key words:B-spline curves;strain energy;distance tolerance;fairing criteria
中圖分類號:O241.5;TP391
文獻標識碼:A
文章編號:1008-9233(2016)01-0079-03
作者簡介:章虎冬(1979-),男,內(nèi)蒙古呼和浩特人,講師,從事計算機輔助幾何設計研究。
基金項目:西安郵電大學校青年基金資助項目(106-205010228);陜西省教育廳科研項目(14JK1655)
收稿日期:2015-11-25