龍艷婷
(西安技師學(xué)院 高壓電器系, 陜西 西安 710077)
自由曲線曲面造型一直是CAGD(computer aided geometric design)中重要的研究內(nèi)容,先后經(jīng)歷了參數(shù)樣條、Coons曲面、Bézier和B樣條曲線曲面,直至NURBS,已經(jīng)取得了十分豐富的研究成果.然而,Bézier與B樣條方法雖能簡潔地描述自由曲線曲面,卻只能采用近似的方法處理工程中常用的二次曲線曲面;NURBS 方法可以用統(tǒng)一的形式表示自由曲線曲面與二次曲線曲面,但由于采用了有理的描述方式,使得它在造型設(shè)計中存在計算復(fù)雜等問題,且其權(quán)因子、參數(shù)化、曲線曲面連續(xù)性等問題至今也沒完全解決[1], 從而使NURBS在工程曲線曲面中的應(yīng)用優(yōu)勢難以得到充分發(fā)揮.
由于生產(chǎn)實踐的需要,人們?nèi)圆粩嗟靥剿髦鞣N新曲線曲面的構(gòu)造方法.C-Bézier曲線作為一種較新穎的曲線構(gòu)造方法[2-4],在保留傳統(tǒng)Bézier和有理Bézier曲線許多優(yōu)點(diǎn)的基礎(chǔ)上,能夠方便、精確地構(gòu)造二次曲線.與NURBS曲線相比,C-Bézier曲線具有算法簡單、存儲空間小、運(yùn)算速度快、參數(shù)選擇容易等特點(diǎn),因此研究C-Bézier曲線的相關(guān)理論具有重要的理論和實際應(yīng)用價值[5, 6].
近年來,針對C-Bézier 曲線,人們進(jìn)行了大量的相關(guān)研究.如:文獻(xiàn)[5]研究了三次C-Bézier曲線的形狀修改問題,通過修改形狀參數(shù)和控制頂點(diǎn)分別給出了2種調(diào)整三次C-Bézier 曲線形狀的有效方法;文獻(xiàn)[6]給出了三次C-Bézier曲線的分割算法及G1拼接條件,極大地增強(qiáng)了該曲線表達(dá)復(fù)雜曲線的能力;文獻(xiàn)[7]則基于彈性均勻細(xì)梁的應(yīng)力能和擾動能的光順優(yōu)化,提出了一種三次C-Bézier曲線的光順逼近算法;為了進(jìn)一步增強(qiáng)三次C-Bézier曲線的形狀控制能力,文獻(xiàn)[8]對其進(jìn)行了形狀分析.上述的研究工作主要是針對三次C-Bézier曲線展開的,而對四次C-Bézier曲線[9]的相關(guān)理論與算法卻一直缺乏研究.
為此,本文基于文獻(xiàn)[9]中所提出的四次C-Bézier曲線的基本理論,給出了該曲線G1、G2和C1、C2光滑拼接的充要條件,以解決四次C-Bézier曲線造型中復(fù)雜曲線難以用單一曲線來表示的問題.
定義1對任意的t∈[0,α],α∈[0,2π],稱
(1)
為空間φ=span{sint,cost,t2,t,1}上的正規(guī)B基[9].式中,
u4(t)=t2-2cosC(t),
S=sinC(α)=α-sinα,
sinC(t)=t-sint,cosC(t)=1-cost,
Z3(t)=sinC(t)/S.
不難證明,式(1)中的正規(guī)B基具有與四次Bézier基函數(shù)類似的性質(zhì),如好的端點(diǎn)性質(zhì)、權(quán)性、正性以及極限性質(zhì)等.
定義2給定5個控制頂點(diǎn)Pi∈Rn(n=2,3;i=0,1,…,4),對0≤t≤α,定義曲線:
(2)
稱式(2)所定義的曲線為四次C-Bézier曲線[9].式中,bi(t;α)(i=0,1,…,4)為式(1)所定義的正規(guī)B基,α∈[0,2π]為形狀控制參數(shù).顯然,當(dāng)參數(shù)α→0時,四次C-Bézier曲線逼近于四次Bézier曲線.圖1給出了一簇當(dāng)參數(shù)取不同值時的C-Bézier曲線,圖1中的曲線從上到下對應(yīng)的參數(shù)α依次取值為2,π,6,2π.
圖1 α取不同值的四次C-Bézier曲線
由式(1)和式(2)不難推出四次C-Bézier曲線具有凸包性、離散性質(zhì)、變差縮減性、幾何不變性以及如下端點(diǎn)性質(zhì):
(3)
式中,
在實際應(yīng)用中,利用四次C-Bézier曲線進(jìn)行造型設(shè)計時,常會遇到復(fù)雜曲線的造型問題,而復(fù)雜的曲線往往又難以用單一的曲線來表示,因此要解決的一個關(guān)鍵問題是如何實現(xiàn)單一曲線間的光滑拼接,這是四次C-Bézier曲線能方便、靈活應(yīng)用于復(fù)雜曲線造型的關(guān)鍵.
為了討論方便,不妨假設(shè)待拼接的兩條四次C-Bézier曲線為P(t;α1)和Q(t;α2),其控制頂點(diǎn)分別為Pi(i=0,1,…,4)和Qi(i=0,1,…,4).下面給出曲線P(t;α1)和Q(t;α2)間的拼接條件.
定理1相鄰四次C-Bézier曲線P(t;α1)和Q(t;α2)間G1光滑拼接的充要條件為
(4)
式中,λ>0為常數(shù).
證明為了使得曲線能達(dá)到G1連續(xù),首先要求曲線P(t;α1)的末端和曲線Q(t;α2)的首端滿足位置連續(xù)(即G0連續(xù)), 從而有
P4=P(α1;α1)=Q(0;α2)=Q0
(5)
其次,還要滿足兩相鄰曲線在連接處切矢的方向相同,即
Q′(0;α2)=λP′(α1;α1),λ>0
(6)
根據(jù)四次C-Bézier曲線的端點(diǎn)性質(zhì)式(3)有
(7)
式中,
將式(7)代入到式(6),再結(jié)合式(5)即可證明式(4)成立.
當(dāng)兩相鄰四次C-Bézier曲線滿足定理1中的條件時,曲線在公共點(diǎn)處達(dá)到了G1連續(xù),其幾何意義表示為:當(dāng)兩條相鄰四次C-Bézier曲線拼接時,其控制頂點(diǎn)P3,P4(=Q0)和Q1必須共線、且有序排列.四次C-Bézier曲線的G1連續(xù)同三次Bézier曲線十分類似,且其幾何直觀性都很強(qiáng). 若將式(4) 中的λ值取為1,則可得如下定理.
定理2相鄰四次C-Bézier曲線P(t;α1)和Q(t;α2)間C1光滑拼接的充要條件為
(8)
顯然,兩條滿足C1連續(xù)的四次C-Bézier曲線在拼接點(diǎn)處的切矢是相等的.由式(4)和式(8)可知,除靠近拼接點(diǎn)處的2個控制頂點(diǎn)對曲線的G1和C1連續(xù)性有影響外,兩條曲線各自的形狀參數(shù)α1,α2對曲線的G1和C1連續(xù)性也具有靈活的調(diào)節(jié)作用.此外,在保持兩條四次C-Bézier曲線間G1或C1連續(xù)性不變的情況下,還可以通過修改形狀參數(shù)來靈活地調(diào)整曲線的形狀.
兩相鄰曲線在拼接點(diǎn)處滿足G2連續(xù)的充要條件是[10]:(1) 滿足G1連續(xù)條件;(2) 兩曲線在拼接點(diǎn)處的曲率相等;(3) 兩曲線在拼接點(diǎn)處的副法向量方向相同.下面,利用這一充要條件來推導(dǎo)四次C-Bézier曲線G2、C2光滑拼接的條件.
定理3相鄰四次C-Bézier曲線P(t;α1)和Q(t;α2) 間G2光滑拼接的充要條件為
(9)
式中,
λ>0,d為任意常數(shù).
證明由條件(1)有
(10)
且P(t;α1)在t=α1處的副法向量D1和Q(t;α2)在t=0處的副法向量D2分別為
D1=P′(α1;α1)×P″(α1;α1)
D2=Q′(0;α2)×Q″(0;α2)
由式(10)和條件(3)可知:P′(α1;α1),P″(α1;α1), Q′(0;α2),Q″(0;α2) 4個向量共面,且由式(10)可得
P″(α1;α1)=cQ″(0;α2)+dQ′(0;α2)
式中,c>0,d為任意常數(shù).
再依據(jù)條件(2)可得
故有c=λ-2,從而有
P″(α1;α1)=λ-2Q″(0;α2)+dQ′(0;α2)
(11)
式中,λ>0,d為任意常數(shù).
根據(jù)曲線端點(diǎn)性質(zhì)式(3)有
(12)
最后將式(12)代入式(11),再結(jié)合式(4)即可證得式(9)成立.
此外,在滿足式(8)的情況下,兩相鄰四次C-Bézier曲線要達(dá)到C2連續(xù)則還需滿足其二階導(dǎo)數(shù)相等,即P″(α1;α1)=Q″(0;α2),再根據(jù)曲線的端點(diǎn)性質(zhì)即可得如下定理.
定理4相鄰四次C-Bézier曲線P(t;α1)和Q(t;α2)間C2光滑拼接的充要條件為
(13)
式中,K1,K2;L1,L2;R1,R2;W1,W2的取值如式(9)中所定義.
利用四次C-Bézier曲線優(yōu)良的形狀可調(diào)性及其該曲線的光滑拼接技術(shù),可以方便設(shè)計各種造型復(fù)雜的組合曲線.由定理1中的結(jié)論可知,實現(xiàn)兩相鄰四次C-Bézier曲線P(t;α1)和Q(t;α2)間G1光滑拼接的基本步驟為:
Step1. 給定初始曲線P(t;α1)的形狀參數(shù)α1以及它的控制頂點(diǎn)Pi(i=0,1,…,4) ;
Step2. 令Q0=P4,使得曲線P(t;α1)和Q(t;α2)達(dá)到位置連續(xù)(即G0連續(xù));
Step3. 自由給定參數(shù)α2和λ,再按照式(4)可計算出曲線Q(t;α2)的控制頂點(diǎn)Q1;
Step4. 最后自由給定曲線Q(t;α2)剩余的3個控制頂點(diǎn)Q2、Q3和Q4,即可實現(xiàn)兩相鄰四次C-Bézier曲線間的G1光滑拼接.
類似的,由定理3中的結(jié)論可知,實現(xiàn)兩相鄰四次C-Bézier曲線P(t;α1)和Q(t;α2)間G2光滑拼接的基本步驟為:
Step1. 給定初始曲線P(t;α1) 的形狀參數(shù)α1以及它的控制頂點(diǎn)Pi(i=0,1,…,4);
Step2. 令Q0=P4,使得曲線P(t;α1) 和Q(t;α2) 達(dá)到位置連續(xù)(即G0連續(xù));
Step3. 自由給定參數(shù)α2和λ,再按照式(4)可計算出曲線Q(t;α2) 的控制頂點(diǎn)Q1;
Step4. 其次先自由給定參數(shù)d,然后根據(jù)式(9)中的第2個等式計算出曲線Q(t;α2) 的控制頂點(diǎn)Q2;
Step5. 最后,自由給定曲線Q(t;α2)的控制頂點(diǎn)Q3和Q4,即可實現(xiàn)兩曲線的G2光滑拼接.
顯然,在上述曲線G1(或G2)光滑拼接的基本步驟中,若令λ=1(或λ=1,d=0)即可得到兩相鄰四次C-Bézier曲線C1(或C2)光滑拼接的基本步驟.
(a)拼接生成的葫蘆 (b)修改參數(shù)后的葫蘆圖2 葫蘆圖形設(shè)計實例
圖2給出了一個利用四次C-Bézier曲線的拼接技術(shù)生成葫蘆圖形的實例.其中,圖2中葫蘆圖形的左右兩邊曲線都是由3條四次C-Bézier曲線段以G1光滑拼接而成.從拼接的步驟和所給實例可以看出,拼接后的組合曲線不僅可以通過調(diào)整參數(shù)的取值來靈活修改自身的局部形狀,而且并不影響到拼接后曲線的光滑程度.
圖3給出了一組李寧商標(biāo)曲線圖形的造型實例.圖3(a)~(f)中商標(biāo)圖形的上、下兩條曲線都是由兩條四次C-Bézier曲線段拼接而成.顯然,還可以靈活地通過修改形狀參數(shù)來改變商標(biāo)圖形的局部形狀,從而可設(shè)計出各種造型的李寧商標(biāo)圖形以及實現(xiàn)李寧商標(biāo)圖形的變形動畫.
圖3 李寧商標(biāo)圖形的變形
圖4給出了一個用四次C-Bézier曲線拼接技術(shù)生成的花瓶圖形.圖4中,花瓶的瓶身是用1段四次C-Bézier曲線表示的半圓??;而花瓶的瓶頸、瓶底則是2段不同的四次C-Bézier曲線段,它們與瓶身曲線光滑拼接,如圖4(a)所示.
(a)待拼接的3段曲線 (b)拼接技術(shù)生成的花瓶圖4 花瓶圖形設(shè)計實例
此外結(jié)合拼接技術(shù),利用四次C-Bézier曲線還可以構(gòu)造工程中各種常用的造型曲面,如旋轉(zhuǎn)曲面、掃掠面、直紋面和平移面等. 圖5給出了一個旋轉(zhuǎn)花瓶曲面造型實例,其中旋轉(zhuǎn)花瓶曲面的母線(如圖5(a)所示)是由3條四次C-Bézier曲線以G1光滑拼接而成.
(a)花瓶旋轉(zhuǎn)曲面的母線 (b)旋轉(zhuǎn)花瓶曲面圖5 設(shè)計旋轉(zhuǎn)花瓶曲面
為了解決四次C-Bézier曲線造型中復(fù)雜組合曲線的設(shè)計問題,給出了兩相鄰四次C-Bézier曲線間G1、C1和G2、C2光滑拼接的充要條件.理論分析與造型實例表明,四次C-Bézier曲線不僅能夠精確地構(gòu)造二次曲線和具有靈活的形狀可調(diào)性,而且其光滑拼接的條件也具有簡單、直觀的特點(diǎn),可以用來設(shè)計多種不同的復(fù)雜曲線,所以在工程曲線曲面設(shè)計中有著廣泛的應(yīng)用前景.
[1] Piegl L, Tiller W. The NUBRS book, 2nd edition[M].New York: Sp ringer, 1997.
[2] Zhang Jiwen.C-Curves: an extension of cubic curves[J].Computer Aided Geometric Design, 1996, 13(3): 199-217.
[3] Zhang Jiwen.Two different forms of C-B-splines[J].Computer Aided Geometric Design, 1997, 14(1): 31-41.
[4] Zhang Jiwen.C-Bézier curves and surfaces[J].Graphical Models and Image Processing, 1999, 61(1): 2-15.
[5] 樊建華,張紀(jì)文,鄔義杰.C-Bézier曲線的形狀修改[J].軟件學(xué)報, 2002, 13(11) : 2 194-2 199.
[6] 樊建華,鄔義杰,林 興.C-Bézier曲線分割算法及G1拼接條件[J].計算機(jī)輔助設(shè)計與圖形學(xué)報, 2002, 14(5): 421-424.
[7] 楊雅迪,秦新強(qiáng),胡鋼等.C-Bézier曲線的光順逼近算法[J].計算機(jī)應(yīng)用, 2008, 28(12): 3 132-3 134.
[8] 葉正麟, 吳榮軍. 平面C-Bézier曲線的奇拐點(diǎn)分析[J]. 計算數(shù)學(xué), 2005, 27(1): 63-70.
[9] 陳秦玉,楊勛年,汪國昭.四次C-曲線的性質(zhì)及其應(yīng)用[J].高校應(yīng)用數(shù)學(xué)學(xué)報A輯, 2003, 18(1): 45-50.
[10]胡 鋼, 秦新強(qiáng), 韓西安,等.擬三次Bézier曲線曲面的拼接技術(shù)[J].西安交通大學(xué)學(xué)報, 2010, 44(11): 46-50, 60.