鄭興國, 朱婉捷, 夏成林 彭凱軍
(1.合肥工業(yè)大學(xué)數(shù)學(xué)學(xué)院,合肥 230009;2.廈門大學(xué)數(shù)學(xué)科學(xué)學(xué)院,廈門 361005)
帶形狀參數(shù)控制的三次B樣條曲線曲面的光順
鄭興國1, 朱婉捷2, 夏成林1彭凱軍1
(1.合肥工業(yè)大學(xué)數(shù)學(xué)學(xué)院,合肥 230009;2.廈門大學(xué)數(shù)學(xué)科學(xué)學(xué)院,廈門 361005)
三次B樣條曲線是一種廣泛應(yīng)用于計(jì)算機(jī)輔助幾何設(shè)計(jì)中的非常重要的曲線.本文在以曲線的最小應(yīng)變能作為衡量曲線光順性的基礎(chǔ)上,采用帶調(diào)節(jié)控制參數(shù)的方法分別對(duì)三次B樣條曲線和雙三次B樣條曲面進(jìn)行了光順處理.由所提供的方法以及實(shí)例可以看出,本方法可在曲線曲面光順的基礎(chǔ)上通過修改參數(shù)大小以達(dá)到控制曲線曲面形狀的目的,且修改后的點(diǎn)的位置與原壞點(diǎn)的距離是由參數(shù)的大小控制決定的,這樣就使得我們的光順處理可以控制在數(shù)據(jù)測量的誤差范圍內(nèi).
B樣條曲線;B樣條曲面;應(yīng)變能;光順
首先介紹一下關(guān)于曲線是否光順的標(biāo)準(zhǔn)[3]:衡量曲線光順有好幾種標(biāo)準(zhǔn),通常是建立一個(gè)最優(yōu)函數(shù)來衡量.人們經(jīng)常用曲線的二階導(dǎo)數(shù)的平方為基礎(chǔ)來建立函數(shù).過去也曾用曲線的曲率或高階導(dǎo)數(shù)來作為基礎(chǔ)建立函數(shù).實(shí)際應(yīng)用中,人們普遍接受和應(yīng)用的標(biāo)準(zhǔn)是最小應(yīng)變能,建立的函數(shù)是
其中κ是曲率,s為弧長參數(shù),l為曲線長度.但這樣的表達(dá)式比較復(fù)雜,因此計(jì)算起來非常費(fèi)時(shí),實(shí)際應(yīng)用中一般用近似的能量函數(shù)來代替.
2.1 曲線光順方法.
設(shè)p(t)是插值于型值點(diǎn)列pi(i=0,1,…,n)的三次均勻B樣條曲線,與pi對(duì)應(yīng)的參數(shù)為i,其控制點(diǎn)列為Vj(j=0,1,…,n+2),并設(shè)pj是壞點(diǎn).
Vj-2,Vj-1,Vj,Vj+1,Vj+2為插值于pj-1,pj,pj+1并滿足端點(diǎn)切失條件p′j-1,p′j+1的三次B樣條曲線p(t)的控制點(diǎn)列,則有
壞點(diǎn)pj移動(dòng)到新的位置pjg時(shí),記pjg=(p0,…,pj-1,pjg,pj+1,…,pn),類似地,記pjg(t)是插值于型值點(diǎn)列pjg的三次均勻B樣條曲線.
一個(gè)函數(shù)f的近似能量定義為
2.2 數(shù)值例子
考察在只有一個(gè)孤立壞點(diǎn)的情況下的光順結(jié)果:
圖1 B樣條曲線的光順
如圖1所示,實(shí)線、點(diǎn)線、點(diǎn)虛和虛線分別表示原曲線以及σj=10,100,1000時(shí)利用定理2.1進(jìn)行光順后所得到的曲線.可以看出,隨著參數(shù)σj取值的不同,光順后所得到的曲線及其光順程度(應(yīng)變能變?。┮彩遣煌?當(dāng)σj=10時(shí),光順效果最好,但此時(shí)壞點(diǎn)的新位置與原壞點(diǎn)的距離相對(duì)較大,也即新位置與原壞點(diǎn)偏差較大.σj=1000時(shí),光順效果較差,但距離相對(duì)較小,也即新位置與原壞點(diǎn)偏差較小.σj=100時(shí)光順效果和距離介于兩者之間.另外,公式(1.1)還可以重復(fù)迭代使用,只不過此時(shí)參數(shù)σj對(duì)原壞點(diǎn)與其新的位置的距離控制已變得比較復(fù)雜,所以在迭代過程中,要隨時(shí)注意距離誤差,以免超出限定誤差范圍.顯然,我們可以利用參數(shù)的取值大小進(jìn)行在誤差范圍內(nèi)的曲線的形狀控制.誤差公式可由定理1.1推出
此方法也可很容易推廣到三次非均勻B樣條曲線上.
3.1 曲面光順原理[4-6].
與曲線光順方法相似,我們希望通過調(diào)整壞點(diǎn)處的位置以求提高曲面的光順性.但對(duì)曲面上的點(diǎn)進(jìn)行光順,不能僅修改曲面上的等參曲線和單根控制網(wǎng)格線.采用如下方法對(duì)雙三次B樣條曲面進(jìn)行光順[4]:
對(duì)給定的雙三次B樣條曲面
如果過型值點(diǎn)pkl的u,v方向的兩條截面曲線都較為光順(即應(yīng)變能量較小),則曲面在點(diǎn)pkl處較為光順.
3.2 曲面光順方法.
設(shè)S(u,v)是插值于型值點(diǎn)陣pij(i=0,1,…,n;j=0,1,…,m)的均勻雙三次B樣條曲面,即S(i,j)=p.控制點(diǎn)陣為V(i=0,1,…,n+1,n+2;j=0,1,…,m+1,m+2),u,v方向的參數(shù)節(jié)點(diǎn)矢量為
并設(shè)已得到壞點(diǎn)為pkl(0≤k≤n,2≤l≤m-2).
此時(shí),與壞點(diǎn)及u,v方向有關(guān)的兩條截面曲線的型值點(diǎn)分別為pkj(j=0,1,…,m)和pil(i=0,1,…,n).類似于定理4.1對(duì)這兩條曲線同時(shí)進(jìn)行光順處理,使得這兩條曲線的能量和減小,得到新的數(shù)據(jù)點(diǎn),用它代替壞點(diǎn)重新差值即可得到光順后的曲面.我們有如下定理:
定理3.1要使三次B樣條曲面S(u,v)在點(diǎn)pkl處的能量遞減,只需按照如下公式
其中σkl為控制參數(shù),
Mu中型值點(diǎn)的導(dǎo)數(shù)為u向偏導(dǎo)數(shù),Mv中型值點(diǎn)的導(dǎo)數(shù)為v向偏導(dǎo)數(shù).
移動(dòng)壞點(diǎn)pkl到新的位置.
3.3 雙三次B樣條曲面光順的數(shù)值例子.
圖2(a)所示為一張?jiān)?,它?1×11個(gè)型值點(diǎn)差值而成,包含一個(gè)壞點(diǎn).(b),(c)分別為當(dāng)參數(shù)等于100和0時(shí)所得到的光順曲面.而(d)則為在(c)的基礎(chǔ)上再迭代一次所得結(jié)果,(e)為在(d)的基礎(chǔ)上再迭代七次所得結(jié)果.從圖中可以看出,當(dāng)參數(shù)等于100時(shí),光順效果較差,但此時(shí)原壞點(diǎn)與其新位置的距離也較小,也即新位置與原壞點(diǎn)偏差較小.而當(dāng)參數(shù)等于0時(shí),光順效果較好,但相應(yīng)地,偏差較大.另外,本方法也可迭代使用,在本例中迭代過程是收斂的,當(dāng)參數(shù)取0且在第九次迭代之后圖形已經(jīng)穩(wěn)定如(e)圖.
圖2 雙三次B樣條曲面的光順
通常我們用曲率圖來判斷應(yīng)該移動(dòng)哪個(gè)點(diǎn):曲率圖是曲率關(guān)于弧長或定義曲線的參數(shù)的圖形,曲率圖對(duì)曲線的形狀非常敏感.如果一個(gè)曲線有一個(gè)良好的曲率圖,那么我們認(rèn)為這個(gè)曲線也就比較光順.所以,曲率圖被經(jīng)常用來判斷一個(gè)曲線的光順程度[7,8,9].
[1]Kjellander J A P.Smoothing of cubic parametric spline[J].CAD,1983,15(3):175-179.
[2]Kjellander J A P.Smoothing of cubic parametric surface[J].CAD,1983,15(5):288-293.
[3]施法中.計(jì)算機(jī)輔助幾何設(shè)計(jì)與非均勻有理B樣條[M]北京:高等教育出版社,2001:96-106.
[4]Zhang Caiming,Zhang Pifu,Cheng Fuhua(Frank).Fairing spline curves and surfaces by minimizing energy[J].Computer Aided Design,2001,33(13):913-923.
[5]龍小平.局部能量最優(yōu)法與曲線曲面的光順[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2002,14(12):1109-1113.
[6]Farin G.Curves and surfaces for computer aided geometric design—apractical guide[M].3rd ed.New York:Academic Press,1993.
[7]Hoschek J.Smoothing of curves and surfaces[J].Comput.Aided Geom.Des.1985,2(1):97-105.
[8]Renz W.Interactive smoothing of digitized point data,Comput.Aided Des,1982,14(5):267-269.
[9]Sapidis N,F(xiàn)arin G.Automatic fairing algorithm for B-spline curves[J].Comput.Aided Des.1990,22(2):121-129.
The Fairing of Cubic B-Spline Curves
ZHENGXing-guo1,ZHUWan-jie2XIACheng-lin1,PENGKai-jun1
(1.School of Mathematics,Hefei University of Technology,Hefei 230009,China;2.School of Mathematical Science,Xiamen University,Xiamen 3610054,China)
Cubic B-Spline curves are very important curves in the field of Computer Aided Geometric Design,which are widely used in practical applications.In this paper,which is based on the least bending energy for estimating the fairing of curves,the fairing of cubic B-Spline curves and bicubic B-Spline surfaces are discussed by the methods with control parameter.Through the methods and the examples in this paper,we can get the aim which is controlling the shapes of the curves and surfaces by modifying the value of parameter based on the fairing of curves and surfaces.What’s more,the distance between the position of the modified data points and it’s original position can be controlled by the parameter,so we can make the fairing in the control of the extent of the error in the surveying datas.
B-Spline curves;B-Spline surfaces;strain energy;fairing
O241.5
A
1672-1454(2012)04-0087-05
2010-01-08;[修改日期]2010-06-02
合肥工業(yè)大學(xué)科學(xué)研究發(fā)展基金(071004F);中央高?;究蒲袠I(yè)務(wù)費(fèi)專項(xiàng)資金(2012HGXJ0039)