查東東,張 迪,劉華勇
(安徽建筑大學數理學院,安徽 合肥 230601)
在計算機輔助幾何設計中,計算容易、結構簡單的Bernstein-Bézier曲線,仍存在控制多邊形不變時,不能調整曲線外形的缺點。為了克服這一缺點,學術界提出了引入形狀參數來構造曲線曲面的思路,例如,文獻[1]構造了形狀可調的有理三角Bézier基函數;文獻[2]將形狀及光滑度可調的曲線曲面推廣到三角函數空間;文獻[3]構造了能精準表示多種曲線的三角多項式均勻B樣條;文獻[4]分析了平面三角多項式Bézier曲線的形狀分區,上述曲線曲面除了繼承原有的特性,還能通過形狀參數來調整曲線曲面;文獻[5]討論了曲線曲面的較高階光滑拼接;文獻[6]介紹了將曲線曲面混合公式推廣到N階連續的方法;文獻[7]融合了2種參數曲線;文獻[8]給出了任意逼近多邊形的曲線曲面參數樣條等。
本文將文獻[2]的思路拓展至多項式,提出了三參曲線的拼接算法,構造出的曲線能實現較高的光滑拼接外,還可以用形狀參數修改曲線。但曲線在滿足融合外,還需對參數的選取做出一定要求,這就要求得對參數選取進行優化。文獻[9]構造的過渡曲線曲面既能形狀可調,又能保參數方向;文獻[10]介紹了曲線能量最小化的形參計算公式;本文又研究了三參曲線的參數選取,借由能量模型,以獲得盡可能光順的曲線[9]。
定義1.文獻[11]給出了由4個含參數λ的多項式函數構成的函數組

其中,0≤t≤1,-3≤λ≤1,則稱

為含有λ,α1,α2的調配函數,簡稱三參函數,其中0≤t≤1,-3<λ≤1,0≤α1<1,0<α2≤1。
由bi(t)(i=0,1,2,3)的性質,很容易得到三參函數的性質:
性質1.非負性:對于-3<λ≤1,0≤α1<1,0<α2≤1,則有Bi(t;λ,α1,α2)≥0(i=0,1,2,3)。
性質2.權性:由bi(t)的權性易證,,0≤t≤1。
性質3.退化性:當α1=0,α2=1時,Bi(t;λ,α1,α2)退化成bi(t)(i=0,1,2,3)。
性質4.對稱性:當α1+α2=1時,B3(1-t;λ,α1,α2)=B0(t;λ,α1,α2),B2(1-t;λ,α1,α2)=B1(t;λ,α1,α2)。
性質5.端點性質

定義2.給定頂點Pi∈Rd(d=2,3;i=0,1,2,3),0≤t≤1,稱

為含有λ,α1,α2的曲線,簡稱三參曲線,其中Bi(t;λ,α1,α2)為三參函數,-3<λ≤1,0≤α1<1,0<α2≤1。
三參曲線具有以下性質:
性質1.對稱性:由三參函數的性質3可知,當確定參數α1+α2=1以及λ時,由僅次序不同的控制多邊形與基函數生成的新曲線記作Ci(t),即有Ci(t)=Ri(1-t)。
性質2.凸包性:由三參函數的權性和非負性可知,其多邊形控制的凸包完全包圍了三參曲線。
性質3.仿射不變性和幾何不變性:三參曲線的形狀僅依賴于控制頂點Pi(i=0,1,2,3),幾何變換不改變曲線的形狀

其中,Q為任意向量,且Q∈Rd(d=2,3);M為任意k×k(k=2,3)階矩陣。
性質4.端點性質

性質5.形狀可調性:三參曲線會隨著給參數λ,α1,α2選擇不同的值,曲線形狀被調整的程度也各不相同。
圖1(a)~(c)是依次僅改變單一參數,而其他參數取值不變時所獲取的三參曲線。在圖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。由此可看出各參數的效果:4個控制頂點從左往右依次為P0,P1,P2,P3,則α1確定曲線在控制多邊形邊P0P1上的起點,α2確定曲線在邊P2P3上的終點,而λ越大,曲線整體就越靠近控制多邊形P0P1P2P3。

圖1 α1,α2,λ分別取值不同時對曲線的影響Fig. 1 The influence of different values of α1, α2, λ on the curve
定理1.滿足時,R1(t)和R2(t)在連接點處滿足G2連續。
證明:由曲線端點性質可知


即曲線滿足G0連續;又由端點性質可得

則有

故曲線滿足G1連續,其中,;又由端點性質可得

則有

故曲線滿足G2連續,其中,

由定理1表明,若能做到R1(t)的控制多邊形的邊和R2(t)的控制多邊形的邊重合,且滿足,則R1(t)和R2(t)自動滿足G2連續。圖2給出了不同參數取值下的R1(t),R2(t)實現G2連續的實例。其中,箭頭為曲線的曲率。
定義3. 假設給定了2l+2 (l≥1)個控制頂點Pi∈Rd(d=2,3;i=0,1,2,···,2l+1),0≤t≤1,以及形狀參數,可以定義第j(j=1,2,···,l)段組合三參曲線為

組合的三參曲線具有以下共同點:①每個控制多邊形及基函數決定一段三參曲線;②確定控制多邊形后,每相鄰兩段的三參曲線能夠實現G2連續的拼接;③每段三參曲線的形狀參數都不同,也可在給定若干對控制頂點時,組合三參曲線可以依靠形狀控制參數來實現閉合曲線。

圖2 帶形狀參數的三參曲線的拼接Fig. 2 Blending of three-parameter curves with shape parameters
此外,還將三參曲線與原基函數曲線、三次B樣條曲線進行了比較:①以控制多邊形為目標函數,引入均方根誤差(root mean square error, RMSE)來衡量曲線到控制多邊形的逼近程度。以單段曲線為例,給定頂點P0=(1,2),P1=(1,3),P2=(3,3),P3=(3,2),三參曲線和原基函數曲線共同參數λ=0,三參曲線其他參數為α1=0.5,α2=0.5,算出三參曲線的RMSE值為0.280 2,小于原基函數曲線的RMSE值0.564 1,故三參曲線比原基函數曲線更貼近控制多邊形,如圖3所示;②比較3種算法的時間復雜度,在本機實驗中,借助Matlab使用tic+函數+toc的方法計算出各種算法的運行時間,以運行時間近似替代。為減少誤差,故算法運行時間的選取為:每種算法一組實驗執行100次算法循環,取其運行時間的平均值,做10組實驗,再取10組平均運行時間的最優值,再比較3種算法的運行時間最優值,多次實驗后可以看出,改進算法略為領先,但三者相差不大;③滿足G2連續的條件,三參曲線要比原基函數曲線簡單,同時三參曲線還具有調節曲線形狀的優點。不同算法的性質對比見表1。

圖3 組合三參曲線的自由光滑融合和應用Fig. 3 Smooth blending and application of combined three-parameter curve

表1 不同算法的對比Table 1 Comparison of different algorithms
由定義2可將三參曲線R(t)分別寫成固定其他兩個參數,討論一個單獨參數的形式,即

其中,

光順準則[12]提出,曲線R(t)的光滑程度可近似地由能量值來刻畫,Ec越小,則曲線R(t)越光順。為了使能量值Ec盡可能小,在頂點和參數α1,α2取值已經被確定時,只需再考慮λ的取值,得能量方程為

將式(14)代入式(18),經過整理得

其中,Ai(i=1,2,3)為常數,分別為,。
例1.有P0=(2,0),P1=(3,3),P2=(5,3),P3=(6,0),形狀參數α1=0.5,α2=0.5,求得A1=3,A2=-9,A3=27,獲得能量方程為

又因為-3<λ≤1,故取λ=1時,獲得最小彎曲能量minEc(λ)=12,如圖4所示。

圖4 α1,α2確定時三參曲線能量值曲線Fig. 4 Energy value curve of three-parameter curve when α1, α2 is determined
同理,在頂點和參數λ,α2取值已經被確定時,只需再考慮α1的取值,得能量方程為

將式(15)代入式(21),經過整理可得

其中,Bi(i=1,2,3)為常數,分別為,。
例2. 有P0=(2,0),P1=(3,3),P2=(5,3),P3=(6,0),形狀參數α2=1,λ=-1求得B1=24/5,B2=0,B3=48,獲得能量方程為

又0≤α1<1,故取α1=0時,得minEc(α1)=48,如圖5所示。

圖5 λ,α2確定時三參曲線能量值曲線Fig. 5 Energy value curve of three-parameter curve when λ, α2 is determined
同理,在頂點和參數λ,α1取值已經被確定時,只需再考慮α2的取值,得能量方程為

將式(16)代入式(24),經過整理可得

其中,Ci(i=1,2,3)為常數,分別為,。
例3.有P0=(2,0),P1=(3,3),P2=(5,3),P3=(6,0),參數α1=0.5,λ=1求得C1=144/5,C2=-132/5,C3=156/5,獲得能量方程為

又因為0<α2≤1,故取α2=11/12時,得到最小彎曲能量minEc(α2)=7,如圖6所示。

圖6 λ,α1確定時三參曲線能量值曲線Fig. 6 Energy value curve of three-parameter curve when λ, α1 is determined
依次將圖4~6和圖1(a)~(c)分別對比,可看出:①在參數α1,α2固定時,λ取值越大,三參曲線彎曲能量越小,此時三參曲線越逼近控制多邊形;②當λ,α1固定時,α2取值越大,三參曲線彎曲能量越小;③而λ,α2固定時,α1取值越大,三參曲線彎曲能量反而越大;但后兩種情況有一共同點:此時的三參曲線均為越遠離控制多邊形,彎曲能量越小,這是由其參數對稱性所決定的,且α1,α2分別確定曲線的起始點。
進一步考慮三參曲線組合時的最優參數選取,以3.2節的組合三參曲線為例,在保證每個控制多邊形構造的三參曲線滿足G2連續的情況下,同時對每段曲線加以最小彎曲能量約束,最終得到唯一確定的具有能量約束的組合三參曲線。
類比式(16)~(17)可以將第j段三參曲線Rj(t)(j=1,2,···,l)依次寫作
由式(13)和能量準則可知,第j段三參曲線的能量值為

其中,i=1,2,3,且

在保證組合曲線滿足G2連續的同時,選擇最優的參數,故對l段組合三參數曲線,給定下列能量方程為

例4.有(7,3.5),形狀參數為,,分別求得獲得能量方程為

圖7(a)中箭頭是曲線的曲率,圖7(b)是曲線拼接點處曲率的放大圖。優化后的曲線還是可以實現G2連續,圖7(c)標注了未優化的曲線和優化的曲線最大曲率點,圖7(d)給出了未優化的第一段曲線和優化的第一段曲線的曲率對比。顯然,關于最高曲率,未優化曲線比優化曲線要大;其次,曲線整體曲率上,未優化的曲線也是比優化曲線要大。故優化后的曲線具有更小的彎曲能量。

圖7 形狀參數的選取Fig. 7 Selection of shape parameters
本文構造了帶有形狀參數的三參函數,在繼承原有性質外,曲線滿足G2連續的融合條件也比較簡單,本文中給出了一些參數不同取值下的曲線形狀可調的實例。此外,本文利用最小能量值來選取最佳參數,可以看出各參數取值不同,曲線能量也各異,故選取最佳參數有助于過渡曲線盡可能光順。但這是基于單參數的優化,有關多參數的同
時優化問題還有待研究和解決。