劉 植, 王翠翠
(合肥工業(yè)大學(xué) 數(shù)學(xué)學(xué)院,安徽 合肥 230601)
Bézier方法是計(jì)算機(jī)圖形學(xué)與計(jì)算機(jī)輔助幾何設(shè)計(jì)領(lǐng)域的一個(gè)重要方法。為使曲線形狀的控制手段更加豐富,研究者通過(guò)引入形狀參數(shù)對(duì)Bézier曲線進(jìn)行推廣,得到各種類型的含參曲線[1-3],其中關(guān)于含參三次Bézier曲線的研究較為廣泛[4-6]。在傳統(tǒng)幾何造型設(shè)計(jì)中,良好的曲線形狀通常應(yīng)該消除不必要的奇點(diǎn)(包括尖點(diǎn)、重結(jié)點(diǎn))和拐點(diǎn),關(guān)于含參曲線形狀分布條件的進(jìn)一步研究對(duì)于控制曲線的形狀具有重要作用。文獻(xiàn)[7]在研究三次Bézier曲線的幾何特征時(shí),提出基于仿射不變量的方法,并討論了Bézier曲線的奇拐點(diǎn)分布;文獻(xiàn)[8]提出一種基于控制頂點(diǎn)軌跡的方法,進(jìn)一步分析了含參曲線的幾何形狀;文獻(xiàn)[9]在研究平面B樣條曲線的幾何形狀時(shí),提出一種基于包絡(luò)理論與拓?fù)溆成涞男路椒?稱作葉方法)。關(guān)于上述方法的研究已有比較成熟的成果,但這些方法都要進(jìn)行分類討論,算法較復(fù)雜,不利于程序的交互設(shè)計(jì)。文獻(xiàn)[10]提出一種基于特征空間的形狀分析方法,并利用該方法討論了一類三角Bézier曲線的幾何形狀特征[11]。
本文基于特征空間的形狀分析方法,討論一類三次含參Bézier曲線的形狀分布。通過(guò)化簡(jiǎn)參數(shù)曲線形狀特征表達(dá)式中邊向量的系數(shù),得到含有參數(shù)的各特征錐面;對(duì)特征錐面及其相應(yīng)切平面構(gòu)成的空間區(qū)域進(jìn)行切割,得到該曲線的形狀特征分布。該方法計(jì)算量小,且包含除全部控制點(diǎn)共線情況外的所有退化結(jié)果。錐面方程中的形狀參數(shù)λ具有優(yōu)化曲線的調(diào)節(jié)能力,對(duì)調(diào)節(jié)控制曲線的形狀特征具有重要的應(yīng)用價(jià)值。
任意給定平面上4個(gè)控制點(diǎn)Pi(i=0,1,2,3)及參數(shù)λ(其中λ∈(0,3],稱為形狀因子),三次λ-Bézier曲線[5]定義如下:
(1)
其中,bi,3(t)(i=0,1,2,3)是三次λ-Bernstein多項(xiàng)式,表達(dá)式為:
(2)
特別地,當(dāng)λ=3時(shí),三次λ-Bézier曲線將退化成經(jīng)典的三次Bézier曲線。雖然形狀參數(shù)的引入使曲線在形狀控制手段上更加豐富,但是這種控制難以定量地討論對(duì)幾何特征的影響。
三次λ-Bézier曲線也可表示為:
p(t)=P0+[1-b0,3(t)]w1+
[b2,3(t)+b3,3(t)]w2+b3,3(t)w3
(3)
其中,wi=Pi-Pi-1=(xi,yi)(i=1,2,3)是控制多邊形的邊向量,并記Nij=xiyj-xjyi(i,j=1,2,3)。因此
p′(t)=-b0,3′(t)w1+[b2,3′(t)+
b3,3′(t)]w2+b3,3′(t)w3
(4)
由邊向量的線性無(wú)關(guān)性易知,當(dāng)4個(gè)控制點(diǎn)不共面時(shí),三次λ-Bézier曲線是一條無(wú)奇點(diǎn)的空間曲線。以下重點(diǎn)討論平面三次λ-Bézier曲線的幾何形狀特征。
當(dāng)邊向量w1與w3相交,即w1×w3≠0時(shí),可微曲線p(t)具有尖點(diǎn)的必要條件是p′(t)=0,0 u1w1-w2+v1w3=0, 則尖點(diǎn)的必要條件可表示為平面上的一條曲線,表達(dá)式為: 同理,當(dāng)w1×w2≠0或w2×w3≠0時(shí),尖點(diǎn)條件線可分別表示為: 或 注意到三維空間中以原點(diǎn)(0,0,0)為起點(diǎn),分別以點(diǎn)(u1,-1,v1)、(u2,v2,-1)、(-1,u3,v3)為終點(diǎn),形成的3個(gè)向量線性相關(guān)且互相平行,同時(shí)與向量 (x,y,z)=(-b0,3′(t),b2,3′(t)+ b3,3′(t),b3,3′(t)) (5) 平行。構(gòu)造以形如(5)式的向量為母線的錐面參數(shù)方程: 即 其中,參數(shù)0 將參數(shù)方程隱式化[12],可得到其錐面方程,表達(dá)式為: FC(x,y,z)=(λ2-8λ+12)y2+ 4(λ-3)xy+4(λ-3)yz+12xz=0。 定義(x,y,z)=(N23,N31,N12)為1個(gè)特征點(diǎn),因?yàn)榍€p(t)的4個(gè)控制點(diǎn)P0、P1、P2、P3不共線,所以(w2×w3,w3×w1,w1×w2)≠(0,0,0)。因此至少存在2個(gè)邊向量不平行。假設(shè)w1與w3不平行,即w1×w3≠0。 基于尖點(diǎn)存在的必要條件和葉方法的討論,可得曲線p(t)上存在尖點(diǎn)的另一表示形式,即存在0 (6) 因此 FC(u1,-1,v1)= (7) 同理可得: 根據(jù)錐面方程的齊次性和叉乘的可交換性ai×aj=-aj×ai,(7)式等價(jià)于 FC(N23,N31,N12)=0, 即特征點(diǎn)(x,y,z)=(N23,N31,N12)在尖點(diǎn)條件錐FC上。 反之,假設(shè)特征點(diǎn)在尖點(diǎn)錐面FC上,將特征點(diǎn)化簡(jiǎn),帶入錐面可得,(7)式依然成立。于是存在0 定理1 三次λ-Bézier曲線上有一尖點(diǎn)的充要條件是特征點(diǎn)在尖點(diǎn)條件錐FC(記為區(qū)域C)上,其中-∞ 事實(shí)上,此時(shí)曲線是全局凸的。為了方便下面的討論,僅討論第七卦限下的尖點(diǎn)條件錐FC,此時(shí)特征點(diǎn)的各坐標(biāo)分量均小于0。 重結(jié)點(diǎn)是指曲線相遇的點(diǎn),表示曲線上有環(huán)。曲線p(t)有重結(jié)點(diǎn)當(dāng)且僅當(dāng)存在0≤t1 (8) 因此方程(8)定義了一個(gè)拓?fù)溆成銯:Δ?R2→R2,像域D=F(Δ)是uv平面上的簡(jiǎn)單連通區(qū)域。區(qū)域Δ的3條邊界線分別為:t1=t2,t1=0和t1=1,分別對(duì)應(yīng)像域D的3條邊界曲線。當(dāng)邊界線t1=t2時(shí),對(duì)應(yīng)尖點(diǎn)條件線。因此其錐面對(duì)應(yīng)于尖點(diǎn)條件錐FC。 當(dāng)t1=0時(shí),對(duì)應(yīng)p(t)-p(0)=0,即 [1-b0,3(t)]w1+[b2,3(t)+b3,3(t)]w2+ b3,3(t)w3=0, 3個(gè)邊向量的系數(shù)為: (x,y,z)=(1-b0,3(t),b2,3(t)+ b3,3(t),b3,3(t))。 此時(shí),以這些直線為母線的錐面參數(shù)方程為: 即 消參化簡(jiǎn)后,可得相應(yīng)的關(guān)于端點(diǎn)p(0)處的重結(jié)點(diǎn)邊界條件錐面,其方程為: F1(x,y,z)=(2-λ)y2+(λ-3)xy+ 3xz-yz-z2=0, 簡(jiǎn)記為F1,-∞ 當(dāng)曲線p(t)上存在0 帶入錐面方程F1有: 則有: F1(N23,N31,N12)=0。 當(dāng)端點(diǎn)p(0)為曲線p(t)的重結(jié)點(diǎn)時(shí),特征點(diǎn)(x,y,z)=(N23,N31,N12)在其相應(yīng)的重結(jié)點(diǎn)邊界條件錐面上,并且特征點(diǎn)的各分量坐標(biāo)同號(hào)。 同理可得,當(dāng)t1=1時(shí),對(duì)應(yīng)p(t)-p(1)=0,即 -b0,3(t)w1-[b0,3+b1,3]w2- [1-b3,3(t)]w3=0。 此時(shí)邊向量的系數(shù)為: (x,y,z)=(-b0,3(t), -b0,3(t)-b1,3(t),b3,3(t)-1), 化簡(jiǎn)可得,曲線在端點(diǎn)p(1)處的重結(jié)點(diǎn)邊界條件錐面(簡(jiǎn)記為F2)的方程為: F2(x,y,z)=(λ-2)y2+ (3-λ)yz-3xz+xy+x2=0, 其中,-∞ 圖1 第七卦限的重結(jié)點(diǎn)區(qū)域 定理2 三次λ-Bézier曲線存在重結(jié)點(diǎn)的充要條件是特征點(diǎn)(x,y,z)=(N23,N31,N12)在FC與F1和F2所構(gòu)成的空間區(qū)域D內(nèi)(圖1中綠色與藍(lán)色區(qū)域內(nèi))。 注意如下2點(diǎn):① 此時(shí)的空間區(qū)域包含重結(jié)點(diǎn)邊界條件錐面F1和F2;② 特征空間是指被FC與F1和F2,以及其相應(yīng)的切平面,劃分成多個(gè)不同區(qū)域的三維空間。其中,每一特征區(qū)域?qū)?yīng)該曲線不同形狀特征。 進(jìn)一步分析可得尖點(diǎn)錐FC與重結(jié)點(diǎn)邊界錐F1和F2的交線τ1和τ2,即 因此,尖點(diǎn)錐FC在交線τ1和τ2處的切平面分別為: c1:z=0 和c2:x=0。 τ12:x=y=z是重結(jié)點(diǎn)邊界錐F1和F2的交線。同理可得,F1和F2在交線τ12處的切平面分別為: π1:x-y=0,π2:x-z=0。 顯然,切平面π1過(guò)尖點(diǎn)錐FC和F2的交線τ2和公切線τ12;切平面π2過(guò)尖點(diǎn)錐FC和F1的交線τ1和公切線τ12。 事實(shí)上,當(dāng)參數(shù)λ=3時(shí),用平面x+z+1=0切割3張?zhí)卣麇F面,由FC(紅色曲面)與F1(藍(lán)色曲面)和F2(綠色曲面)構(gòu)成的特征空間時(shí),所得的特征空間截面圖如圖2所示。圖2揭示了3張?zhí)卣麇F面的各截面線之間的對(duì)應(yīng)關(guān)系,與文獻(xiàn)[5]所討論的形狀條件分布圖類似,且進(jìn)一步統(tǒng)一了文獻(xiàn)[5]對(duì)形狀條件分布圖分類討論的情況。 圖2 平面三次λ-Bézier曲線特征空間截面 點(diǎn)p(t0)是否是曲線p(t)的拐點(diǎn),可由P′(t)×P″(t)通過(guò)t0時(shí)的符號(hào)是否發(fā)生變化判斷,而 因此,曲線p(t)存在拐點(diǎn)當(dāng)且僅當(dāng)特征點(diǎn)(x,y,z)=(N23,N31,N12)在下列方程表示的平面上。 (9) 注意到方程(9)的系數(shù)是錐面FC在參數(shù)t處的法向量,因此基于文獻(xiàn)[5]的分析得知,FC的切平面掃過(guò)的區(qū)域即為該曲線可能的拐點(diǎn)區(qū)域。進(jìn)一步計(jì)算得知,尖點(diǎn)錐FC在交線τ1和τ2處的切平面即為FC在其邊界處的切平面c1和c2。當(dāng)特征點(diǎn)位于尖點(diǎn)錐面及其邊界切平面所構(gòu)成的空間區(qū)域時(shí),過(guò)其可做FC的2張切平面,對(duì)應(yīng)于曲線存在的2個(gè)拐點(diǎn)。否則,尖點(diǎn)錐FC僅存在1張切平面,對(duì)應(yīng)曲線存在1個(gè)拐點(diǎn)。第七卦限的雙拐點(diǎn)區(qū)域如圖3所示。類似尖點(diǎn)與重結(jié)點(diǎn)的討論,有如下定理。 定理3 當(dāng)特征點(diǎn)(N23,N31,N12)在尖點(diǎn)錐FC與切平面c1:z=0和c2:x=0構(gòu)成的范圍內(nèi)時(shí)(圖3不包含邊界),在尖點(diǎn)錐FC上過(guò)該特征點(diǎn)存在2張切平面,此時(shí)區(qū)域DI(紅色區(qū)域)為雙拐點(diǎn)區(qū)域。否則,對(duì)應(yīng)的是曲線p(t)的單拐點(diǎn)區(qū)域,記為SI。 圖3 第七卦限的雙拐點(diǎn)區(qū)域 從定理3可得,拐點(diǎn)區(qū)域與尖點(diǎn)錐FC的包絡(luò)關(guān)系與葉方法的討論一致。 為了便于描述,記 N=R2(C∪SI∪DI∪D), 此時(shí)曲線p(t)上不存在奇點(diǎn)(尖點(diǎn)和重結(jié)點(diǎn))和拐點(diǎn),且法向量p′(t)×p″(t)的方向不變??紤] m(t)=P′(t)×[P(1)-P(t)]= n(t)=[P(t)-P(0)]×P′(t)= 由于b0,3+b1,3+b2,3+b3,3=1,b0,3′+b1,3′+b2,3′+b3,3′=0,化簡(jiǎn)可得: m(t)=m23(w2×w3)+ m03(w3×w1)+m01(w1×w2), n(t)=n23(w2×w3)+ n03(w3×w1)+n01(w1×w2)。 其中 經(jīng)過(guò)進(jìn)一步推導(dǎo)得出,F2在t處的法向量為{m23,m03,m01},即條件錐F2是m(t)變號(hào)區(qū)域的包絡(luò)面。 特別地,規(guī)定N1為錐面F2的切平面π2在N中覆蓋的區(qū)域,此時(shí)曲線p(t)在錐面F1與切平面π2圍成的區(qū)域內(nèi)是局部凸的。由于錐面F1是n(t)變號(hào)區(qū)域的包絡(luò)面,規(guī)定N2為錐面F1的切平面π1在N中覆蓋的區(qū)域,此時(shí)曲線p(t)在F2與π1圍成的區(qū)域內(nèi)也是局部凸的;否則曲線p(t)是全局凸的。將N中尚未被討論的區(qū)域記為區(qū)域N0。 定理4 當(dāng)特征點(diǎn)(N23,N31,N12)位于N=N1∪N2(圖4中藍(lán)色區(qū)域與綠色區(qū)域)區(qū)域內(nèi)(不包括邊界)時(shí),曲線p(t)是局部凸的;否則,曲線p(t)是全局凸的。 圖4 第七卦限的局部凸區(qū)域 分別用平面y=-1,z=-1及x=-1切割構(gòu)造的特征空間,所得的截面圖如圖5所示。圖5正好對(duì)應(yīng)基于葉方法所得的3種形狀條件分布圖。 圖5 三次λ-Bézier曲線特征空間截面圖 圖5a~圖5c分別對(duì)應(yīng)葉方法中的w1×w3≠0、w1×w2≠0、w2×w3≠0的情況。圖5中:紅色曲面均表示FC,綠色曲面表示F1,藍(lán)色曲面表示F2;2張白色平面分別表示F1和F2在交線τ12處的切平面π1和π2;青綠色平面表示相應(yīng)的切割平面。 由于各錐面方程和曲線p(t)具有對(duì)稱性,曲線的形狀不會(huì)因控制頂點(diǎn)的位置取反而改變。因此,各特征區(qū)域具有對(duì)稱性,但此時(shí)特征點(diǎn)(x,y,z)=(N23,N31,N12)各分量的符號(hào)發(fā)生改變。由于特征空間的對(duì)稱性質(zhì),為簡(jiǎn)化特征點(diǎn)位置判斷的計(jì)算,將特征空間限制在下半空間z≤0即可。 為進(jìn)一步研究形狀參數(shù)λ對(duì)曲線p(t)特征空間的影響,用平面x+z+1=0切割特征空間所得的截面圖,如圖6所示。顯然,隨著λ的增大,各特征錐面均呈現(xiàn)膨脹趨勢(shì)。因此,雙拐點(diǎn)區(qū)域DI、重結(jié)點(diǎn)區(qū)域D和局部凸區(qū)域N均呈擴(kuò)大趨勢(shì),相應(yīng)地,單拐點(diǎn)區(qū)域SI逐漸縮小。因?yàn)殄F面F1和F2在其交線處的切平面方程與參數(shù)λ無(wú)關(guān),所以參數(shù)λ值的改變對(duì)曲線p(t)的全局凸區(qū)域N0不產(chǎn)生影響,但可通過(guò)調(diào)節(jié)參數(shù)λ使p(t)成為全局凸,但不可能為局部凸曲線。 圖6 形狀參數(shù)λ對(duì)平面三次λ-Bézier曲線特征空間的影響 通過(guò)調(diào)節(jié)形狀參數(shù)λ,改變各錐面方程的具體表達(dá),從而對(duì)各特征區(qū)域進(jìn)行壓縮與放大,進(jìn)而調(diào)節(jié)參數(shù)曲線的特征空間分布。 本文利用特征空間法對(duì)三次λ-Bézier曲線的形狀進(jìn)行研究分析。通過(guò)對(duì)參數(shù)方程進(jìn)行隱式化,構(gòu)造與尖點(diǎn)條件線和重結(jié)點(diǎn)條件線相應(yīng)的含參特征錐面,并計(jì)算出各錐面的切平面。雖然各錐面方程在結(jié)構(gòu)上與原有Bézier曲線類似,但是參數(shù)λ的引入,使得該曲線獲得一定的形狀調(diào)節(jié)能力。 利用各錐面與其切平面構(gòu)成的特征空間分布,得到尖點(diǎn)區(qū)域、重結(jié)點(diǎn)區(qū)域、拐點(diǎn)區(qū)域和凸性區(qū)域;曲線的形狀特征由特征點(diǎn)在特征空間的區(qū)域位置決定。該方法統(tǒng)一了文獻(xiàn)[8]和文獻(xiàn)[9]討論的情況,簡(jiǎn)化了計(jì)算,有利于計(jì)算機(jī)的交互設(shè)計(jì);分析了形狀參數(shù)λ對(duì)各特征錐面和特征空間的影響,通過(guò)調(diào)節(jié)參數(shù),可以獲得工業(yè)設(shè)計(jì)所需的幾何形狀。2.2 重結(jié)點(diǎn)邊界條件錐
2.3 拐點(diǎn)區(qū)域
2.4 凸性區(qū)域
3 三次參數(shù)λ對(duì)曲線特征空間的影響
4 結(jié) 論