孫釗,張迪,劉華勇
(安徽建筑大學(xué) 數(shù)理學(xué)院 安徽 合肥 230601)
在計(jì)算機(jī)輔助幾何設(shè)計(jì)中(CAGD),分段三次多項(xiàng)式和三角樣條曲線曲面等設(shè)計(jì)方法一直是行之有效的熱點(diǎn)課題,但這些方法均存在一定的局限性。譬如,曲線曲面的形狀受到其相應(yīng)的控制頂點(diǎn)的束縛。如果需要調(diào)整曲線曲面的外形,則必須調(diào)節(jié)曲線曲面的控制頂點(diǎn),這給工程設(shè)計(jì)帶來一定的困難。
為了方便而有效的對曲線曲面修改形狀或調(diào)整其位置,有學(xué)者開創(chuàng)性的在以往修改曲線曲面形狀的設(shè)計(jì)方法引入了權(quán)因子,通過改變權(quán)因子的取值,來構(gòu)造滿足實(shí)際工程設(shè)計(jì)要求的曲線曲面(例有理Bézier、NURBS[1])。此種方法雖可以在不改變控制頂點(diǎn)的情形下,較為靈活的設(shè)計(jì)幾何外形,但相對來說它的計(jì)算比較復(fù)雜,計(jì)算過程仍舊存在許多難題:求導(dǎo)、如何選取權(quán)因子、求積等。1988年,B.A Barsky和B Joe兩位學(xué)者提出了一類滿足幾何連續(xù)且?guī)в腥謪?shù)的分段多項(xiàng)式樣條曲線,學(xué)術(shù)界稱之為β曲線[2-3]。β曲線具有較好的連續(xù)性和端點(diǎn)性質(zhì),但缺點(diǎn)是不能表示一些特殊的曲線曲面,例如:圓錐等。針對這一局限性,張紀(jì)文教授基于三角函數(shù)空間構(gòu)造了H-B樣條曲線[4]以及CB樣條曲線[5],兩種樣條曲線的表達(dá)式中皆含有三角函數(shù)、雙曲函數(shù)而且?guī)в腥中螤顓?shù),具有整體修改曲線形狀或者是調(diào)整曲線位置的功能。文獻(xiàn)[6]也給出了一類含有全局形狀參數(shù)的樣條曲線曲面,它的優(yōu)點(diǎn)是可以使曲線曲面從兩端逼近其控制多邊形(控制網(wǎng)格)。文獻(xiàn)[7]文獻(xiàn)與[8-9]定義了帶有全局形狀參數(shù)的代數(shù)三角樣條曲線曲面和擬三角插值樣條曲線曲面,兩類曲線曲面同樣具有全局修改形狀的特點(diǎn)。與以上文獻(xiàn)不同,文獻(xiàn)[10-14]中基于不同的思路建立了幾類帶有局部形狀參數(shù)的插值和擬合樣條曲線,使局部修飾曲線曲面的形狀這一難題,有了實(shí)現(xiàn)的可能。從局部微調(diào)和連續(xù)性兩個(gè)角度分析,文獻(xiàn)[2-9]基本上都帶有全局形狀參數(shù),隨著全局形狀參數(shù)取值的改變,曲線會整體發(fā)生變化,因此并不能局部的對曲線曲面進(jìn)行調(diào)整。文獻(xiàn)[10-14]所定義的曲線雖然具有了局部可調(diào)性,但其連續(xù)性卻同樣局限于Ck-2連續(xù)即參數(shù)連續(xù)[15-16],他們均不具備幾何連續(xù)性,故而難以滿足實(shí)際工程上的需求?;谏鲜鰡栴}的考慮,本文初步構(gòu)思是:在文獻(xiàn)[17]定義的三角樣條基函數(shù)的基礎(chǔ)上加上了一組和為零的特殊多項(xiàng)式,從而構(gòu)造了一類新的帶兩類形狀參數(shù)的代數(shù)三角融合樣條曲線,新的曲線主要優(yōu)勢是不僅滿足一定的幾何連續(xù)性,同時(shí)也具有全局或局部可調(diào)性質(zhì)。通過調(diào)整全局或局部參數(shù)的取值新的曲線課題達(dá)到多種連續(xù)性,從而能夠較靈活地設(shè)計(jì)形狀各異的曲線,滿足不同的工程需求。此外,當(dāng)給定特殊的控制頂點(diǎn)、形狀參數(shù)值時(shí),新的曲線還可精確地表示圓或者橢圓弧段、拋物線與雙曲線。
本文主要工作如下。第二部分提出了一類帶形狀參數(shù)的代數(shù)三角融合基函數(shù)(簡稱AT-BSpline)的定義,并給出了不同形狀參數(shù)下基函數(shù)的的圖形以及一些AT-B-Spline基函數(shù)的良好性質(zhì)和相關(guān)證明。據(jù)此,第三部分則構(gòu)造了帶形狀參數(shù)的AT-B-Spline曲線,隨后給出了形狀參數(shù)的變化對AT-B-Spline曲線整體或局部的影響。在第四部分中推導(dǎo)了形狀參數(shù)在不同范圍內(nèi)時(shí),帶形狀參數(shù)的AT-B-Spline曲線的連續(xù)性,并且給出了一些數(shù)值實(shí)例。最后,本文給出了特定的形狀參數(shù)和控制頂點(diǎn)下,對三種圓錐曲線的精確表示。
定義 1:對于 t∈[0,π/2],若給定
為帶有兩類形狀參數(shù)的代數(shù)三角融合基函數(shù),簡化起見,以下均稱為AT-B-Spline基函數(shù)。其中,λ為全局形狀參數(shù),αi,βi為局部形狀參數(shù)。
下圖1給出了兩類含有形狀參數(shù)的AT-B-Spline基函數(shù)的圖形。其中,圖1(a)和(c)為不同形狀參數(shù)取值下的基函數(shù)圖形,而圖1(b)和(d)分別是圖1(a)和(c)經(jīng)過平移后的曲線圖形。
圖1 兩類含有形狀參數(shù)的基函數(shù)及平移后的曲線圖形
由公式(1)可知,AT-B-Spline樣條基函數(shù)具有如下的一些良好的性質(zhì):
性質(zhì) 1.非負(fù)性:ATBi(t)≥0,(i=0,1,2,3);
性質(zhì)3.擬對稱性:當(dāng)局部形狀參數(shù)αi=βi時(shí),滿足ATB3-i(t)=ATBi(π/2-t)(i=0,1);
性質(zhì)4.退化性:當(dāng)局部形狀參數(shù)αi=βi=0時(shí),簡化后可知,AT-B-Spline樣條基函數(shù)退化為文獻(xiàn)[17]所定義的三角多項(xiàng)式樣條。
性質(zhì)5.端點(diǎn)性質(zhì):由公式(1)推導(dǎo)可得:
因此,AT-B-Spline樣條基函數(shù)具有優(yōu)良的端點(diǎn)性質(zhì),這極大地方便了工程師對自由曲線曲面的設(shè)計(jì)。如第三部分中基于AT-B-Spline基函數(shù)所構(gòu)造的新的曲線,它同樣具有很多較好的曲線性質(zhì)。
定義2 若給定控制頂點(diǎn)
Pi∈?d(d=2,3;i=0,1,...,n)和節(jié)點(diǎn)向量
u1≤u2≤...≤un,稱
為帶形狀參數(shù)的代數(shù)三角融合樣條曲線段,簡稱AT-B-Spline樣條曲線段。其中ATBj(t)(j=0,1,2,3)為公式(1)定義的樣條基函數(shù)。
因此,可以定義多項(xiàng)式曲線:
其中Δui=ui+1-ui,i=3,4,...,n。即當(dāng)形狀參數(shù)取合適的數(shù)值時(shí),所有的曲線段可以組成一條的分段光滑曲線。另外,它是對三角樣條曲線一種含參擴(kuò)展,在λ∈[-10,1]取值范圍內(nèi),若取αi=βi=0,此時(shí)曲線C4(λ,αi,βi;u)就退化為文獻(xiàn)[17]三角樣條曲線。
(1)凸包性。根據(jù)AT-B-Spline樣條基函數(shù)的規(guī)范性、非負(fù)性,曲線上的任意一點(diǎn)均處在由其控制頂點(diǎn)所形成的凸包范圍內(nèi)。
(2)對稱性。當(dāng)給定全局形狀參數(shù)的取值范圍λ∈[-10,1],令兩個(gè)局部形狀參數(shù)相等αi=βi,若顛倒由控制頂點(diǎn)P0P1…Pn所生成新的曲線的形狀和原曲線的形狀是一致的,僅曲線方向相反。
(3)端點(diǎn)性質(zhì)。基于式(1)的端點(diǎn)性質(zhì),推導(dǎo)可得:
根據(jù)上述端點(diǎn)性質(zhì)可知,AT-B-Spline樣條曲線的首末端點(diǎn)與局部形狀參數(shù)αi,βi的選取無關(guān),僅與全局形狀參數(shù)λ的取值有關(guān),如圖2所示。從圖2(a)中可以直觀的看出:在保持全局形狀參數(shù)λ的取值不變,僅僅改變局部形狀參數(shù)αi,βi的大小的情形下,AT-B-Spline樣條曲線的形狀會隨之改變,但曲線的兩端點(diǎn)位置并不發(fā)生變化。
(4)逼近性。
由曲線的端點(diǎn)性質(zhì)和2f1(λ)+f2(λ)=1可得:
則有:
由公式(4)可知,AT-B-Spline樣條曲線隨λ取值的增大逐漸逼近其控制多邊形。再者,
圖2 不同形狀參數(shù)對AT-B-Spline曲線的調(diào)配
則有:
故由公式(5)可知,當(dāng)λ取值固定,隨著局部形狀參數(shù)αi,βi的逐漸增大,AT-B-Spline樣條曲線逐漸向控制多邊形的邊靠近。
圖3 不同形狀參數(shù)對AT-B-Spline曲線的影響
由曲線端點(diǎn)性質(zhì)和公式(4)、(5)可知,當(dāng)αi,βi固定,λ的取值增加大時(shí),曲線整體性的逐漸逼近其控制多邊形的邊,見圖2(a);當(dāng)λ固定,同時(shí)增大αi和βi,曲線在首末端點(diǎn)不變的情況下逐漸向多邊形的邊逼近,這說明同時(shí)改變局部參數(shù)的取值同樣可以達(dá)到整體修改曲線的效果,如圖2(b);當(dāng)λ,αi固定,βi逐漸增大時(shí),曲線從右側(cè)逐漸向控制頂點(diǎn)Pi+1和邊Pi+2Pi逼近,見圖2(c);當(dāng)λ,βi固定,αi逐漸增大時(shí),曲線從左側(cè)逐漸向控制頂點(diǎn)Pi和邊Pi+1Pi-1逼近,見圖2(d)。圖3給出了幾段曲線在滿足一定連續(xù)性且局部形狀參數(shù)αi,βi取不同值時(shí),組合而成的一個(gè)簡單造型。
(5)幾何不變性與仿射不變性。根據(jù)式(2)所定義的AT-B-Spline樣條曲線是參數(shù)化方程可知:當(dāng)給定形狀參數(shù)時(shí),AT-B-Spline曲線的形狀完全由其控制頂點(diǎn)決定,任意幾何或仿射變換都不會對曲線的形狀產(chǎn)生影響。
(6)局部形狀可調(diào)性。由于式(1)中含有兩類形狀參數(shù):全局參數(shù)λ、局部參數(shù)αi,βi。當(dāng)固定λ,選取不同的αi,βi值時(shí),可以調(diào)整AT-B-Spline曲線的局部性形狀,且保持曲線的控制頂點(diǎn)不變;當(dāng)固定αi,βi取值時(shí),隨著λ的改變,AT-B-Spline曲線的形狀則整體性被調(diào)整。
圖4給出了不同的形狀參數(shù)對AT-B-Spline曲線整體或局部的影響。圖4(a)與圖4(b)分別是不同的曲線段組合而成的兩個(gè)簡單花瓶造型。在固定λ取值時(shí),根據(jù)不同的局部形狀參數(shù)αi,βi可以修改不同曲線段的局部形狀,因此曲線具有局部可調(diào)性。
圖4 形狀參數(shù)對ATB-Spline曲線整體或局部的影響
定理1:當(dāng)形狀參數(shù)在不同范圍內(nèi)時(shí),帶形狀參數(shù)的AT-B-spline曲線具有以下性質(zhì):
(1)當(dāng)λ∈[-10,1],-2≤αi,βi≤1 時(shí),帶形狀參數(shù)的 AT-B-Spline 曲線C4(λ,αi,βi;u)滿足G1連續(xù);
(2)當(dāng)αi=βi+1=αi+1=βi時(shí),兩個(gè)相鄰的Ci,4(λ,αi,βi;t) 和Ci+1,4(λ,αi+1,βi+1;t) 的 ATBSpline曲線C4(λ,αi,βi;u)滿足C1∩G2連續(xù);
(3)當(dāng)λ≠1,αi=βi+1=αi+1=βi=0時(shí),兩個(gè)相鄰的Ci,4(λ,αi,βi;t)和Ci+1,4(λ,αi+1,βi+1;t)的AT-B-Spline 曲線C4(α,λi,μi;u)滿足Ck(k=0,1,2)連續(xù);
(4)當(dāng)λ=1,αi=βi+1=αi+1=βi=0時(shí),兩個(gè)相鄰的Ci,4(λ,αi,βi;t)和Ci+1,4(λ,αi+1,βi+1;t)的AT-B-Spline 曲線C4(α,λi,μi;u) 滿 足Ck(k=0,1,2,3)連續(xù)。
證明:
(1)當(dāng)λ∈[-10,1],-2≤αi,βi≤1時(shí),由曲線的端點(diǎn)性質(zhì)可知:
其 中εi=[f3(λ)+αi+1/3π]/[f3(λ)+βi/3π],特別地,當(dāng)αi+1=βi時(shí),可得εi=1,即 ATB-Spline曲線C4(α,λi,μi;u)滿足C1連續(xù);
(2)當(dāng)αi=βi+1=αi+1=βi時(shí) ,這時(shí)可以令αi=βi+1=αi+1=βi=ξ,則由兩個(gè)相鄰的Ci,4(λ,αi,βi;t)和Ci+1,4(λ,αi+1,βi+1;t)曲線端點(diǎn)二階導(dǎo)數(shù)的性質(zhì)和f2(λ)=2f3(λ)知:
通過計(jì)算和推導(dǎo)可以得到:
其中εi=1,η=-2ξ/[π2f3(λ)+πξ]。即帶形狀參數(shù)的 AT-B-Spline 曲線C4(λ,αi,βi;u)在C1∩G2是連續(xù)的。
(3)當(dāng)αi=βi+1=αi+1=βi=0時(shí),簡單計(jì)算可得εi=1,η=0,根據(jù)式(6)及式(7)有:
即 ATB-Spline 曲線C4(α,λi,μi;u)滿足Ck(k=0,1,2,3)連續(xù)。
圖5(a)與圖5(b)給出了兩種均滿足C1∩G2連續(xù)的曲線構(gòu)造。圖5表明在全局參數(shù)固定的情況下,若給定幾段曲線的局部形狀參數(shù)取值一致,則整條拼接曲線可以達(dá)到C1∩G2連續(xù)。圖6(a)(b)與圖6(c)(d)則給出了兩種滿足C1∩G2連續(xù)的ATB-Spline曲線的旋轉(zhuǎn)曲面,圖6表明在全局形狀參數(shù)λ固定時(shí),只要保持曲線段的局部形狀參數(shù)相等,即使修改αi,βi的取值,修改后的曲線也能達(dá)到C1∩G2連續(xù),而且在圖6中,當(dāng)局部形狀參數(shù)αi,βi的取值增大時(shí),旋轉(zhuǎn)曲面總體較為光滑,逼近效果良好。
圖5 帶兩類形狀參數(shù)AT-B-Spline曲線的構(gòu)造
圖6 兩種造型的旋轉(zhuǎn)曲面(彩繪)的構(gòu)造
本文構(gòu)造的AT-B-Spline曲線在給定特定的形狀參數(shù)、控制頂點(diǎn)時(shí),可以精確地表示三種圓錐曲線,包括橢圓或者圓的部分弧線、拋物線及雙曲線。三種實(shí)例分別如下。
首先,將四個(gè)控制頂點(diǎn)特定為Pi-1(-a,-b),Pi(-a,b),Pi+1(a,b)和Pi+2(a,-b),當(dāng)λ=0,αi=βi=0時(shí),由定義2作出的曲線可以精確的表示橢圓的部分弧線。鑒于公式(2),通過運(yùn)算可得:
上述表達(dá)式即為橢圓的參數(shù)方程。
在圖7中,橢圓的長短軸分別取b=4、a=2。圖7(a)右側(cè)紅色實(shí)線為繪出部分橢圓曲線,再根據(jù)橢圓的對稱性,將所得曲線分別關(guān)于x,y軸對稱,得到整個(gè)橢圓,見圖7(b)。且當(dāng)取a=b時(shí),曲線可以精確地表示圓。
圖7 橢圓的精確表示
圖8 拋物線(雙曲線)的精確表示
其次,當(dāng)λ=0,αi=βi=0時(shí),分別給定四個(gè)控制頂點(diǎn)為 :Pi-1(-a,b),Pi(0,-b),Pi+1(a,b) 和Pi+2(0,-b)或Pi-1(-a,b),Pi(0,0),Pi+1(-a,-b)和Pi+2(0,0),AT-B-Spline曲線可以精確的表示拋物線的部分弧線與雙曲線的部分弧線,推導(dǎo)后的參數(shù)方程見公式(9)與公式(10),作出的弧線如圖8(a)(b)所示。通過計(jì)算可得:
本文首先構(gòu)造了一種帶兩類形狀參數(shù)的ATB-Spline基函數(shù),分析了基函數(shù)的圖形及性質(zhì)。基于AT-B-Spline基函數(shù),建立了一種帶有局部形狀參數(shù)的新的曲線,并且對新的曲線的性質(zhì)進(jìn)行了論證。其次,給出并證明了這種AT-B-Spline曲線所滿足的幾何或參數(shù)連續(xù)性:在特殊參數(shù)取值下,ATB-Spline曲線可以達(dá)到C1∩G2連續(xù)性。歸因于AT-B-Spline曲線具有的全局和局部兩類形狀參數(shù),實(shí)際設(shè)計(jì)自由曲線曲面時(shí),既可以大幅度的變動(dòng)曲線的位置,也可以微調(diào)曲線的形狀。此外,本文還給出了一些AT-B-Spline曲線應(yīng)用的數(shù)值實(shí)例。其一是兩種滿足C1∩G2連續(xù)的旋轉(zhuǎn)面造型,實(shí)例表明:不同的形狀參數(shù)取值確實(shí)可以調(diào)整旋轉(zhuǎn)面造型;其二,在給定特定的形狀參數(shù)取值和控制頂點(diǎn)時(shí),AT-B-Spline曲線可以精確地表示三種圓錐曲線(橢圓或圓的某一弧段、拋物線及雙曲線),這更進(jìn)一步驗(yàn)證了此方法的實(shí)用性。最后,希望本文能夠?yàn)楣こ淘O(shè)計(jì)帶來一定的方便。