蔣水秀 單 巖
1.杭州科技職業技術學院,杭州,311402 2.浙江大學,杭州,310027
自由曲線擬合是計算機輔助幾何設計(CAGD)的一項重要技術[1-3],是自由曲面逆向建模的基礎和前提,在逆向工程設計領域(如汽車設計)有廣泛的應用。自由曲線的擬合效果可從兩方面評估:一是擬合精度[4-8],即點群與曲線最大偏差;二是擬合曲線的光順性[9-10],即要求曲線連續且沒有非設計意圖的波動。
在現有的曲線擬合研究及相關CAD軟件中,對擬合精度的控制已經比較成熟,然而對擬合曲線的光順性控制則缺乏有效的手段。
影響曲線光順性的關鍵因素有兩個:一是曲線的階數,即控制頂點數量;二是控制頂點的分布狀態。現有的自動擬合方法往往只能通過減少控制頂點數量(同時也犧牲了擬合精度)來改善光順性,而對優化控制頂點的分布則缺乏有效手段。
曲線控制頂點的分布不僅影響曲線的光順性,還對曲線的編輯、拼接等后續操作的方便性有重要的影響。因此,在曲線擬合中,如不能對曲線的控制頂點分布進行有效的干預,則會使曲線擬合功能的實用性大打折扣。
本文針對這一現狀,提出并實現了一種新的自由曲線交互擬合方法。該方法首先通過人工交互手段,逐步增加擬合曲線控制頂點數,并調整和優化其分布狀態。然后,通過對自由曲線控制頂點位置的全自動迭代調整,使曲線逼近點群,保證了擬合效率及精度。
如圖1所示,{p j}(j=1,2,…,n)是用來擬合曲線的n個有序空間點,稱為型值點或擬合點,其交互擬合流程如下:

圖1 初始擬合曲線
(1)創建初始擬合曲線。根據{p j}擬合二階樣條曲線R2(t),其兩端控制頂點分別為Q1和Q2,中間控制頂點為Q3。
(2)交互增加控制頂點。根據擬合偏差情況,在合理位置交互添加第m個控制頂點Q m(m>3),此時控制頂點數增加到m個,由這些控制頂點生成m-1次樣條曲線Rm-1(t),如圖2所示。

圖2 增加控制頂點(m=5)
(3)迭代調整控制頂點(詳見本文第2節)。根據型值點集相對于當前擬合曲線的偏離程度,對所有中間控制頂點Qi(i=3,4,…,m)的位置進行迭代調整,直到曲線Rm-1(t)達到與{p j}的最佳逼近,如圖3所示。

圖3 控制頂點調整(m=5)
(4)擬合收斂判斷。如果調整后的Rm-1(t)與{p j}的偏離程度滿足精度控制要求,則得到最終結果,如圖4所示。否則轉向步驟2。

圖4 完成交互擬合(m=6)
控制頂點的調整是根據型值點相對于當前特征曲線的偏離程度來計算的。{p j}內的某型值點的偏離對各個控制頂點位置調整的影響程度是完全不同的,我們規定每個型值點只作為與其距離最近的控制頂點位置調整的計算依據。
基于這一規定,我們可以為某中間控制頂點Qi(i=3,4,…,m)分配一組型值點作為其位置調整計算的參考點組{p j}(k1≤j≤k2,1≤k1≤k2≤n),如圖5所示。
某控制頂點Qi的單次調整方向為其在曲線上最近點處的法線方向,調整位移量ξi計算如下:

圖5 控制頂點調整的參考點組

式中,d j為型值點p j到擬合曲線的偏差;ηj為型值點p j對控制頂點位置調整的影響因子;Dj為型值點p j到控制頂點Qi的距離。
其中,l>1,用于強化距離Dj對ηj的計算結果的影響,l越大,則與Qi距離較近的型值點的影響因子越大,在程序中取l=2。

中間控制頂點的位置調整是一個反復迭代過程,其算法基本流程如下:(1)為每個中間控制頂點Qi分配參考點組。(2)按式(1)依次計算并調整各個控制頂點的位置。
(3)計算擬合偏差(最大偏差及平均偏差)的減小(改善)值是否小于規定的閾值,若是,則停止調整;否則返回步驟1繼續調整。
在為控制頂點分配對應的調整點組時,以某型值點到各控制頂點的空間距離為判定標準,將該型值點放入與其最近的控制頂點的參考點組,作為該控制點的調整依據。
但在圖6所示的曲線急劇彎曲情況下,這一分組判別將會失效。不僅如此,對控制頂點位置移動矢量方向的計算也會出現錯誤。所以,我們要求所擬合的目標曲線的曲率變化足夠小。幸運的是,在工程實際項目中,曲線一般都比較“平緩”,圖6所示的情況極少發生。

圖6 異常的情況
我們在UG NX軟件平臺上采用GRIP二次開發工具實現了本文提出的自由曲線交互擬合程序。
本文對圖7所示的一組三坐標測量點進行了擬合比對實驗,擬合精度設定為0.1mm。圖7a所示為采用CAD軟件進行擬合得到的5階自由曲線。由圖可見,其最大擬合偏差為0.084mm,同時,擬合曲線的中間兩個控制頂點波動較大,曲線兩端曲率梳曲線出現了“翹起”的現象。
圖7b所示則為采用交互擬合技術得到的5階擬合曲線,各控制頂點分布均勻,波動小,曲率梳整體變化平緩、一致,同時,其最大擬合偏差僅有0.05mm,相比圖7a明顯得到改善。

圖7 擬合對比實驗
采用交互擬合技術生成的邊界曲線可用于構造高光順的曲面。圖8為某汽車內飾頂部主體曲面逆向建模的結果,其U、V兩個參數方向的曲率均表現出令人滿意的結果。

圖8 應用實例
本文提出的自由曲線交互式擬合技術較好地解決了現有CAD軟件擬合功能無法保證控制頂點分布質量的問題,從而確保了擬合曲線的光順度。同時,通過全自動調整控制頂點位置,保證了擬合的效率和精度。實際應用效果證明,該方法可較好地滿足自由曲線擬合在質量、效率方面的綜合要求,有較高的工程實用價值,在汽車零部件逆向設計等領域有廣泛的應用前景。
[1]Piegl L,Tiller W.The NURBS Book[M].New York:Springer,1997.
[2]郭隱彪,郭江,王振忠.非球面檢測路徑與高精度曲線擬合算法研究[J].中國機械工程,2008,19(10):1201-1204.
Guo Yinbiao,Guo Jiang,Wang Zhenzhon.Study on Measuring Path and High-precision Curve Fitting Algorithm for Axisymmetric Aspheric Optics[J].China Mechanical Engineering,2008,19(10):1201-1204.
[3]楊旭靜,胡仲勛,鐘志華.面向刀具路徑生成的NURBS曲線擬合算法研究[J].中國機械工程,2009,20(8):984-1007.
Yang Xujing,Hu Zhongxun,Zhong Zhihua.Research on the NURBS Curve Fitting for Tool Path Generation[J].China Mechanical Engineering,2009,20(8):984-1007.
[4]Foley T A.Scattered Data Interpolation and Approximation with Error Bounds[J].Computer Aided Geometric Design,1986,3(3):163-177.
[5]Bajaj C,Xu G.Error Bounded Regular Algebraic Spline Curves[C]//Proceedings of the Fifteenth Annual ACM Symposium on Computational Geometry.Miami Beach,FL.,1999:332-340.
[6]Park H.An Error-bounded Approximate Method for Representing Planar Curves in B-splines[J].Computer Aided Geometric Design,2004,21(5):479-497.
[7]Lee E T Y.Choosing Nodes in Parametric Curve Interpolation[J].Computer Aided Design,1989,21(6):363-370.
[8]藺宏偉,王國瑾,董辰世.用迭代B-spline曲線曲面擬合給定點集[J].中國科學(E 輯),2003,33(10):912-923.
Ling Hongwei,Wang Guojin,Dong Chenshi.Curve& Surface Fitting a Given Point Set Using Iteratively B-spline[J].Science China E,2003,33(10):912-923.
[9]劉鼎元,趙玉琦,詹廷雄,等.Bézier曲線和B樣條曲線光順擬合法[J].計算數學,1984,6(4):360-365.
Liu Dingyuan,Zhao Yuqi,Zhan Yanxiong,et al.Smooth Fitting Using Bézier Curve and B Spline Curve[J].Journal of Computational Mathematics,1984,6(4):360-365.
[10]王國瑾,王振武,壽華好.B樣條曲面在嚴格約束狀態下的光順擬合[J].軟件學報,1998,9(9):696-698.
Wang Guoqin,Wang Zhenwu,Shou Huahao.Smooth Fitting Using B Spline Curve in Strict Constraint Condition[J].Journal of Software,1998,9(9):696-698.