查東東,張 迪,劉華勇
(安徽建筑大學(xué)數(shù)理學(xué)院,安徽 合肥 230601)
在計(jì)算機(jī)輔助幾何設(shè)計(jì)中,計(jì)算容易、結(jié)構(gòu)簡(jiǎn)單的Bernstein-Bézier曲線,仍存在控制多邊形不變時(shí),不能調(diào)整曲線外形的缺點(diǎn)。為了克服這一缺點(diǎn),學(xué)術(shù)界提出了引入形狀參數(shù)來(lái)構(gòu)造曲線曲面的思路,例如,文獻(xiàn)[1]構(gòu)造了形狀可調(diào)的有理三角Bézier基函數(shù);文獻(xiàn)[2]將形狀及光滑度可調(diào)的曲線曲面推廣到三角函數(shù)空間;文獻(xiàn)[3]構(gòu)造了能精準(zhǔn)表示多種曲線的三角多項(xiàng)式均勻B樣條;文獻(xiàn)[4]分析了平面三角多項(xiàng)式Bézier曲線的形狀分區(qū),上述曲線曲面除了繼承原有的特性,還能通過形狀參數(shù)來(lái)調(diào)整曲線曲面;文獻(xiàn)[5]討論了曲線曲面的較高階光滑拼接;文獻(xiàn)[6]介紹了將曲線曲面混合公式推廣到N階連續(xù)的方法;文獻(xiàn)[7]融合了2種參數(shù)曲線;文獻(xiàn)[8]給出了任意逼近多邊形的曲線曲面參數(shù)樣條等。
本文將文獻(xiàn)[2]的思路拓展至多項(xiàng)式,提出了三參曲線的拼接算法,構(gòu)造出的曲線能實(shí)現(xiàn)較高的光滑拼接外,還可以用形狀參數(shù)修改曲線。但曲線在滿足融合外,還需對(duì)參數(shù)的選取做出一定要求,這就要求得對(duì)參數(shù)選取進(jìn)行優(yōu)化。文獻(xiàn)[9]構(gòu)造的過渡曲線曲面既能形狀可調(diào),又能保參數(shù)方向;文獻(xiàn)[10]介紹了曲線能量最小化的形參計(jì)算公式;本文又研究了三參曲線的參數(shù)選取,借由能量模型,以獲得盡可能光順的曲線[9]。
定義1.文獻(xiàn)[11]給出了由4個(gè)含參數(shù)λ的多項(xiàng)式函數(shù)構(gòu)成的函數(shù)組
其中,0≤t≤1,-3≤λ≤1,則稱
為含有λ,α1,α2的調(diào)配函數(shù),簡(jiǎn)稱三參函數(shù),其中0≤t≤1,-3<λ≤1,0≤α1<1,0<α2≤1。
由bi(t)(i=0,1,2,3)的性質(zhì),很容易得到三參函數(shù)的性質(zhì):
性質(zhì)1.非負(fù)性:對(duì)于-3<λ≤1,0≤α1<1,0<α2≤1,則有Bi(t;λ,α1,α2)≥0(i=0,1,2,3)。
性質(zhì)2.權(quán)性:由bi(t)的權(quán)性易證,,0≤t≤1。
性質(zhì)3.退化性:當(dāng)α1=0,α2=1時(shí),Bi(t;λ,α1,α2)退化成bi(t)(i=0,1,2,3)。
性質(zhì)4.對(duì)稱性:當(dāng)α1+α2=1時(shí),B3(1-t;λ,α1,α2)=B0(t;λ,α1,α2),B2(1-t;λ,α1,α2)=B1(t;λ,α1,α2)。
性質(zhì)5.端點(diǎn)性質(zhì)
定義2.給定頂點(diǎn)Pi∈Rd(d=2,3;i=0,1,2,3),0≤t≤1,稱
為含有λ,α1,α2的曲線,簡(jiǎn)稱三參曲線,其中Bi(t;λ,α1,α2)為三參函數(shù),-3<λ≤1,0≤α1<1,0<α2≤1。
三參曲線具有以下性質(zhì):
性質(zhì)1.對(duì)稱性:由三參函數(shù)的性質(zhì)3可知,當(dāng)確定參數(shù)α1+α2=1以及λ時(shí),由僅次序不同的控制多邊形與基函數(shù)生成的新曲線記作Ci(t),即有Ci(t)=Ri(1-t)。
性質(zhì)2.凸包性:由三參函數(shù)的權(quán)性和非負(fù)性可知,其多邊形控制的凸包完全包圍了三參曲線。
性質(zhì)3.仿射不變性和幾何不變性:三參曲線的形狀僅依賴于控制頂點(diǎn)Pi(i=0,1,2,3),幾何變換不改變曲線的形狀
其中,Q為任意向量,且Q∈Rd(d=2,3);M為任意k×k(k=2,3)階矩陣。
性質(zhì)4.端點(diǎn)性質(zhì)
性質(zhì)5.形狀可調(diào)性:三參曲線會(huì)隨著給參數(shù)λ,α1,α2選擇不同的值,曲線形狀被調(diào)整的程度也各不相同。
圖1(a)~(c)是依次僅改變單一參數(shù),而其他參數(shù)取值不變時(shí)所獲取的三參曲線。在圖1(a)中,固定λ,α2取值,從上至下取α1=0.8,0.5,0.2;圖1(b)中,固定λ,α1值,從上至下取α2=0.2,0.5,1;圖1(c)中,固定α1,α2值,從上至下取λ=1,0,-1。由此可看出各參數(shù)的效果:4個(gè)控制頂點(diǎn)從左往右依次為P0,P1,P2,P3,則α1確定曲線在控制多邊形邊P0P1上的起點(diǎn),α2確定曲線在邊P2P3上的終點(diǎn),而λ越大,曲線整體就越靠近控制多邊形P0P1P2P3。
圖1 α1,α2,λ分別取值不同時(shí)對(duì)曲線的影響Fig. 1 The influence of different values of α1, α2, λ on the curve
定理1.滿足時(shí),R1(t)和R2(t)在連接點(diǎn)處滿足G2連續(xù)。
證明:由曲線端點(diǎn)性質(zhì)可知
即曲線滿足G0連續(xù);又由端點(diǎn)性質(zhì)可得
則有
故曲線滿足G1連續(xù),其中,;又由端點(diǎn)性質(zhì)可得
則有
故曲線滿足G2連續(xù),其中,
由定理1表明,若能做到R1(t)的控制多邊形的邊和R2(t)的控制多邊形的邊重合,且滿足,則R1(t)和R2(t)自動(dòng)滿足G2連續(xù)。圖2給出了不同參數(shù)取值下的R1(t),R2(t)實(shí)現(xiàn)G2連續(xù)的實(shí)例。其中,箭頭為曲線的曲率。
定義3. 假設(shè)給定了2l+2 (l≥1)個(gè)控制頂點(diǎn)Pi∈Rd(d=2,3;i=0,1,2,···,2l+1),0≤t≤1,以及形狀參數(shù),可以定義第j(j=1,2,···,l)段組合三參曲線為
組合的三參曲線具有以下共同點(diǎn):①每個(gè)控制多邊形及基函數(shù)決定一段三參曲線;②確定控制多邊形后,每相鄰兩段的三參曲線能夠?qū)崿F(xiàn)G2連續(xù)的拼接;③每段三參曲線的形狀參數(shù)都不同,也可在給定若干對(duì)控制頂點(diǎn)時(shí),組合三參曲線可以依靠形狀控制參數(shù)來(lái)實(shí)現(xiàn)閉合曲線。
圖2 帶形狀參數(shù)的三參曲線的拼接Fig. 2 Blending of three-parameter curves with shape parameters
此外,還將三參曲線與原基函數(shù)曲線、三次B樣條曲線進(jìn)行了比較:①以控制多邊形為目標(biāo)函數(shù),引入均方根誤差(root mean square error, RMSE)來(lái)衡量曲線到控制多邊形的逼近程度。以單段曲線為例,給定頂點(diǎn)P0=(1,2),P1=(1,3),P2=(3,3),P3=(3,2),三參曲線和原基函數(shù)曲線共同參數(shù)λ=0,三參曲線其他參數(shù)為α1=0.5,α2=0.5,算出三參曲線的RMSE值為0.280 2,小于原基函數(shù)曲線的RMSE值0.564 1,故三參曲線比原基函數(shù)曲線更貼近控制多邊形,如圖3所示;②比較3種算法的時(shí)間復(fù)雜度,在本機(jī)實(shí)驗(yàn)中,借助Matlab使用tic+函數(shù)+toc的方法計(jì)算出各種算法的運(yùn)行時(shí)間,以運(yùn)行時(shí)間近似替代。為減少誤差,故算法運(yùn)行時(shí)間的選取為:每種算法一組實(shí)驗(yàn)執(zhí)行100次算法循環(huán),取其運(yùn)行時(shí)間的平均值,做10組實(shí)驗(yàn),再取10組平均運(yùn)行時(shí)間的最優(yōu)值,再比較3種算法的運(yùn)行時(shí)間最優(yōu)值,多次實(shí)驗(yàn)后可以看出,改進(jìn)算法略為領(lǐng)先,但三者相差不大;③滿足G2連續(xù)的條件,三參曲線要比原基函數(shù)曲線簡(jiǎn)單,同時(shí)三參曲線還具有調(diào)節(jié)曲線形狀的優(yōu)點(diǎn)。不同算法的性質(zhì)對(duì)比見表1。
圖3 組合三參曲線的自由光滑融合和應(yīng)用Fig. 3 Smooth blending and application of combined three-parameter curve
表1 不同算法的對(duì)比Table 1 Comparison of different algorithms
由定義2可將三參曲線R(t)分別寫成固定其他兩個(gè)參數(shù),討論一個(gè)單獨(dú)參數(shù)的形式,即
其中,
光順準(zhǔn)則[12]提出,曲線R(t)的光滑程度可近似地由能量值來(lái)刻畫,Ec越小,則曲線R(t)越光順。為了使能量值Ec盡可能小,在頂點(diǎn)和參數(shù)α1,α2取值已經(jīng)被確定時(shí),只需再考慮λ的取值,得能量方程為
將式(14)代入式(18),經(jīng)過整理得
其中,Ai(i=1,2,3)為常數(shù),分別為,。
例1.有P0=(2,0),P1=(3,3),P2=(5,3),P3=(6,0),形狀參數(shù)α1=0.5,α2=0.5,求得A1=3,A2=-9,A3=27,獲得能量方程為
又因?yàn)?3<λ≤1,故取λ=1時(shí),獲得最小彎曲能量minEc(λ)=12,如圖4所示。
圖4 α1,α2確定時(shí)三參曲線能量值曲線Fig. 4 Energy value curve of three-parameter curve when α1, α2 is determined
同理,在頂點(diǎn)和參數(shù)λ,α2取值已經(jīng)被確定時(shí),只需再考慮α1的取值,得能量方程為
將式(15)代入式(21),經(jīng)過整理可得
其中,Bi(i=1,2,3)為常數(shù),分別為,。
例2. 有P0=(2,0),P1=(3,3),P2=(5,3),P3=(6,0),形狀參數(shù)α2=1,λ=-1求得B1=24/5,B2=0,B3=48,獲得能量方程為
又0≤α1<1,故取α1=0時(shí),得minEc(α1)=48,如圖5所示。
圖5 λ,α2確定時(shí)三參曲線能量值曲線Fig. 5 Energy value curve of three-parameter curve when λ, α2 is determined
同理,在頂點(diǎn)和參數(shù)λ,α1取值已經(jīng)被確定時(shí),只需再考慮α2的取值,得能量方程為
將式(16)代入式(24),經(jīng)過整理可得
其中,Ci(i=1,2,3)為常數(shù),分別為,。
例3.有P0=(2,0),P1=(3,3),P2=(5,3),P3=(6,0),參數(shù)α1=0.5,λ=1求得C1=144/5,C2=-132/5,C3=156/5,獲得能量方程為
又因?yàn)?<α2≤1,故取α2=11/12時(shí),得到最小彎曲能量minEc(α2)=7,如圖6所示。
圖6 λ,α1確定時(shí)三參曲線能量值曲線Fig. 6 Energy value curve of three-parameter curve when λ, α1 is determined
依次將圖4~6和圖1(a)~(c)分別對(duì)比,可看出:①在參數(shù)α1,α2固定時(shí),λ取值越大,三參曲線彎曲能量越小,此時(shí)三參曲線越逼近控制多邊形;②當(dāng)λ,α1固定時(shí),α2取值越大,三參曲線彎曲能量越??;③而λ,α2固定時(shí),α1取值越大,三參曲線彎曲能量反而越大;但后兩種情況有一共同點(diǎn):此時(shí)的三參曲線均為越遠(yuǎn)離控制多邊形,彎曲能量越小,這是由其參數(shù)對(duì)稱性所決定的,且α1,α2分別確定曲線的起始點(diǎn)。
進(jìn)一步考慮三參曲線組合時(shí)的最優(yōu)參數(shù)選取,以3.2節(jié)的組合三參曲線為例,在保證每個(gè)控制多邊形構(gòu)造的三參曲線滿足G2連續(xù)的情況下,同時(shí)對(duì)每段曲線加以最小彎曲能量約束,最終得到唯一確定的具有能量約束的組合三參曲線。
類比式(16)~(17)可以將第j段三參曲線Rj(t)(j=1,2,···,l)依次寫作
由式(13)和能量準(zhǔn)則可知,第j段三參曲線的能量值為
其中,i=1,2,3,且
在保證組合曲線滿足G2連續(xù)的同時(shí),選擇最優(yōu)的參數(shù),故對(duì)l段組合三參數(shù)曲線,給定下列能量方程為
例4.有(7,3.5),形狀參數(shù)為,,分別求得獲得能量方程為
圖7(a)中箭頭是曲線的曲率,圖7(b)是曲線拼接點(diǎn)處曲率的放大圖。優(yōu)化后的曲線還是可以實(shí)現(xiàn)G2連續(xù),圖7(c)標(biāo)注了未優(yōu)化的曲線和優(yōu)化的曲線最大曲率點(diǎn),圖7(d)給出了未優(yōu)化的第一段曲線和優(yōu)化的第一段曲線的曲率對(duì)比。顯然,關(guān)于最高曲率,未優(yōu)化曲線比優(yōu)化曲線要大;其次,曲線整體曲率上,未優(yōu)化的曲線也是比優(yōu)化曲線要大。故優(yōu)化后的曲線具有更小的彎曲能量。
圖7 形狀參數(shù)的選取Fig. 7 Selection of shape parameters
本文構(gòu)造了帶有形狀參數(shù)的三參函數(shù),在繼承原有性質(zhì)外,曲線滿足G2連續(xù)的融合條件也比較簡(jiǎn)單,本文中給出了一些參數(shù)不同取值下的曲線形狀可調(diào)的實(shí)例。此外,本文利用最小能量值來(lái)選取最佳參數(shù),可以看出各參數(shù)取值不同,曲線能量也各異,故選取最佳參數(shù)有助于過渡曲線盡可能光順。但這是基于單參數(shù)的優(yōu)化,有關(guān)多參數(shù)的同
時(shí)優(yōu)化問題還有待研究和解決。