馬淑娟, 唐 爍
(合肥工業(yè)大學(xué) 數(shù)學(xué)學(xué)院,安徽 合肥 230009)
?
基于三次有理PH曲線的G2Hermite插值
馬淑娟,唐爍
(合肥工業(yè)大學(xué) 數(shù)學(xué)學(xué)院,安徽 合肥230009)
文章在滿足G1Hermite插值條件的三次有理PH曲線的基礎(chǔ)上,通過簡單的方法構(gòu)造了一個(gè)滿足G2Hermite插值條件的三次有理Bézier曲線。該方法只需根據(jù)始末端點(diǎn)的曲率來確定曲線的權(quán)重進(jìn)而得到插值曲線,具有很好的幾何意義,數(shù)值實(shí)例表明了該算法的有效性。
有理PH曲線;Bézier曲線;G1Hermite插值;G2Hermite插值
已知端點(diǎn)數(shù)據(jù)的Hermite插值是計(jì)算機(jī)輔助幾何設(shè)計(jì)(computeraidedgemetricdesign,CAGD)中一種常用的構(gòu)造曲線的方法。又因?yàn)橛欣鞡ézier曲線是系統(tǒng)中常用的一種模型,所以近年來,關(guān)于有理Bézier曲線的Hermite插值問題得到了研究[1-3]。
關(guān)于G2Hermite插值,文獻(xiàn)[4]提出了二階幾何平面三次Bézier曲線插值,通過求解二元二次方程組得到滿足插值條件的曲線表達(dá)式;文獻(xiàn)[5]拓展該方法提出了三次有理Bézier曲線,但該方法并未降低解的存在條件;文獻(xiàn)[6]通過增加自由度使曲線滿足G2插值條件;文獻(xiàn)[2]在三次有理Bézier曲線滿足G1Hermite插值條件的基礎(chǔ)上,增加2個(gè)自由度使其滿足G2Hermite插值條件,但是其端點(diǎn)處切向量與X軸夾角和不能超過2π/3,且解的存在性條件比較高;文獻(xiàn)[7]在G1Hermite插值基礎(chǔ)上,拓展成4個(gè)自由度,解的存在性條件依然比較高;文獻(xiàn)[8]提供了一種用2條二次有理曲線升階的方法來構(gòu)造滿足G2Hermite插值條件的三次有理Bézier曲線,這種方法具有很好的幾何性質(zhì),但是因?yàn)橐虢稽c(diǎn)b,限制了該曲線只能是C型,即曲線的控制多邊形只能是凸四邊形, 所以該方法不適用于構(gòu)造S型曲線。
文獻(xiàn)[9]提出了有理PH曲線,并給出了該類曲線的統(tǒng)一表達(dá)式。有拐點(diǎn)的PH曲線次數(shù)至少為5。本文在文獻(xiàn)[3]的基礎(chǔ)上,利用PH曲線的復(fù)數(shù)表示給出滿足G1Hermite插值條件的三次有理PH曲線,并根據(jù)曲線始末端點(diǎn)的已知曲率來調(diào)節(jié)曲線權(quán)重,從而得到滿足G2Hermite條件的插值曲線,得到的插值曲線與三次有理PH曲線有相同的控制頂點(diǎn),進(jìn)而有相同的控制多邊形。該方法有很好的幾何性質(zhì),可廣泛應(yīng)用于計(jì)算機(jī)數(shù)值控制與加工、離散插值計(jì)算、運(yùn)動(dòng)路徑控制等技術(shù)中。
1.1三次有理PH曲線的G1Hermite插值
定義1平面上的有理參數(shù)曲線c(t)=(x(t),y(t))稱為有理PH曲線,是指存在有理函數(shù)R(t),使得[3]:
類似于多項(xiàng)式PH曲線,有理PH曲線也具有一些很好的性質(zhì),例如:有理PH曲線的等距曲線是有理曲線;有理PH曲線在正交和平移變換、等比例縮放以及分式線性參數(shù)變化下仍為有理PH曲線[10]。
定理1設(shè)
記(b0,T0;b3,T1)為G1Hermite插值條件,其中,b0、b3為始末端點(diǎn)坐標(biāo),T0、T1為相應(yīng)的單位切向量,因?yàn)橛欣鞵H曲線在正交變換、平移變換及等比例縮放下仍為有理PH曲線,且分式線性參數(shù)變換不改變有理PH曲線的性質(zhì),所以可以假定w0=w3=1,此時(shí),三次有理PH曲線可以寫成如下形式:
其中,t∈(0,1),由定理1存在復(fù)系數(shù)多項(xiàng)式z(t)=z0(1-t)2+2z1(1-t)t+z2t2,滿足:
(1)
其中,z0=r0eiα;z1=r1eiθ;z2=r2eiβ,rj>0;α,β∈(-π/2,π/2);θ∈(-π,π)。
則由G1Hermite插值條件知2α、2β分別是已知兩端點(diǎn)切方向的輻角,即arg(T0)=2α,arg(T1)=2β。
1.2三次有理Bézier曲線表達(dá)式
根據(jù)文獻(xiàn)[12],三次有理Bézier曲線可寫成如下形式:
若三次有理Bézier曲線控制多邊形如圖1a所示,則曲線為C型;若控制多邊形如圖1b所示,則曲線為S型。其中bi(i=0,1,2,3)為曲線控制頂點(diǎn),曲率公式為:
(2)
始末端點(diǎn)的曲率只需分別令t=0,t=1,帶入(2)式可得:
(3)
圖1 曲線控制多邊形
構(gòu)造G2Hermite插值曲線,實(shí)際上是尋找一個(gè)參數(shù)曲線,該曲線在滿足G1Hermite插值條件下,曲線始末2個(gè)端點(diǎn)還要滿足相應(yīng)的曲率。
假設(shè)三次有理Bézier曲線g(t)的G2Hermite插值條件為(b0,T0,k0;b3,T1,k1),其中k0、k1為始末端點(diǎn)的曲率。由上述提到的三次有理Bézier曲線的表達(dá)式可知,只需確定曲線控制頂點(diǎn)及權(quán)重便可確定曲線,因此令滿足G2Hermite插值的三次有理Bézier曲線g(t)與滿足G1Hermite插值的三次有理PH曲線有相同的控制頂點(diǎn),進(jìn)而會(huì)有相同的控制多邊形。然后通過類似的方法[3],計(jì)算出權(quán)重w1、w2的值,使得三次有理Bézier曲線g(t)滿足G2Hermite插值。
下面首先給出一種構(gòu)造滿足G1Hermite插值的三次有理PH曲線的方法。通過比較(1)式的系數(shù),并由解的對(duì)稱性可得:
(4)
綜合以上3個(gè)方面可以得到如下的分類:
(1) 當(dāng)z0z2=1時(shí),有r0r2=1且α+β=0,此時(shí),r0=r2=1,r1=|cosα|,θ=0,可以驗(yàn)證插值曲線表示一段圓弧。
(3) 當(dāng)z0z2≠1時(shí),若r0r2≠0且α+β≠0,有如下情況:
當(dāng)tanαtanβ≤0,且α+β<0,有
當(dāng)tanαtanβ≤0,且α+β>0,有
C型三次有理PH曲線得以確定。
S型三次有理PH曲線得以確定。
其中,A=cos(α-β)+cos(α+β);
C=cos(α-β)-cos(α+β)。
根據(jù)不同的已知條件,滿足相應(yīng)的關(guān)系可以得到θ的值,由α、β、θ的值可以算得r0、r1、r2的值,即
其中
由z0=r0eiα,z1=r1eiθ,z2=r2eiβ可以獲得曲線的控制頂點(diǎn),因此滿足G1Hermite插值條件的曲線控制多邊形及表達(dá)式也隨之確定了。
以下討論在已知始末端點(diǎn)曲率的基礎(chǔ)上確定滿足G2Hermite插值條件的曲線權(quán)重。為了方便選擇與G1Hermite相同的坐標(biāo)系,(3)式可以寫成如下形式:
(5)
其中
根據(jù)插值條件可知k(0)、k(1)為已知,C0、C1可由上述滿足G1Hermite插值的三次有理PH曲線得到,而w1′、w2′的計(jì)算公式為:
(5)
但是w1、w2的符號(hào)與曲線的類型有關(guān)系,若曲線為C型,則w1、w2同號(hào);若曲線為S型,則w1、w2異號(hào)。因此有定理2。
定理2給定G2Hermite條件(b1,T0,k0;b3,T1,k1),β∈(-π/2,π/2),α∈(0,π/2,),若α、β滿足:
或滿足:
則存在唯一的三次有理Bézier曲線:
滿足G2Hermite條件,其控制多邊形與三次有理PH曲線相同。
下面給出三次有理Bézier曲線的G2Hermite插值算法。
輸入:G2Hermite插值條件(b1,T0,k0;b3,T1,k1)。
輸出:滿足插值條件的三次有理Bézier曲線。
算法步驟如下:
(3) 若α、β滿足α+β=0轉(zhuǎn)步驟(4),否則轉(zhuǎn)步驟(5)。
(5) 若tanαtanβ≤0且α+β<0,則有:
否則轉(zhuǎn)步驟(6)。
(6) 若tanαtanβ≤0且α+β>0,則有:
否則轉(zhuǎn)步驟(7)。
否則轉(zhuǎn)步驟(14)。
(8) 將α、β、θ的值帶入下式:
其中
(9) z0=r0eiα,z1=r1eiθ,z2=r2eiβ。
(12) 確定曲線權(quán)重為:
(13) 獲得G2Hermite插值曲線。
(14) 原插值條件無解。
例1G2Hermite插值條件為:
b0=(-15.39,42.29),b3=(28.19,10.26),
該條件中α、β大小相同,因此滿足G1Hermite插值條件的三次有理PH曲線有2個(gè)解,一個(gè)解是圓弧,如圖2所示,另一個(gè)退化為多項(xiàng)式曲線,如圖3所示。
圖2 PH曲線為圓弧
圖3 PH曲線為多項(xiàng)式
圖中實(shí)線表示滿足G1Hermite插值條件的三次有理PH曲線,虛線表示滿足G2Hermite插值條件的三次有理Bézier曲線。
利用解的控制頂點(diǎn),再由已知曲率值k0=0.5,k1=0.4便可得到滿足G2Hermite插值條件的三次有理Bézier曲線的權(quán)重,此時(shí)即可得到滿足插值條件的曲線表達(dá)式。
例2G2Hermite插值條件為:
b0=(-5.81,15.97),b3=(22.98,19.28),
根據(jù)已知條件可知α、β滿足tanαtanβ≤0,α+β<0,因此已知條件的插值曲線有解,代入數(shù)據(jù)可得到一條C型三次有理Bézier曲線如圖4所示。當(dāng)k0=1,k1=0.2時(shí)本文方法與文獻(xiàn)[8]提出的方法得到的曲線做曲率對(duì)比如圖5所示。通過對(duì)比可以看出,用本文方法比用文獻(xiàn)[8]方法所得曲線的曲率變化明顯平緩很多。
圖4 α+β<0時(shí),PH曲線為有理C型曲線
圖5 k0=1,k1=0.2時(shí)曲率對(duì)比
例3G2Hermite插值條件為:
b0=(-8.5,14.72),b3=(24.57,17.21),
根據(jù)已知條件可知α、β滿足tanαtanβ≤0,α+β>0,因此已知條件的插值曲線有解,代入已知數(shù)據(jù)可得到一條C型三次有理Bézier曲線如圖6所示。當(dāng)k0=0.3,k1=0.2時(shí)本文方法與文獻(xiàn)[8]提出的方法得到的曲線做曲率對(duì)比如圖7所示。通過對(duì)比可以看出,用本文方法比用文獻(xiàn)[8]方法所得曲線的曲率變化明顯平緩很多。
圖6 α+β>0時(shí),PH曲線為有理C型曲線
圖7 k0=0.3,k1=0.2時(shí)曲率對(duì)比
例4G2Hermite插值條件為:
b0=(-17.37,36.03),b3=(26.53,27.21),
k0=0.005,k1=0.01。
由已知條件端點(diǎn)曲率k0、k1的值可知,欲求的插值曲線應(yīng)為一條S型曲線,又因?yàn)棣?、β的值滿足上述所提到的S型曲線有解條件,故滿足此已知條件的三次有理Bézier曲線如圖8所示。
圖8 PH曲線為有理S型曲線
在滿足G1Hermite插值條件的三次PH曲線基礎(chǔ)上,本文構(gòu)造了一個(gè)滿足G2Hermite插值條件三次有理Bézier曲線的簡單方法。在討論過程中可知,該方法可以將三次多項(xiàng)式PH曲線轉(zhuǎn)化成三次有理Bézier曲線,但此時(shí)的Bézier曲線只能為C型。因?yàn)锽ézier曲線的控制頂點(diǎn)與PH曲線控制頂點(diǎn)一樣,所以它們的控制多邊形也一樣;但是曲線權(quán)重取決于始末端點(diǎn)處的具體曲率數(shù)值。這種方法能得到唯一且精確的解,并具有很好的幾何性質(zhì)。
方法的不足之處在于構(gòu)造PH曲線時(shí)初始條件受限制,可能會(huì)出現(xiàn)無解的情況。這時(shí)可以通過文獻(xiàn)[13]的方法插入滿足條件的中間數(shù)據(jù)來構(gòu)造段數(shù)最少的PH樣條曲線的方法, 以達(dá)到G1插值的目的;然后再在每個(gè)節(jié)段用文獻(xiàn)[8]方法得到滿足G2插值的三次有理Bézier曲線。
[1]FARING.Curvesandsurfacesforcomputeraidedgeo-metricdesign[M].NewYork:AcademicPress,1996.
[2]FARING.GeometricHermiteinterpolationwithcircularprecision[J].Computer-AidedDesign,2008,40(4):476-479.
[3]潘俊.有理三次PH曲線的G1Hermite插值[J].復(fù)旦大學(xué)學(xué)報(bào)(自然科學(xué)版),2007,46(2):184-191.
[4]DEBOORC,HOLLINK,SABINM.HighaccuracygeometricHermiteinterpolation[J].ComputerAidedGeometricDesign,1987,4(4):269-278.
[5]DEGENWLF.Highaccuraterationalapproximationofparametriccurves[J].ComputerAidedGeometricDesign1993,10(3/4):293-313.
[6]SAKAIM.Osculatoryinterpolation[J].ComputerAidedGeometricDesign,2001,18(8):739-750.
[7]WALTONDJ,MEEKDS.G2Hermiteinterpolationwithcircularprecision[J].Computer-AidedDesign,2010,42(9):749-758.
[8]LIYajuan,DENGChongyang,MAWeiyin.C-shapedG2HermiteinterpolationbyrationalcubicBéziercurvewithconicprecision[J].ComputerAidedGeometricDesign,2014,31(5):25-8-264.
[9]POTTMANNH.Rationalcurvesandsurfacewithrationaloffsets[J].ComputerAidedGeometricDesign,1995,12(2):175-192.
[10]孫露露.關(guān)于PH曲線插值若干問題的研究[D].合肥:合肥工業(yè)大學(xué),2010.
[11]FAROUKIRT,NEFFCA.Hermiteinterpolationbypythagoreanhodographquintics[J].MathematicsofComputation,1995,64(212):1589-1609.
[12]PIEGLL,TILLERW.TheNURBSbook[M].2nded.NewYork:Springer-Verlag,1997.
[13]馬元魁,張?zhí)炱?康寶生.C1插值平面三次PH樣條的構(gòu)造 [J].西安工業(yè)大學(xué)學(xué)報(bào),2007,27(1):34-37,51.
(責(zé)任編輯張镅)
G2HermiteinterpolationbasedonrationalcubicPHcurve
MAShujuan,TANGShuo
(SchoolofMathematics,HefeiUniversityofTechnology,Hefei230009,China)
BasedontheG1HermiteinterpolationbyarationalcubicPythagorean-hodograph(PH)curve,asimplemethodforG2HermiteinterpolationbyarationalcubicBéziercurveispresented,whichhasawell-understoodgeometricalmeaning.Inthismethodtheweightsofthecurveareacquiredbythecurvaturesatboththestartingpointsandendpoints.Theeffectivenessofthealgorithmisverifiedbynumericalexamples.
rationalPythagorean-hodograph(PH)curve;Béziercurve;G1Hermiteinterpolation;G2Hermiteinterpolation
2015-03-27;
2015-06-06
國家自然科學(xué)基金資助項(xiàng)目(61272024)
馬淑娟(1990-),女,安徽宿州人,合肥工業(yè)大學(xué)碩士生;
唐爍(1964-),男,安徽巢湖人,合肥工業(yè)大學(xué)教授,碩士生導(dǎo)師.
10.3969/j.issn.1003-5060.2016.08.027
TP391.72
A
1003-5060(2016)08-1142-06