李軍成,劉成志,易葉青
(1.湖南人文科技學院數(shù)學與金融學院,湖南婁底417000;2.湖南人文科技學院信息學院,湖南婁底417000)
在計算機輔助設計及其相關研究領域中,插值曲線的構造一直都是重要的研究課題。作為一種分段插值樣條,三次Cardinal樣條[1]是構造插值曲線的一種重要方法。三次Cardinal樣條不僅滿足C1連續(xù),而且無須求解方程系統(tǒng)即可直接插值于給定的數(shù)據點。另外,當數(shù)據點保持不變時,三次Cardinal樣條的插值效果還可通過自帶的張力參數(shù)進行調控。這些優(yōu)點使得三次Cardinal樣條被廣泛應用于多工程領域[2-3]。 雖然,三角Cardinal樣條[4-5]、雙曲 Cardinal樣條[6]以及C2連續(xù)的 Cardinal樣條[7]在某些方面較傳統(tǒng)三次Cardinal樣條更優(yōu),但它們的方程結構更為復雜,因此不可否認,傳統(tǒng)三次Cardinal樣條仍具有較高的應用價值。
注意到,張力參數(shù)對三次Cardinal樣條的形狀有明顯的影響,為了使三次Cardinal樣條能插值于給定的首、末數(shù)據點,往往需要在數(shù)據點的兩端添加2個邊界條件,故邊界條件對首、末兩段樣條曲線的形狀也有較大影響。因此,在利用三次Cardinal樣條構造插值曲線時,可通過修改張力參數(shù)和邊界條件來實現(xiàn)對插值效果的調控,這顯然為插值曲線的構造提供了便利。當然,也可以在某種準則下確定張力參數(shù)和邊界條件的最佳取值,使得構造的三次Cardinal樣條滿足某種特定的要求。為使三次Cardinal樣條曲線盡可能光順,文獻[8]提出了一種利用曲率變化極小來確定張力參數(shù)和邊界條件最佳取值的方法。但文獻[8]僅簡單給出了確定張力參數(shù)和邊界條件最佳取值的方法,對其具體過程以及相應的三次Cardinal樣條函數(shù)并未展開詳細討論。為此,本文進一步討論如何通過優(yōu)化張力參數(shù)與邊界條件以使得構造的平面三次Cardinal樣條曲線及其函數(shù)形式盡可能光順的方法。通過對平面三次Cardinal樣條曲線及其函數(shù)形式的近似曲率變化進行極小化,易獲得張力參數(shù)與邊界條件的唯一解,從而使構造的三次Cardinal樣條曲線及其函數(shù)形式盡可能光順,且具有更好的插值效果。
給定平面上n(n≥3)個數(shù)據點pi(i=0,1,…,n),三次 Cardinal參數(shù)樣條曲線[1]可表示為
式 中 ,i=1,2,…,n-2,0≤t≤ 1,bj(t)(j=0,1,2,3)為
其中,實數(shù)T稱為張力參數(shù)。
特別地,當三次Cardinal樣條用于插值用途時,張力參數(shù)的最佳值取為T=0[9],此時對應的三次Cardinal樣條又稱為三次Catmull-Rom樣條[10]。三次Catmull-Rom樣條在許多工程領域已得到了較廣泛的應用[11-12]。
由式(1)與式(2)不難發(fā)現(xiàn),當T=1時,式(1)為
此時三次Cardinal參數(shù)樣條曲線將退化為一條直線段。因此,下面僅考慮T≠1的情形。
式(1)與式(2)經計算可得,
式(3)表明,每段三次Cardinal參數(shù)樣條曲線插值于第2與第3個數(shù)據點,意味著整條樣條曲線插值于除首、末數(shù)據點以外的其他數(shù)據點。由式(4)可得,表明三次Cardinal參數(shù)樣條曲線滿足C1連續(xù)。另外,由式(4)不難發(fā)現(xiàn),當所有數(shù)據點保持不變時,三次Cardinal參數(shù)樣條曲線的形狀將由張力參數(shù)T決定。例如,給定數(shù)據點pi(i=0,1,…,5)的坐標(xi,yi)為
張力參數(shù)T取不同值時的三次Cardinal參數(shù)樣條曲線如圖1所示。
另一方面,在許多實際問題中往往要求三次Cardinal參數(shù)樣條曲線也能插值于首、末數(shù)據點,此時,須在數(shù)據點pi(i=1,2,…,n)的兩端補充2個邊界條件:p-1與pn+1,常用的邊界條件取為p-1=p0,pn+1=pn。而事實上,當張力參數(shù)T固定,2個邊界條件取不同點時,首、末兩段三次Cardinal參數(shù)樣條曲線的形狀也將不同。例如,對于圖1中給定的數(shù)據點,取張力參數(shù)T=0,2個邊界條件取不同點時的三次Cardinal參數(shù)樣條曲線如圖2所示,圖中虛線對應的邊界條件為p-1=p0,p6=p5;實線對應的邊界條件為p-1=p2,p6=p3。
綜上,當數(shù)據點給定時,三次Cardinal參數(shù)樣條曲線的形狀由張力參數(shù)T以及2個邊界條件p-1與pn+1決定。理論上,可根據不同的需求將張力參數(shù)和邊界條件取為任意值。當然,也可對張力參數(shù)與邊界條件進行優(yōu)化,得到滿足特定要求的三次Cardinal參數(shù)樣條曲線。
圖1 張力參數(shù)取不同值時的三次Cardinal參數(shù)樣條曲線Fig.1 Parametric cubic Cardinal spline curve with different tensor parameters
圖2 邊界條件取不同點時的三次Cardinal參數(shù)樣條曲線Fig.2 Parametric cubic Cardinal spline curve with different boundary condition
光順性是曲線的重要幾何特征之一。在CAD及其相關研究領域,構造光順的曲線是一項重要的研究課題[13-14]。雖然曲線的光順性無法定量描述,但人們通常通過極小化曲線的能量函數(shù)來實現(xiàn)平面光順曲線的構造[15]。應變能量和曲率變化能量成為研究人員描述平面曲線光順性的2種常見方法[16-19]。本文利用曲率變化能極小來優(yōu)化平面三次Cardinal參數(shù)樣條的張力參數(shù)和邊界條件,使得構造的樣條曲線盡可能光順。
平面參數(shù)曲線r(t)的曲率變化能定義為[20]
式中,
由于式(5)高度非線性,往往需要利用近似形式將其線性化。假設曲線r(t)被弧長近似參數(shù)化,則其曲率變化能可近似表示為[21]
為討論方便,令T=1-2α,則式(2)可改寫為
式中,
于是,據式(6)與(7),補充邊界條件p-1與pn+1后的三次Cardinal參數(shù)樣條曲線的應變能可近似表示為
式中,
為了求解問題(9),首先給出以下引理。
引理1 給定平面上的向量a=(ax,ay),b=
于是,
證畢。
于是,
于是有
定理1 給定平面上一列數(shù)據點pi(i=0,1,…,n),要使所構造的三次Cardinal參數(shù)樣條曲線具有極小近似的曲率變化能,則張力參數(shù)T(T≠ 1)與2個邊界條件p-1與pn+1應分別取為
由式(11)與式(12),當α≠ 0時,令與,可得
將ui=pi-1+pi-pi+1-pi+2,vi=pi+1-pi,α=分別代入式(14)與式(15),并經簡單推導即得定理成立。證畢。
下面通過數(shù)值實例來說明本文方法的有效性。由于三次Catmull-Rom樣條被視為三次Cardinal樣條中插值效果最好的[9],因此,本文將與三次Catmull-Rom參數(shù)樣條曲線進行比較,且三次Catmull-Rom參數(shù)樣條曲線的邊界條件取常用情形,即p-1=p0,pn+1=pn。
例1 對于圖1中給定的數(shù)據點,要使所構造的三次Cardinal參數(shù)樣條曲線具有極小的近似曲率變化能,經計算所得張力參數(shù)、2個邊界條件及近似曲率變化能與三次Catmull-Rom參數(shù)樣條曲線的對比如表1所示。
構造的具有極小近似曲率變化能的三次Cardinal參數(shù)樣條曲線(實線)與三次Catmull-Rom參數(shù)樣條曲線(點虛線)如圖3所示。
例2 從單位半圓上取定數(shù)據點pi(i=0,1,…,5)的坐標(xi,yi)為
表1 本文方法與Catmull-Rom的對比(例1)Table 1 The comparison between the proposed method and Catmull-Rom(example 1)
圖3 具有極小近似曲率變化能的三次Cardinal參數(shù)樣條曲線(例1)Fig.3 Parametric cubic Cardinal spline curve with minimum approximate curvature variation energy(example 1)
要使所構造的三次Cardinal參數(shù)樣條曲線具有極小的近似曲率變化能,經計算可得張力參數(shù)、2個邊界條件及近似曲率變化能與三次Catmull-Rom參數(shù)樣條曲線的對比如表2所示。
構造的具有極小近似曲率變化能的三次Cardinal參數(shù)樣條曲線(實線)與三次Catmull-Rom參數(shù)樣條曲線(長虛線)如圖4所示。
由例1與例2可知,張力參數(shù)與邊界條件優(yōu)化后的三次Cardinal參數(shù)樣條曲線較三次Catmull-Rom參數(shù)樣條曲線更為光順,插值效果更好。
表2 本文方法與Catmull-Rom的對比(例2)Table 2 The comparison between the proposed method and Catmull-Rom(example 2)
圖4 具有極小近似曲率變化能的三次Cardinal參數(shù)樣條曲線(例2)Fig.4 Parametric cubic Cardinal spline curve with minimum approximate curvature variation energy(example 2)
與三次Cardinal參數(shù)樣條曲線對應,本節(jié)討論三次Cardinal樣條函數(shù)。
給定平面上n(n≥3)個數(shù)據點(xi,yi)(i=0,1,…,n),設xi為等距,即xi+1-xi=h(h為常數(shù)),三次Cardinal樣條函數(shù)可表示為
式 中 ,i=1,2,…,n-2,xi≤x≤xi+1,t=(xxi)/h,bj(t)(j=0,1,2,3)為式(2)表示的函數(shù)。
由式(2)不難驗證,
由式(17)與式(18)可知,三次Cardinal樣條函數(shù)插值于除首、末數(shù)據點外的其他數(shù)據點,且函數(shù)滿足C1連續(xù)。同樣,可以補充2個邊界條件(x-1,y-1)與(xn+1,yn+1),使得三次Cardinal樣條函數(shù)插值于包括首、末數(shù)據點在內的所有數(shù)據點。由于要求xi為等距,故有x-1=2x0-x1,xn+1=2xn-xn-1。顯然,當所有數(shù)據點保持不變時,三次Cardinal樣條函數(shù)的形狀由張力參數(shù)T以及2個邊界條件y-1與yn+1決定。
與三次Cardinal參數(shù)樣條曲線的情形類似,三次Cardinal樣條函數(shù)滿足
定理2 給定平面上一列數(shù)據點(xi,yi)(i=0,1,…,n),要使所構造的三次Cardinal樣條函數(shù)具有極小的曲率變化能,則張力參數(shù)T(T≠1)與2個邊界條件y-1與yn+1應分別取
下面通過數(shù)值實例來說明本文方法的有效性,同上節(jié),將本文方法與三次Catmull-Rom樣條函數(shù)進行比較,且三次Catmull-Rom樣條函數(shù)的邊界條件為常用情形,即y-1=y0,yn+1=yn。
例 3 設y=sinx(0≤x≤ 2π),取yi=sinxi(i=0,1,…,8)。 要 使 所 構 造 的 三 次Cardinal參數(shù)樣條曲線具有極小的近似曲率變化能,經計算得張力參數(shù)與2個邊界條件分別為T=-0.171 6,y-1=-0.707 1,y9=0.707 1。 構 造 的具有極小近似曲率變化能的三次Cardinal樣條插值函數(shù)(實線)與三次Catmull-Rom樣條插值函數(shù)(點虛線)及對應的絕對誤差曲線如圖5所示。
圖5 樣條插值函數(shù)及其絕對誤差曲線(例3)Fig.5 Spline interpolation functions and the absolute error curves(example 3)
圖6 樣條插值函數(shù)及其絕對誤差曲線(例4)Fig.6 Spline interpolation functions and the absolute error curves(example 4)
由例3與例4可知,優(yōu)化張力參數(shù)與邊界條件后的三次Cardinal樣條函數(shù)較三次Catmull-Rom樣條函數(shù)的插值效果更好。
當數(shù)據點給定時,三次Cardinal樣條的形狀完全由張力參數(shù)和邊界條件決定。雖然通過修改張力參數(shù)與邊界條件可實現(xiàn)對三次Cardinal樣條形狀的調控,但有時只要求得張力參數(shù)和邊界條件的最佳值,就能使構造的三次Cardinal樣條滿足某種特定的要求。為此,本文給出了一種利用曲率變化能極小來優(yōu)化三次Cardinal樣條的張力參數(shù)與邊界條件的方法,該方法容易獲得張力參數(shù)與邊界條件的唯一解。相對于三次Catmull-Rom樣條,優(yōu)化張力參數(shù)與邊界條件后的三次Cardinal樣條不僅更為光順,而且插值效果更好。