姚 興,杭后俊,李晴晴,尹天樂
(安徽師范大學 數學計算機科學學院,安徽 蕪湖 241000)
B樣條方法不僅保留了Bezier方法的優良性質,而且克服了Bezier方法在形狀調節時不具有局部性的缺陷,在參數連續性的基礎上完美解決了在描述復雜形狀時遇到的連接問題,并將Bezier方法作為其一個特例。此外,B樣條方法還提供了一系列配套技術,展示了其在表示和設計自由曲線曲面時的強大能力[1-4]。雖然NURBS方法提供了用權因子來調節曲線曲面的形狀[5-6],但權因子難以駕馭的特點使得一般用戶望而興嘆。而實際上,(非有理)B樣條方法對于自由曲線曲面形狀的表示、設計已經足夠,只有在遇到二次圓錐曲線曲面等特殊情況時才考慮使用NURBS方法[7]。但同時也看到,B樣條方法也存在自身的缺陷,如只能通過移動控制點來調節曲線曲面形狀[8-9],調節手段過于單一,等等。而由于形狀參數的調整更為直觀和靈活,因而成為工程應用中用來調節曲線曲面形狀的實用方法。因此,國內外學者普遍采用在B樣條基函數中引入形狀參數的方法[10-15],但擴展對象主要針對B樣條曲線,對將形狀參數引入B樣條曲面的表示以及對B樣條曲面的調節作用討論較少。
文中首先引入帶形狀參數的類三次均勻B樣條基函數,分析了其基本性質以及形狀參數的幾何意義;其次基于該組基函數定義了帶形狀參數的均勻B樣條曲線,闡述了形狀參數對均勻B樣條曲線的調節功能;最后將形狀參數引入到均勻B樣條曲面中,詳細討論了帶形狀參數的均勻B樣條曲面的基本性質以及形狀參數對曲面的影響,并給出了具體實例。
稱下列分段三次函數為類三次均勻B樣條基函數:
Ni,2(u,α)=
(1)
其中,α(-1≤α≤1)為形狀參數;n(i=0,1,…,n)為控制頂點下標上限。
不難看出,類二次均勻B樣條基函數具有如下基本性質:
(2)局部支撐性:當-1≤α≤1,i≤u≤i+3時,Ni,2(u,α)≥0。
(3)Ni,2(u,α)=Ni-j,2(u-j,α),j=0,1,…,i。即類三次均勻B樣條在定義域內的各個節點區間上都具有相同的形狀,且任一節點區間上的類三次均勻B樣條都可以由另一節點區間上的類二次均勻B樣條經過平移得到,如圖1所示。其中α取0.25和-0.25

圖1 類三次均勻B樣條的平移特性
分別對應實線和虛線。
(4)當α=0時,即退化為二次均勻B樣條。
Ni,2(u)=
(2)
形狀參數α對樣條形狀的影響如圖2所示。其中α取0,0.5和-0.5分別對應實曲線、長虛線和點畫線。可以看到,當α越小,樣條形狀越向左偏,當α越大,樣條形狀越向右偏。

圖2 α對樣條形狀的影響
稱曲線Ci(u,α)為類三次均勻B樣條曲線。

3,…,n
(3)
其中,di(i=0,1,…,n)為控制點;-1≤α≤1為形狀參數。
而實際上,只需作參數變換t=u-i,Ni-2,2(u,α),Ni-1,2(u,α),Ni,2(u,α)就可以改寫成如下用局部參數的表示形式:
(4)
上述B樣條曲線的方程可以表示成如下形式:
Ci(t,α)=di-2B0,2(t,α)+di-1,2B1,2(t,α)+
t∈[0,1];i=2,3,…,n
(5)
類三次均勻B樣條曲線具有如下性質:



圖3表示參數α對曲線Ci(u,α)的影響。

圖3 參數α對曲線形狀的影響

i=2,3,4
(6)
其中,α取0,0.35和-0.35分別對應實線、長虛線和短虛線。
不難發現,在每一節點區間上,當λ越小,曲線越被拉向控制二邊形的第一條邊;當λ越大,曲線越被拉向控制二邊形的最后一條邊。
圖4為用形狀參數表示的均勻B樣條曲線形成的一組封閉圖形。

圖4 類二次均勻B樣條曲線形成的封閉圖形
稱如下分片表示的曲面為類3×3次均勻B樣條曲面。

u∈[k,k+1],k=2,3,…,m,
v∈[l,l+1],l=2,3,…,n
(7)
其中,dij(i=0,1,…,m;j=0,1,…,n)為控制點;-1≤α,β≤1為形狀參數。
同樣,采用局部參數t,s可以表示為如下形式:

l=2,3,…,n
(8)
其中
(9)
(10)
分別取t=0,s=0;t=0,s=1;t=1,s=0;t=1;s=1時,可得曲面片Ckl(t,s,α,β)四個角點的位置。

(11)

α)(2+β)dk-1,l-1+(2-α)(2-
β)dk-1,l]
(12)

(13)

α)(2+β)dk,l-1+(2-α)(2-
β)dk,l]
(14)
可以將角點Ckl(0,0,α,β)寫成如下形式:
(15)
其余角點類似。圖5為曲面片角點的形成過程。

圖5 曲面片角點的位置
特別地,分別取k=2,l=2;k=2,l=n;k=m,l=2;k=m,l=n,可得曲面四個角點的位置。

β)d10+(2-α)(2-β)d11]
(16)

β)d1,n-1+(2-α)(2-β)d1,n]
(17)

(18)

(2+α)(2-β)dm-1,n+(2-
α)(2+β)dm,n-1+(2-α)(2-
β)dm,n]
(19)
(20)
其中t,s∈[0,1],k=2,3,…,m,l=2,3,…,n
可以求出

(21)

(22)
(23)
同理
(24)
上述結果說明,類3×3次均勻B樣條曲面沿等參數曲線跨界G1的。
圖6表示參數α,β對曲面形狀的影響。左圖是α=0.5,β=-0.5時的曲面,右圖是α=-0.5,β=0時的曲面。可以看出,在不改變控制點的情況下,通過改變參數α,β的值可達到對曲面形狀的調節作用。

圖6 參數α,β對曲面形狀的影響
通過定義帶形狀參數的類三次均勻B樣條基函數,進而定義類三次均勻B樣條曲線與3×3次均勻B樣條曲面,不僅保留均勻B樣條曲線曲面的原有特點,而且為形狀調節增加了額外的手段。由于形狀參數的直觀易操作,已成為工程應用中設計人員用來調節曲線曲面形狀的實用方法。事實上,對于準均勻B樣條曲線曲面以及工程中應用更為廣泛的兩端固支的B樣條曲線曲面,也可以尋求相似的擴展方法,使其更加適合工程應用。而更為重要的是,文中方法對于研究非均勻B樣條曲線曲面的擴展具有一定的借鑒作用,這將是下一步的主要研究工作。
[1] FARIN G.Curves and surfaces for CAGD[M].5th ed.[s.l.]:Academic Press,2002.
[2] 施法中.計算機輔助幾何設計與非均勻有理B樣條[M].修訂版.北京:高等教育出版社,2013.
[3] 李林峰,馬 蕾.三次均勻B樣條在工業機器人軌跡規劃中的應用研究[J].科學技術與工程,2013,13(13):3621-3625.
[4] AGOSTON M K. Computer graphics and geometric modeling[M].[s.l.]:Springer,2005.
[5] PIEG L.Modifying of the shape of rational B_spline[J].Computer Aided Design,1989,21(8):509-518.
[6] 張國華,楊興強,張彩明.基于權因子的NURBS曲線形狀調整[J].計算機輔助設計與圖形學學報,2004,16(10):1396-1400.
[7] 董 楓.船體曲面特征參數化設計技術研究[D].武漢:武漢理工大學,2012.
[8] 張太發,秦新強,程東旭,等.NURBS曲面形狀修改的一種改進算法[J].計算機輔助工程,2005,14(4):58-61.
[9] HAN Xuli.Cubic trigonometric polynomial curves with a shape parameter[J].Computer Aided Geometric Design,2004,21(6):535-548.
[10] 陶淑一,吳慶標.基于約束優化的B樣條曲線形狀修改[J].計算機工程與應用,2006,42(18):37-39.
[11] 謝 進,洪素珍.帶形狀參數的二次B樣條曲線[J].計算機輔助工程,2006,15(2):15-19.
[12] 陶淑一.二次均勻B樣條曲線的擴展[J].計算機輔助工程,2008,17(2):54-56.
[13] CAO Juan,WANG Guozhao.Non-uniform B-spline curves with multiple shape parameters[J].Journal of Zhejiang University SCIENCE C:Computer & Electronics,2011,12(10):800-808.
[14] 張 成,熊 建.帶雙參數的三次均勻B樣條曲線[J].吉林師范大學學報:自然科學版,2015,36(2):69-72.
[15] 方 玲,王旭輝.帶形狀參數的二次非均勻雙曲B樣條曲線[J].合肥工業大學學報:自然科學版,2016,39(8):1148-1152.