王海波,楊當(dāng)福,佘衛(wèi)勤,劉圣軍,劉新儒*,陳月安,白燕羽
(1.中南大學(xué)工程建模與科學(xué)計(jì)算研究所,湖南長(zhǎng)沙 410083;2.中國(guó)航發(fā)南方工業(yè)有限公司,湖南 株洲 12000)
隨著計(jì)算機(jī)技術(shù)的發(fā)展,計(jì)算機(jī)輔助幾何設(shè)計(jì)在機(jī)械、航空、建筑等領(lǐng)域得到了廣泛應(yīng)用,曲線曲面表示方法作為計(jì)算機(jī)輔助幾何設(shè)計(jì)中的重要方法[1],廣受學(xué)者關(guān)注。在曲線曲面表示方法中,基函數(shù)的構(gòu)造尤為重要。
傳統(tǒng)的Bézier 基函數(shù)、B 樣條基函數(shù)雖然具有很多優(yōu)良性質(zhì),但一旦曲線曲面的控制頂點(diǎn)確定,其形狀也隨之確定,而在實(shí)際應(yīng)用中,往往需要對(duì)曲線曲面的形狀進(jìn)行微調(diào)。文獻(xiàn)[2]將權(quán)因子引入有理Bézier 曲線,文獻(xiàn)[3-4]在線性無(wú)關(guān)的三角函數(shù)生成空間中,構(gòu)造了帶參數(shù)的三角Bézier 基函數(shù),通過(guò)調(diào)節(jié)權(quán)因子或參數(shù)達(dá)到調(diào)節(jié)曲線形狀的目的。與有理基函數(shù)、三角Bézier 基函數(shù)相比,多項(xiàng)式基函數(shù)具有易于求導(dǎo)、計(jì)算簡(jiǎn)便等優(yōu)點(diǎn)。文獻(xiàn)[5-8]構(gòu)造了一系列帶形狀參數(shù)的擴(kuò)展Bézier 基函數(shù),增加了曲線曲面的自由度,便于調(diào)節(jié)形狀。此外,求插值于給定數(shù)據(jù)點(diǎn)的Bézier 曲線或B 樣條曲線通常通過(guò)求解線性方程組實(shí)現(xiàn),此方法雖然可滿足曲線光順、保凸等要求,但求解線性方程組的工作量較大。文獻(xiàn)[9-14]分別基于不同的基函數(shù)(包括(有理)多項(xiàng)式插值樣條基函數(shù)、(有理)三角插值樣條基函數(shù))構(gòu)造了保形插值曲線,并推導(dǎo)了形狀參數(shù)和局部參數(shù)的約束條件。另外,通過(guò)調(diào)節(jié)參數(shù)大小,可獲得光順性更好的插值曲線。
可展曲面因其獨(dú)特的性質(zhì)在工業(yè)設(shè)計(jì)與制造中應(yīng)用廣泛?,F(xiàn)有的可展曲面設(shè)計(jì)方法主要有2 種:(1)將可展曲面看作直紋面的特殊情況,予張量積直紋面以一定的約束,求解特征方程組[15-17];(2)利用點(diǎn)面幾何的對(duì)偶性設(shè)計(jì)可展曲面[18]。第1 種方法所形成的特征方程組通常呈非線性,求解較困難;第2 種方法在調(diào)節(jié)可展曲面的形狀上有一定欠缺。文獻(xiàn)[19-23]在第2 種方法基礎(chǔ)上,構(gòu)造了一系列帶形狀參數(shù)的可展曲面,一定程度上彌補(bǔ)了第2 種方法的不足。
本文提出一種新的帶2 個(gè)形狀參數(shù)的四次多項(xiàng)式基函數(shù)。該基函數(shù)具有較好的形狀調(diào)節(jié)能力和良好的性質(zhì)。特別地,當(dāng)2 個(gè)形狀參數(shù)都等于0 時(shí),該基函數(shù)就退化為三次伯恩斯坦基函數(shù)。利用此基函數(shù),構(gòu)造了G1連續(xù)插值樣條,并討論了樣條曲線的保形性。另外,基于對(duì)偶性原理,設(shè)計(jì)了可展曲面,討論了構(gòu)造G0、G1、G2和G3連續(xù)曲面時(shí)參數(shù)的選取條件。最后,用具體實(shí)例進(jìn)行了說(shuō)明。
定義1對(duì)任意的t∈[0,1],λ1,λ2∈[0,1],
為帶2 個(gè)形狀參數(shù)λ1,λ2的四次多項(xiàng)式基函數(shù)。
(?。┩嘶裕寒?dāng)λ1=λ2=0 時(shí),式(1)退化為三次伯恩斯坦基函數(shù)。
(ⅱ)非負(fù)性:對(duì)任意的λ1,λ2∈[0,1],有Fi,4(t) ≥0,i=0,1,2,3。
證明將式(1)改寫(xiě)為
其 中,Bi,4(t)(i=0,1,…,4)為四次伯恩斯坦基函數(shù),當(dāng)λ1,λ2∈[0,1]時(shí),矩陣A的元素均非負(fù),而四次伯恩斯坦基函數(shù)也非負(fù),故對(duì)任意的λ1,λ2∈[0,1],均有Fi,4(t) ≥0,i=0,1,2,3。
(ⅲ)歸一性:對(duì)任意的λ1,λ2∈[0,1],有
(ⅳ)端點(diǎn)性:對(duì)任意的λ1,λ2∈[0,1],有
(ⅴ)對(duì)稱(chēng)性:當(dāng)λ1=λ2時(shí),有
(ⅵ)線性無(wú)關(guān)性:對(duì)任意的λ1,λ2∈[0,1],F(xiàn)i,4(t) (i=0,1,2,3)線性無(wú)關(guān)。
定義 2給定 4 個(gè)控制頂點(diǎn)Pi∈Ru(u=2,3;i=0,1,2,3),帶2 個(gè)形狀參數(shù)的曲線表達(dá)式為
其 中,λ1,λ2∈[0,1],F(xiàn)i,4(t) (i=0,1,2,3)為 式(1)中定義的基函數(shù)。
對(duì)任意的λ1,λ2∈[0,1],該曲線有以下性質(zhì):
(?。┒它c(diǎn)性
端點(diǎn)滿足:
端點(diǎn)導(dǎo)數(shù)滿足:
端點(diǎn)二階導(dǎo)數(shù)滿足:
(ⅱ)對(duì)稱(chēng)性
(ⅲ)凸包性
所生成的曲線始終位于Pi∈Ru(u=2,3,i=0,1,2,3)所構(gòu)成的凸包內(nèi)。
(ⅳ)變差減少性
除包含控制多邊形的整個(gè)平面外,任意平面與該曲線的交點(diǎn)數(shù)均不會(huì)超過(guò)該曲線與控制多邊形的交點(diǎn)數(shù)。
(ⅴ)平移與仿射不變性
該曲線滿足
其 中,為Ru(u=2,3)中的任意向量,H為任意u×u(u=2,3)階矩陣。
(ⅵ)形狀可調(diào)性
該曲線的2 個(gè)形狀參數(shù)λ1,λ2∈[0,1],增加了曲線的自由度。
形狀調(diào)節(jié)可視化效果如圖1 所示,其中,黑實(shí)線表示控制多邊形,圖1(a)中,λ2=0,紅、綠、藍(lán)、黃、黑、青 虛 線 分 別 表 示λ1=0,0.2,0.4,0.6,0.8,1.0;(b)中,λ1=0,紅、綠、藍(lán)、黃、黑、青虛線分別表示λ2=0,0.2,0.4,0.6,0.8,1.0;(c)中,λ1+λ2=1,紅、綠、藍(lán)、黃、黑、青 虛 線 分 別 表 示λ1=0,0.2,0.4,0.6,0.8,1.0;(d)中,λ1=λ2,紅、綠、藍(lán)、黃、黑、青 虛線分別表示λ1=λ2=0,0.2,0.4,0.6,0.8,1.0。 由圖 1 可知,對(duì)于固定的t(t∈[0,1]),當(dāng)只增大λ1時(shí),曲線向控制頂點(diǎn)P2偏移;當(dāng)只增大λ2時(shí),曲線向控制頂點(diǎn)P1偏移;當(dāng)增大λ1、減小λ2時(shí),曲線向控制頂點(diǎn)P2偏移;當(dāng)同時(shí)增大λ1和λ2時(shí),曲線向控制多邊形靠近。
定義3給定一組數(shù)據(jù)點(diǎn)(xi,yi)(i=1,2,…,n),其中,x1<x2<…<xn,四次插值樣條為
其中,F(xiàn)j,4(t)(j=0,1,2,3)為式(1)定義的基函數(shù),為插值曲線在xi處的導(dǎo)數(shù)值,基于文獻(xiàn)[11]中的算術(shù)平均方法即式(4)計(jì)算得到。記區(qū)間[xi,xi+1] (i=1,2,…,n?1)上 的 第i條 曲 線 段為s(i)(x)。
圖1 形狀參數(shù)對(duì)曲線的調(diào)節(jié)作用Fig.1 The adjustment effect of shape parameters on the curve
由基函數(shù)的端點(diǎn)性質(zhì)和式(4)、式(5),有
其中,i=1,2,…,n?1。則S(x)插值于所有給定的數(shù)據(jù)點(diǎn),而且在相鄰曲線段的連接點(diǎn)處可達(dá)G1連續(xù)。
對(duì)于給定的數(shù)據(jù)點(diǎn)(xi,yi)(i=1,2,…,n),若yi>0(i=1,2,…,n),使 得S(x)>0,x∈[x1,xn],則稱(chēng)插值曲線具有保正性。
不失一般性,考慮區(qū)間[xi,xi+1]上的曲線段s(i)(x)(i=1,2,…,n?1)。利用式(2),將式(4)改寫(xiě)為
由yi>0(i=1,2,…,n)及式(6),可得使s(i)(x)>0成立的充分條件為
時(shí),有S(x)>0,x∈[x1,xn]。 通過(guò)調(diào)節(jié)可使曲線更加光順。
式(4)所定義的插值樣條不僅具有保正性,而且在一定條件下還具有保單調(diào)性。下面分析插值樣條的保單調(diào)性及其條件。
對(duì)于給定的單調(diào)數(shù)據(jù)點(diǎn)(xi,yi)(i=1,2,…,n),即yi+1≥yi或yi+1≤yi(i= 1,2,…,n?1),x∈[x1,xn],使得S′(x)≥0,則稱(chēng)插值曲線具有保單調(diào)性。本文只考慮數(shù)據(jù)點(diǎn)單調(diào)遞增的情況,數(shù)據(jù)點(diǎn)單調(diào)遞減的情況類(lèi)似可證。
不失一般性,考慮在區(qū)間[xi,xi+1]上的曲線段s(i)(x)(i=1,2,…,n?1),對(duì) 式(6)求導(dǎo),經(jīng)整理可得
當(dāng)yi+1≥yi(i=1,2,…,n?1),即Δi≥0 時(shí),由 式(5)可 知,d(i)≥0,故由式(8),得到滿足S′(x)≥0(x∈[x1,xn])的充分條件為
(?。┊?dāng)滿足Δi=0,時(shí),有di=di+1=0,則對(duì)任意的均 有s(i)′(x)=0,并且在區(qū)間[xi,xi+1]上的曲線段s(i)(x)=yi=yi+1。
時(shí),有S′(x)≥0(x∈[x1,xn])。
由式(10)和式(11)可知,當(dāng)Δi>0 時(shí),取
可得S′(x)≥0(x∈[x1,xn])。
由3D 射影空間中點(diǎn)與平面的對(duì)偶性,將式(3)中的控制頂點(diǎn)Pi(i=0,1,2,3)替代為控制平面Qi(i=0,1,2,3),便可得到帶2 個(gè)形狀參數(shù)的單參數(shù)平面族
其 中,t∈[0,1],Qi=(ai,bi,ci,di),ai,bi,ci,di∈R(i=0,1,2,3)為控制平面,ai,bi,ci為控制平面上的點(diǎn),di為(ai,bi,ci)到原點(diǎn)的距離。
在式(12)定義的帶2 個(gè)形狀參數(shù)的單參數(shù)平面族中,2 個(gè)相鄰的平面相交于一條直線,且該直線位于包絡(luò)可展曲面上。式(12)中,對(duì)應(yīng)于任意一個(gè)t值的平面可表示為向量形式:
記為E(t)X=e3(t),其中,
對(duì)式(13)求一階導(dǎo)數(shù),得
記為E′(t)X=e′3(t),其中,
則式(13)和式(14)所形成的2 個(gè)平面的交線即曲面與t的母線,在可展曲面上,計(jì)算該交線L(t)=(u,v),其中,u=E(t)×E′(t)為L(zhǎng)(t)的法向量,v=e′(t)E(t)?e(t)E′(t)。設(shè)p(t)為直線上與t最接近原點(diǎn)的點(diǎn),則p(t)=。因而L(t)的方程可用以下參數(shù)形式表示:
在式(12)定義的帶2 個(gè)形狀參數(shù)的單參數(shù)平面族中,3 個(gè)相鄰平面的交點(diǎn)q(t)稱(chēng)為t的特征點(diǎn),這些特征點(diǎn)形成的曲線,即為脊線。
對(duì)式(13)求二階導(dǎo)數(shù),得
則q(t)可表示為
因此,可展曲面的參數(shù)表達(dá)式為
假設(shè)待拼接的兩可展曲面為
若S(2)(0)=S(1)(1),則稱(chēng)兩曲面G0連續(xù)??傻脻M足G0連續(xù)拼接的條件為
其中,β1>0 為常數(shù),則稱(chēng)兩曲面G1連續(xù)。可得滿足G1連續(xù)拼接的條件為
若
則稱(chēng)兩曲面Farin-BoehmG2連續(xù)。當(dāng)1≠0 時(shí),可得滿足Farin-BoehmG2連續(xù)拼接的條件為
其中,β1>0,β2為常數(shù),則稱(chēng)兩曲面G2beta連續(xù)。當(dāng)時(shí),滿足G2beta連續(xù)拼接的條件為
若
其中,β1>0,β2,β3為常數(shù),則稱(chēng)兩曲面G3beta 連續(xù)。當(dāng)時(shí),滿足G3beta 連續(xù)拼接的條件如式(21)所示。
為更好地說(shuō)明形狀參數(shù)的調(diào)節(jié)作用,圖2 給出了4 類(lèi)曲線的幾何造型實(shí)例。在圖2(a)梨子、(b)蝴蝶中,實(shí)線、虛線、雙劃線所對(duì)應(yīng)的參數(shù)值分別為λ1=λ2=0,0.5,1,隨著λ1,λ2的增大,梨子、蝴蝶逐漸變大。在圖2(c)花瓣、(d)楓葉中,實(shí)線、虛線、雙劃線所對(duì)應(yīng)的參數(shù)值分別為λ1=0,λ2=1;λ1=0.5,λ2=0.5;λ1=1,λ2=0,隨著λ1,λ2的變化,花瓣、楓葉的形狀發(fā)生了變化。
圖2 曲線圖形造型實(shí)例可視化Fig.2 Visualization of curve graphic modeling examples
表1 所示為文獻(xiàn)[12]中的正數(shù)據(jù)集。圖3 為保正插值曲線可視化圖,其中,圖3(a)中,參數(shù)=1(i=1,2,…,6),ξ1=(3,15,1,1,20,10),ξ2=(3,2,1,1,4,5),(b)中,參數(shù)λ1=(0,0.9,0.5,0.2,0.8,1.0),λ2=(0,0.6,0.1,0.5,0.5,1.0),ε1=(3,1,3,3,3,8),ε2=(4,0,2,5,5,3)。表2 為文獻(xiàn)[14]中的正數(shù)據(jù)集。圖3(c)中,參數(shù)=1(i=1,2,…,7),ξ1=(3,1,1,1,1,1,1),ξ2= (3,1,1,1,1,4,1),(d)中,參數(shù)λ1=(0,1.0,0.5,0.2,0.8,1.0,0.5),ε1=(3,3.5,3,3,3,1,8),λ2= (0,1.0,0.1,0.5,0.5,1.0,0.8),ε2=(4,3,2,5,5,3,2)。(a)和(c)中的參數(shù)是隨機(jī)選取的,曲線不保正。(b)和(d)中的參數(shù)滿足式(7),曲線是保正的。
表1 文獻(xiàn)[12]中的正數(shù)據(jù)集Table 1 Positive dataset in paper[12]
表2 文獻(xiàn)[14]中的正數(shù)據(jù)集Table 2 Positive dataset in paper[14]
表3 為文獻(xiàn)[12]中的單調(diào)遞增數(shù)據(jù)集。圖4 為單調(diào)遞增插值曲線可視化圖,其中,圖4(a)中,參數(shù)=1(i=1,2,3),ξ2=(1,3,1),(b)中,參數(shù)λ1= (1,1,1),λ2= (0.1,1,1),τ1= (1,1,5),τ2=(5,1,1)。表4 為文獻(xiàn)[14]中的單調(diào)遞增數(shù)據(jù)集。圖4(c)中,參數(shù)=1(i=1,2,…,10),ξ2=(1,3,1,1,1,1,1,1,1,1),(d)中,參數(shù)λ1=(1,1,1,1,1,1,1,1,0.2,1),τ1=(1,1,1,1,1,1,1,1,12,1),λ2=1(1,2,…,10),τ2=(1,1,1,1,1,1,1,1,5,1)。(a)和(c)中的參數(shù)是隨機(jī)選取的,為非單調(diào)曲線。(b)和(d)中的參數(shù)滿足式(9),為單調(diào)曲線。
圖4 單調(diào)遞增插值曲線可視化Fig.4 Visualization of monotonically increasing interpolation curve
表4 文獻(xiàn)[14]中的單調(diào)數(shù)據(jù)集Table 4 Monotonically increasing dataset in paper[14]
由文獻(xiàn)[20]中4 個(gè)控制平面
所設(shè)計(jì)的包絡(luò)可展曲面如圖5~圖7 所示。由圖5可知,當(dāng)λ2不變時(shí),隨λ1的增大,曲面的起始邊(t=0)不斷變長(zhǎng),終止邊(t=1)的卷曲程度不斷增加。由圖6 可知,當(dāng)λ1不變時(shí),隨λ2的增大,曲面的起始邊(t=0)的卷曲程度不斷增加,終止邊(t=1)不斷變長(zhǎng)。由圖7 可知,當(dāng)λ1和λ2同時(shí)增大時(shí),曲面的起始邊和終止邊均不斷變長(zhǎng),彎曲程度有所增加。
圖5 λ1 對(duì)包絡(luò)可展曲面的影響可視化Fig.5 Visualization of the influence of λ1 on the enveloping developable surface
圖6 λ2 對(duì)包絡(luò)可展曲面的影響可視化Fig.6 Visualization of the influence of λ2 on the enveloping developable surface
圖7 λ1,λ2 對(duì)包絡(luò)可展曲面的影響可視化Fig.7 Visualization of the influence of λ1,λ2 on the enveloping developable surface
由文獻(xiàn)[20]中4 個(gè)控制平面
所設(shè)計(jì)的脊線可展曲面如圖8~圖10 所示。由圖8可知,當(dāng)λ2不變時(shí),隨λ1的增大,曲面的起始邊(t=0)不斷變短,終止邊(t=1)的卷曲程度不斷增大。由圖9 可知,當(dāng)λ1不變時(shí),隨λ2的增大,曲面的起始邊(t=0)的卷曲程度不斷增加,終止邊(t=1)不斷變短。由圖10 可知,當(dāng)λ1和λ2同時(shí)增大時(shí),曲面的起始邊和終止邊都不斷變長(zhǎng),彎曲程度有所增加。
由文獻(xiàn)[20]中4 個(gè)控制平面
作為以下連續(xù)性例子的第1 個(gè)包絡(luò)可展曲面的控制平面。由式(18)得到第2 個(gè)可展曲面的前2 個(gè)控制平面,任給后2 個(gè)控制平面即可達(dá)到G1連續(xù)。取β1=1,=0,設(shè)第2 個(gè)可展曲面的控制平面為
由式(19)、式(20)可得,第2 個(gè)可展曲面的前3個(gè)控制平面,任給最后一個(gè)控制平面,即達(dá)到Farin-BoehmG2連 續(xù)、G2beta 連續(xù),由式(21)可得,第2 個(gè)可展曲面的所有控制平面達(dá)到G3beta 連續(xù)。連續(xù)性條件的參數(shù)設(shè)置、第2 個(gè)可展曲面的控制平面設(shè)置如表5 所示,拼接可展曲面可視化及相應(yīng)的拼接曲面連續(xù)性高光帶渲染結(jié)果如圖12 所示,其中天藍(lán)色曲面為第1 個(gè)可展曲面,米黃色曲面為第2 個(gè)可展曲面,紫紅色為高光帶。
圖8 λ1 對(duì)脊線可展曲面的影響可視化Fig.8 Visualization of the influence of λ1 on the spine curve developable surface
圖9 λ2 對(duì)脊線可展曲面的影響可視化Fig.9 Visualization of the influence of λ2 on the spine curve developable surface
圖10 λ1,λ2 對(duì)脊線可展曲面的影響可視化Fig.10 Visualization of the influence of λ1,λ2 on the spine curve developable surface
圖11 不同參數(shù)對(duì)拼接G1 連續(xù)可展曲面的影響可視化及拼接曲面連續(xù)性高光帶渲染結(jié)果Fig.11 Visualization of the effects of different parameters on the blending G1 continuous developable surfaces and rendering results of continuum highlight bands for blending surfaces
構(gòu)造了帶2 個(gè)形狀參數(shù)的四次多項(xiàng)式基函數(shù),是對(duì)三次伯恩斯坦基函數(shù)的擴(kuò)展,具有退化性、非負(fù)性、歸一性、端點(diǎn)性、對(duì)稱(chēng)性、線性無(wú)關(guān)性等性質(zhì)。當(dāng)該基函數(shù)用于構(gòu)造曲線時(shí),同樣具有端點(diǎn)性、對(duì)稱(chēng)性、凸包性、變差減少性、平移與仿射不變性、形狀可調(diào)性等性質(zhì),可在不改變曲線控制頂點(diǎn)的前提下,通過(guò)改變形狀參數(shù)調(diào)節(jié)曲線形狀。在此基礎(chǔ)上,基于該基函數(shù)設(shè)計(jì)了4 次插值樣條,該插值樣條自動(dòng)滿足G1連續(xù)。并討論了當(dāng)形狀參數(shù)及局部參數(shù)滿足一定條件時(shí),該插值樣條具有保正性和保單調(diào)性。此外,將該基函數(shù)用于構(gòu)造可展曲面,利用對(duì)偶性理論設(shè)計(jì)脊線可展曲面和包絡(luò)可展曲面,并討論了包括G0連續(xù)、G1連續(xù)、Farin-BoehmG2連續(xù)、G2beta連續(xù)、G3beta 連續(xù)的可展曲面的連續(xù)性條件。最后通過(guò)具體實(shí)例進(jìn)行了驗(yàn)證分析。
表5 連續(xù)性條件的參數(shù)及第2 個(gè)可展曲面的控制平面設(shè)置Table 5 Parameter setting,control planes setting of the second developable surface of continuity condition
圖12 拼接可展曲面可視化及拼接曲面連續(xù)性高光帶渲染結(jié)果Fig.12 Visualization of the blending developable surfaces and rendering results of continuum highlight bands for blending surfaces
在設(shè)計(jì)可展曲面過(guò)程中,筆者發(fā)現(xiàn)控制平面的構(gòu)造比較困難,其幾何意義不夠明確。如果能進(jìn)一步探明可展曲面與其控制平面之間的幾何關(guān)系,探尋控制平面的構(gòu)造規(guī)律,將極大擴(kuò)展可展曲面的應(yīng)用范圍。所有這些有待進(jìn)一步研究。