嚴蘭蘭, 韓旭里
(1.東華理工大學(xué)理學(xué)院,江西 南昌 330013;2.中南大學(xué)數(shù)學(xué)與統(tǒng)計學(xué)院,湖南 長沙 410083)
Bézier方法和B樣條方法在計算機輔助幾何設(shè)計中占有重要地位,它們各有各的優(yōu)點,但并不意味它們已經(jīng)完美無缺,因此不斷有文獻提出新的造型方法來對這兩種傳統(tǒng)的造型方法進行改進,目前的改進主要集中在兩個方面:一是通過構(gòu)造具備Bernstein基函數(shù)或B樣條基函數(shù)基本性質(zhì),但含參數(shù)的新的基函數(shù),使得由之定義的曲線曲面在具備Bézier曲線曲面[1-6]或B樣條曲線曲面[7-10]的基本性質(zhì)之外,還具備形狀可調(diào)性,從而實現(xiàn)提高傳統(tǒng)造型方法形狀調(diào)整靈活性的目標;二是通過在非多項式空間,如三角函數(shù)空間、雙曲函數(shù)空間、指數(shù)函數(shù)空間上構(gòu)造具備Bernstein基函數(shù)或B樣條基函數(shù)基本性質(zhì)的新的基函數(shù),使得由之定義的曲線曲面在具備Bézier曲線曲面[11-15]或B樣條曲線曲面[16-22]的基本性質(zhì)之外,還能表示一些圓錐曲線曲面和超越曲線曲面,從而實現(xiàn)擴大傳統(tǒng)造型方法形狀表示范圍的目標。
注意到Bézier方法雖然簡單、直觀,但單一的Bézier曲線曲面往往無法表達復(fù)雜的形狀,因此在工程實際中,常常需要將多條Bézier曲線段、多張Bézier曲面片組合在一起。為了保證組合曲線曲面的光滑性,相鄰Bézier曲線段、Bézier曲面片的控制頂點間必須滿足一定的連續(xù)性條件。通常情況下,對連續(xù)性的求越高,條件越復(fù)雜,條件中涉及到的控制頂點的數(shù)量越多。能否構(gòu)造新的曲線,使之能在相對簡單的條件下達到較高階的光滑拼接呢?
注意到雖然B樣條方法可以自動解決Bézier方法面臨的光滑拼接問題,但是B樣條曲線曲面中各條曲線段、各張曲面片的階必須相同,若選擇用不同階的B樣條曲線段、曲面片來描述復(fù)雜形狀,同樣需要解決光滑拼接問題。另外,雖然B樣條方法具有局部控制性,但因為B樣條曲線相鄰曲線段只有一個控制頂點不一樣,其他控制頂點全部公共,所以B樣條方法的局部控制能力隨著階的升高而減弱。能否構(gòu)造新的分段組合曲線,使之像B樣條曲線一樣,無需對控制頂點附加任何其他條件,便能自動實現(xiàn)光滑拼接,并且組合曲線的各條曲線段可以取不同的階,組合曲線具有比B樣條曲線更強的局部控制能力呢?
為了實現(xiàn)上面提到的這些目標,這里構(gòu)造了n(n≥2)階混合函數(shù)并由之定義了n階新曲線。新曲線具有Bézier曲線除端點插值以外的基本性質(zhì)。在拼接時,只要前一條曲線的最后一條控制邊與后一條曲線的第一條控制邊重合,兩條新曲線間便可以達到G2光滑拼接??紤]到新曲線這種特殊的幾何拼接條件,我們用類似于但又不同于B樣條曲線的組合定義方式定義了由新曲線構(gòu)成的分段組合曲線。這種組合曲線在分段連接點處可以自動實現(xiàn)G2光滑拼接,各分段曲線控制頂點的數(shù)量(大于等于3個)可以自由選擇,移動一個控制頂點,至多改變兩條分段曲線的形狀。
定義1.對t∈[0,1],稱:
為2階混合函數(shù)。記s=稱:
為n階混合函數(shù)。
為了簡潔,在不至于引起混淆時,下文中將bni(t)簡記為bni,這里n≥2,i=0,1,…,n。
圖1~4所示為2~5階混合函數(shù)的圖形。
由式(1)~(2)易知混合函數(shù)具有下列性質(zhì):
(1) 非負性,任意n階混合函數(shù)bni≥0,這里n≥2,i=0,1,…,n。
(2) 規(guī)范性,對任意的n≥2,
(3) 對稱性,對任意的n≥2,i=0,1,…,n,當t∈[0,1]時,有bni(t)=bn,n-i(1-t)。
圖1 2階混合函數(shù)
圖2 3階混合函數(shù)
圖3 4階混合函數(shù)
圖4 5階混合函數(shù)
(4) 端點性質(zhì),對任意的n≥2,i=0,1,…,n,有:
證明.當n=2時,由式(1)經(jīng)過簡單的計算易知式(3)~(4)中結(jié)論正確。當n≥3時,記:
其中:
對于兩個函數(shù)相乘構(gòu)成的表達式G(t)=H(t)I(t)而言,有:
故:
因此只要I(0)=I′(0)=I′′(0)=0,必有G(0)=G′(0)=G′′(0)=0。而注意到s4,ts2,t3在t=0處的函數(shù)值、一階導(dǎo)數(shù)值、二階導(dǎo)數(shù)值均為0,故由式(5)和以上分析可知:
再由式(2)經(jīng)過計算易知:
其中n≥2,i=0,1,…,n。由式(3)和式(9)易知式(4)正確。
定義2.給定n+1個控制頂點V∈Rd(d=2,3;i=0,1,…,n;n≥2),稱:
為由混合函數(shù)定義的n階新曲線。
由混合函數(shù)的性質(zhì),易知新曲線具有如下性質(zhì):
(1) 凸包性。由混合函數(shù)的非負性和規(guī)范性可知,新曲線位于其控制頂點形成的凸包內(nèi)。
(2) 幾何不變性與仿射不變性。由混合函數(shù)的規(guī)范性可知:一方面,新曲線的形狀僅依賴于控制頂點,幾何變換不改變曲線的形狀;另一方面,對控制多邊形進行縮放或錯切等仿射變換,所對應(yīng)的新曲線就是原曲線經(jīng)過相同仿射變換后的曲線。
(3) 對稱性。由混合函數(shù)的對稱性可知,由控制多邊形V0V1…Vn和VnVn-1…V0所生成的曲線形狀是相同的,只是方向相反。
(4) 端點性質(zhì)。由混合函數(shù)的端點性質(zhì)和新曲線的表達式可知,在新曲線的端點處有:
圖5~8所示為2~5階新曲線。從圖中可以看出,新曲線插值于控制多邊形首末邊的中點。另外,新曲線能較好地保持控制多邊形的凹凸性等特征。
圖5 2階新曲線
圖6 3階新曲線
圖7 4階新曲線
圖8 5階新曲線
定理1.設(shè)有m階新曲線與n階新曲線若:
則兩曲線G2連續(xù)。
證明.由式(10)可知:
在式(11)所給條件下,有:
從定理1可知:對于兩條新曲線而言,只要前一條曲線的控制多邊形的末邊與后一條曲線的控制多邊形的首邊重合,這兩條曲線在連接點處便可以達到G2光滑拼接。根據(jù)這一特點,對于任意給定的一組控制頂點,可以采用特殊的方式來定義由新曲線構(gòu)成的分段組合曲線,使之在分段連接點處自動達到G2光滑拼接。
定義3.給定控制頂點V∈Rd(d=2,3;k=0,1,…,l(n-1)+1;l≥1;n≥2),可以定義一條由l條n階新曲線構(gòu)成的分段組合曲線,第i條曲線定義為:
其中,i=1,2,…,l。
定義3中分段曲線的組合方式是不同于傳統(tǒng)B樣條曲線的。在B樣條曲線中,相鄰曲線段只有一條控制邊或者說一個控制頂點不相同,但是在這里,相鄰曲線段只有一條控制邊或者說兩個控制頂點相同。和B樣條曲線一樣,這里定義的分段組合曲線也具有局部控制性。但因為定義方式的不同,在這里,移動一個控制頂點至多只會改變兩條相鄰曲線段的形狀。所以很顯然,這里給出的組合曲線的局部控制能力優(yōu)于傳統(tǒng)的B樣條曲線。
在定義3中,每條分段曲線的階相同。但實際上,也可以讓不同的分段曲線取不同的階。或者說,可以讓不同的分段曲線由不同數(shù)量的控制頂點來定義。
定義4.給定控制頂點Vk∈Rd(d=2,3;可以定義一條由l條新曲線構(gòu)成的分段組合曲線,第i條曲線定義為:
圖9~11中所有的分段組合曲線都由相同的控制頂點定義。很顯然,由控制頂點構(gòu)成的控制多邊形是左右對稱的。按照這里給出的方法,定義出的分段組合曲線(每段曲線上標出的數(shù)字為該段曲線的階)可以是左右對稱的(圖9~10),也可以是不對稱的(圖11)。因此,由同一組控制頂點可以定義出靈活多變的形狀(圖9~11中還可以增加其他的形狀,這里沒有一一給出)。
圖9 由同階曲線段構(gòu)成的對稱曲線
圖10 由階不全相同的曲線段構(gòu)成的對稱曲線
圖11 不對稱的曲線
由式(10)和圖5~11可以看出,這里定義的新曲線插值于控制多邊形首末邊的中點而非控制多邊形的首末頂點。但是在曲線設(shè)計中,常常要求曲線經(jīng)過控制多邊形的首末頂點。為了滿足這一需求,可以增加兩個輔助頂點V-1=V0,Vn+1=Vn,然后由新的控制多邊形V-1V0…VnVn+1定義曲線即可(圖12)。如果控制多邊形是封閉的(Vn=V0),那么按照這種方式將得到一條封閉的曲線(圖13),但請注意該曲線在閉合點處并不光滑。如果希望由封閉的控制多邊形定義出光滑的封閉曲線,只需增加一個輔助頂點Vn+1=V1即可(圖14)。
圖15中給出了3個數(shù)值例子,其中用到了上一段提到的設(shè)計方法。圖15(a)中的曲線由兩條5階曲線段組成,曲線經(jīng)過控制多邊形的終點。圖15(b)中的封閉曲線由3條曲線段組成(4階、3階、4階),曲線在閉合點(圓圈+星號標注的點)處不光滑。圖15(c)中的封閉曲線由5條3階曲線段組成,曲線在所有連接點處均光滑。
定義5.給定控制頂點V∈R3(i=0,1,…,l(m-1)+1;j=0,1,…,l(n-1)+1;ij12l1,l2≥1;m,n≥2),可以定義一張由l1×l2個m×n階曲面片構(gòu)成的組合新曲面,第(i,j)個曲面片定義為:
圖12 在開的控制多邊形下,從中點插值到端點插值
圖13 在閉的控制多邊形下,從中點插值到端點插值
圖14 在閉的控制多邊形下,從開曲線到光滑的閉曲線
圖15 組合新曲線的圖例
其中,i=1,2,…,l1;j=1,2,…,l2。
定義5中給出的是在最簡單的情況下,也就是各張曲面片的階都相同時的定義。實際上,各張曲面片的階可以不全相同,只要相鄰4張曲面片的階滿足圖16中給出的關(guān)系即可。
圖16 相鄰曲面片階的關(guān)系
新曲面具有與新曲線類似的性質(zhì)。例如,在公共連接邊處,組合新曲面2G連續(xù)。
圖17中給出了由相同控制網(wǎng)格定義的不同的組合新曲面。圖17(a)~17(c)中的曲面分別由24張、12張、6張曲面片構(gòu)成。
圖17 組合新曲面的圖例
這里給出的曲線曲面造型方法具有文中提到的很多優(yōu)點,但它依然存在缺點,主要體現(xiàn)在2個方面:一是傳統(tǒng)造型方法都采用多項式函數(shù)作為基函數(shù),而這里除了2階混合函數(shù)為多項式函數(shù)以外,其它均為代數(shù)三角混合函數(shù),所以這里的計算量會有所增加;二是現(xiàn)有很多文獻中以代數(shù)三角混合函數(shù)為基函數(shù)的方法能表示一些圓錐曲線曲面和超越曲線曲面,但這里的方法不具備這一性質(zhì)。因此,下一步至少可以從兩個角度來對這里的方法進行改進:一是構(gòu)造以多項式函數(shù)為混合函數(shù)的新的曲線曲面,使之具備這里給出的曲線曲面的所有性質(zhì);二是構(gòu)造以代數(shù)三角混合函數(shù)作為基函數(shù)的新的曲線曲面,使之在具備這里給出的曲線曲面的所有性質(zhì)之外,還能精確表示一些圓錐曲線曲面和超越曲線曲面。
[1] Wang Wentao,Wang Guozhao.Bézier curves with shape parameter [J].Journal of Zhejiang University-SCIENCE A,2005,6A(6): 497-501.
[2] Han Xian,Ma Yichen,Huang Xili.A novel generalization of Bézier curve and surface [J].Journal of Computational and Applied Mathematics,2008,217(1): 180-193.
[3] Yang Lianqiang ,Zeng Xiaoming .Bézier curves and surfaces with shape parameters [J].International Journal of Computer Mathematics,2009,86(7): 1253 -1263.
[4] Yan Lanlan,Liang Jiongfeng.An extension of the Beizer model [J].Applied Mathematics and Computation,2011,218(6): 2863-2879.
[5] Qin Xinqiang,Hu Gang,Zhang Nianjuan,Shen Xiaoli,Yang Yang.A novel extension to the polynomial basis functions describing Bezier curves and surfaces of degree n with multiple shape parameters [J].Applied Mathematics and Computation,2013,223(10): 1-16.
[6] 嚴蘭蘭,鄔國根.Bézier方法的新擴展[J].合肥工業(yè)大學(xué)學(xué)報(自然科學(xué)版),2013,36(5): 625-631.
[7] Han Xuli.Piecewise quadratic polynomial curves with a local shape parameter [J].Journal of Computational and Applied Mathematics,2006,195(1-2): 34-45.
[8] Liu Xumin,Xu Weixiang.Uniform B-spline curve and surfaces with shape parameters [C]//2008 International Conference on Computer Science and Software Engineering,2008,12: 975-979.
[9] Han Xuli.A class of general quartic spline curves with shape parameters [J].Computer Aided Geometric Design,2011,28(3): 151-163.
[10] 夏成林,鄔弘毅,鄭興國,彭凱軍.帶多個形狀參數(shù)的三次均勻B樣條曲線的擴展[J].工程圖學(xué)學(xué)報,2011,32(2): 73-79.
[11] Chen Qinyu,Wang Guozhao.A class of Bézier-like curves [J].Computer Aided Geometric Design,2003,20(1):29-39.
[12] Han Xian,Ma Yichen,Huang Xili.The cubic trigonometric Bézier curve with two shape parameters [J].Applied Mathematics Letters,2009,22(2): 226-231.
[13] 蘇本躍,盛 敏.基于雙曲函數(shù)的Bézier型曲線曲面[J].計算機工程與設(shè)計,2006,27(3): 370-372.
[14] 張錦秀,檀結(jié)慶.代數(shù)雙曲Bézier曲線的擴展[J].工程圖學(xué)學(xué)報,2011,32(1): 31-38.
[15] Han Xuli,Zhu Yuanpeng.Curve construction based on five trigonometric blending functions [J].BIT Numerical Mathematics,2012,52(4): 953-979.
[16] Han Xuli.C2quadratic trigonmetric polynomial curves with local bias [J].Journal of Computational and Applied Mathematics,2007,180(1): 171-177.
[17] 嚴蘭蘭,梁炯豐.一種帶形狀參數(shù)的三角樣條曲線[J].計算機工程與科學(xué),2011,33(5): 69-73.
[18] 嚴蘭蘭.帶形狀參數(shù)的三角曲線曲面[J].東華理工大學(xué)學(xué)報,2012,35(2): 197-200
[19] Yan Lanlan,Liang Jiongfeng.A class of Algebraictigonometric blended splines [J].Journal of Computational and Applied Mathematics,2011,235(6): 1713-1729.
[20] 謝 進,檀結(jié)慶.多形狀參數(shù)的二次雙曲多項式曲線[J].中國圖象圖形學(xué)報,2009,14(6): 1206-1211.
[21] Liu Xumin,Xu Weixiang,Guan Yong,Shang Yuanyuan.Hyperbolic polynomial uniform B-spline curves and surfaces with shape parameter [J].Graphical Models,2010,72(1): 1-6.
[22] 張 莉,劉靜靜,檀結(jié)慶.多形狀參數(shù)的指數(shù)均勻B樣條曲線曲面[J].圖學(xué)學(xué)報,2013,34(3): 29-35.