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