師 晶
(閩南理工學(xué)院 信息管理學(xué)院, 福建 石獅 362700)
計(jì)算機(jī)輔助幾何設(shè)計(jì)的主要功能是用來滿足工業(yè)中曲線曲面的幾何造型要求.隨著工業(yè)產(chǎn)品設(shè)計(jì)的復(fù)雜化、幾何形狀要求的多樣化,原有的傳統(tǒng)曲線曲面無法方便地、靈活地描述一些造型復(fù)雜的曲線曲面.這時(shí),通常采用組合曲線曲面解決這些問題,因此,CAGD引入了曲線曲面的拼接問題.
在CAGD中,Bezier曲線與B樣條曲線是兩種主要的曲線構(gòu)造方法[1-3].它們具有許多良好的性質(zhì),如結(jié)構(gòu)簡單、使用方便等.然而,Bezier曲線的形狀是由控制頂點(diǎn)唯一確定的,若要改變Bezier曲線的形狀,必須調(diào)整相應(yīng)的控制頂點(diǎn).此外,Bezier方法與B樣條方法既不能描述除拋物線以外的圓錐曲線,也不能精確描述工程中常見的二次曲面,這為曲線曲面造型帶來一定的不便.近年來,人們對(duì)三角函數(shù)空間中構(gòu)造的曲線進(jìn)行了很多研究,但此類曲線仍存在局部調(diào)控不靈活等問題[4-5].
本文研究一種基于幾何約束的插值曲線的參數(shù)連續(xù)性.這種插值曲線不僅具有類似樣條曲線的一些性質(zhì),如端點(diǎn)插值性、凸包性、保凸性和形狀可調(diào)性等,而且在曲線間C1,C2的光滑拼接條件下,通過調(diào)整形狀參數(shù),還可較好地設(shè)計(jì)一些曲線曲面.
給定R2中的兩端點(diǎn)Pi(i=1,2),兩端點(diǎn)處的兩條切線Li(i=1,2)以及兩個(gè)實(shí)常數(shù)Ki(i=1,2).現(xiàn)構(gòu)造一條插值曲線G(λ),使其依次通過兩端點(diǎn),并且在兩端點(diǎn)Pi(i=1,2)處的切線分別為Li(i=1,2),曲率分別是Ki(i=1,2).設(shè)L3是通過P1,P2兩點(diǎn)的直線,點(diǎn)P3是直線L1,L2的交點(diǎn).直線Li(i=1,2,3)的方程為
li(x,y)=aix+biy+ci,i=1,2,3.
(1)
通過點(diǎn)P1并且在點(diǎn)P1的切線為L1的圓的標(biāo)準(zhǔn)化方程為
φ(x,y)=(x-m)2+(y-n)2-R2,
(2)
其中R是圓φ(x,y)=0的半徑.
假設(shè)K1≠0,K2=0,插值兩端點(diǎn)兩切線兩曲率的曲線G(λ)定義為
(3)
其中0<λ<1為形狀參數(shù),如圖1所示.
圖1 插值曲線Fig.1 The interpolation curve
引理1 設(shè)G:g(x,y)=0是R2中的代數(shù)曲線,其中g(shù)(x,y)是關(guān)于x,y的至少一階連續(xù)偏導(dǎo)數(shù),P(x,y)是G上的正則點(diǎn),那么曲線G在點(diǎn)P(x,y)的切向量為Δg(x,y)={gy,gx}(x,y).
引理2 曲線G(λ)在兩端點(diǎn)P1,P2處的切向量分別為如下形式:
(4)
證明 由式(1)~式(3)得曲線G(λ)的一階偏導(dǎo)數(shù)
由于圓φ(x,y)=0和直線L3的交點(diǎn)是P1,直線L2,L3的交點(diǎn)是P2,故
φ(P1)=0,l3(P1)=0,l2(P2)=0,l3(P2)=0,
代入上式得
根據(jù)引理1化簡可得曲線G(λ)在兩端點(diǎn)P1,P2處的切向量為式(4).
引理3 曲線G(λ)在兩端點(diǎn)P1,P2處的二階偏導(dǎo)數(shù)分別為如下形式:
(5)
證明 由引理2得曲線G(λ)的二階偏導(dǎo)數(shù)
因?yàn)棣?P1)=0,l3(P1)=0,l2(P2)=0,l3(P2)=0,分別代入上式化簡可得曲線G(λ)在兩端點(diǎn)P1,P2處的二階偏導(dǎo)數(shù)為式(5).
定義1 設(shè)G:g(x,y)=0是區(qū)間[a,b]內(nèi)的代數(shù)曲線,在區(qū)間[a,b]內(nèi)取n-1個(gè)分點(diǎn),它們依次為a=x0 [a,b]=[x0,x1]∪[x1,x2]∪…∪[xn-1,xn], 其中xi(i=1,2,…,n-1)表示曲線中拐點(diǎn)、尖點(diǎn)或極值點(diǎn)的橫坐標(biāo).在區(qū)間(xi-1,xi)中,第i段曲線表示為 Gi:gi(x,y)=0,x∈(xi-1,xi). (1) 端點(diǎn)性質(zhì):該曲線插值于首、末兩端點(diǎn),并且與控制△P1P2P3的兩邊相切,即 證明 由式(4)和式(5),曲線G(λ)在端點(diǎn)P1處與端點(diǎn)P2處曲率分別是 (3) 凸包性和保凸性:設(shè)圓φ(x,y)=0與直線L3的另一個(gè)交點(diǎn)是A,則當(dāng)λ>0且點(diǎn)A在P1P2線段的延長線上時(shí),曲線G(λ)在控制△P1P2P3內(nèi)保凸. 證明 ① 存在性.由題意得,當(dāng)A位于線段P1P2的延長線上時(shí),除去P1,P2,對(duì)線段L3上任一點(diǎn)P4有 φ(P4)<0,l2(P4)>0,l3(P4)=0, 故g(P4)=g(P4)l2(P4)<0. ② 凸包性和保凸性.在控制△P1P2P3中任意作一直線L,設(shè)其與直線L1,L2分別交于點(diǎn)Q1,Q2,由題意得, 由于g(Q1)與g(Q2)同號(hào),所以直線L與曲線G(λ)在△P1P2P3內(nèi)的交點(diǎn)個(gè)數(shù)為偶數(shù).而G(λ)是三次曲線,所以交點(diǎn)個(gè)數(shù)是0個(gè)或2個(gè),故當(dāng)A不在P1、P2所在的線段上且λ>0時(shí),G(λ)在控制△P1P2P3內(nèi)的曲線是凸的. 綜上所述,當(dāng)λ>0且點(diǎn)A在P1P2線段的延長線上時(shí),曲線G(λ)在控制△P1P2P3內(nèi)保凸,如圖2所示. (4) 幾何不變性:曲線G(λ)的形狀取決于R2中的兩點(diǎn)Pi(i=1,2),兩條切線Li(i=1,2)以及兩個(gè)實(shí)常數(shù)Ki(i=1,2),與坐標(biāo)系的位置無關(guān). (5) 形狀可調(diào)性:固定兩端點(diǎn)Pi(i=1,2),兩端點(diǎn)處的兩條切線Li(i=1,2)以及兩個(gè)實(shí)常數(shù)Ki(i=1,2),當(dāng)形狀參數(shù)λ逐漸增大(或減小)時(shí),曲線G(λ)在控制△P1P2P3內(nèi)逐漸遠(yuǎn)離(或靠近)控制頂點(diǎn)P3,可通過改變參數(shù)的大小調(diào)控曲線的形狀,如圖3所示. 圖2 當(dāng)λ>0時(shí),點(diǎn)A位于不同位置時(shí)G(λ)的圖形Fig.2 Graphs of G(λ) when point A is in different positions with λ>0(a)—點(diǎn)A位于線段P1P2上; (b)—點(diǎn)A與P2重合; (c)—點(diǎn)A位于線段P1P2的延長線上. 圖3 曲線G(λ)中不同參數(shù)的取值 (6) 定理1 兩曲線G1(λ1)和G2(λ2)的C1連續(xù)的充要條件如下. (1) 若P12=P21是兩曲線G1(λ1)和G2(λ2)的公共連接點(diǎn),則這兩條曲線在P12=P21處C1連續(xù)的充要條件是 (7) (2) 若P12=P22是兩曲線G1(λ1)和G2(λ2)的公共連接點(diǎn),則這兩條曲線在P12=P22處C1連續(xù)的充要條件是 (8) (3) 若P11=P21是兩曲線G1(λ1)和G2(λ2)的公共連接點(diǎn),則這兩條曲線在P11=P21處C1連續(xù)的充要條件是 (9) 證明 (1)因?yàn)镻12=P21是兩曲線G2(λ1)和G2(λ2)的公共連接點(diǎn),所以這兩條曲線是C0連續(xù)的.兩曲線G1(λ1)和G2(λ2)在P12=P21處C1連續(xù),還應(yīng)滿足它們?cè)诠策B接點(diǎn)處具有相同的一階導(dǎo)數(shù),即 (10) 此時(shí)直線L12與L21重合,即l12=l21. 由引理2及式(6)得 將上式代入式(10)化簡得 所以式(7)是兩曲線G1(λ1)和G2(λ2)在公共連接點(diǎn)P12=P21處C1連續(xù)的充要條件. 類似地可以證明定理1中的(2)和(3). 兩曲線G1(λ1)和G2(λ2)的C1連續(xù)的幾何意義是:P13,P23和公共連接點(diǎn)三點(diǎn)共線,且點(diǎn)P13和P23位于公共連接點(diǎn)兩側(cè). 定理2 兩曲線G1(λ1)和G2(λ2)的C2連續(xù)的充要條件如下. (1) 兩曲線G1(λ1)和G2(λ2)在公共連接點(diǎn)P12=P21處C2連續(xù)的充要條件是滿足式(7)及 (11) (2) 兩曲線G1(λ1)和G2(λ2)在公共連接點(diǎn)P12=P22處C2連續(xù)的充要條件是滿足式(8)及 (3) 兩曲線G1(λ1)和G2(λ2)在公共連接點(diǎn)P11=P21處C2連續(xù)的充要條件是滿足式(9)及 證明 (1) 兩曲線G1(λ1)和G2(λ2)在公共連接點(diǎn)P12=P21處C2連續(xù)的充要條件是:除滿足C0,C1連續(xù)條件外,還應(yīng)滿足它們?cè)诠策B接點(diǎn)處具有相同的二階導(dǎo)數(shù),即 (12) 由引理3及式(6)得 將上式代入式(12)化簡得 所以式(7)和式(11)是兩曲線G1(λ1)和G2(λ2)在公共連接點(diǎn)P12=P21處C2連續(xù)的充要條件. 類似地可以證明定理2中的(2)和(3). 兩曲線G1(λ1)和G2(λ2)的C2連續(xù)的幾何意義是:控制三角形△P11P12P13和△P21P22P23共面. 利用插值曲線的拼接定理及良好的形狀可調(diào)性,可方便地構(gòu)造一些常用曲線曲面圖形,具體拼接步驟如下: 步驟1 給定代數(shù)曲線G,根據(jù)定義1的方法對(duì)代數(shù)曲線G進(jìn)行分段,得到曲線段Gi(i=1,2,…,n),Gi在區(qū)間(xi-1,xi)內(nèi)具有固定的凹凸性和單調(diào)性; 步驟2 根據(jù)曲線段Gi的兩端點(diǎn)、兩切線及曲率,計(jì)算出插值曲線Gi(λ)[6-8]; 步驟3 繪制插值曲線Gi(λ),并通過修改λ的值調(diào)節(jié)曲線形狀; 步驟4 根據(jù)定理1、2對(duì)插值曲線Gi(λ)依次進(jìn)行光滑拼接. 插值兩端點(diǎn)兩切線兩曲率的曲線G(λ)本身具有形狀控制參數(shù),可以通過選取不同的參數(shù)值來調(diào)整同一控制三角形中曲線的形狀,并且通過曲線間的連續(xù)條件,可以方便地把曲線G(λ)應(yīng)用到曲線曲面造型中. 梨曲線圖形是由多條插值曲線G(λ)拼接而成的.在控制三角形△P11P12P13和△P21P22P23中,當(dāng)兩個(gè)形狀參數(shù)λ1,λ2分別取7,0.9時(shí),拼接而成的曲線如圖4所示.同理可得梨曲線圖形的其他部分,根據(jù)曲線間的連續(xù)條件,將曲線段分別按定理1和定理2進(jìn)行拼接,得到的梨曲線圖形如圖5所示. 圖4 部分梨曲線的控制三角形Fig.4 The control triangles for some pear curves 圖5 插值曲線拼接的梨曲線Fig.5 Pear curves joined by interpolation curves 圖6所示酒杯旋轉(zhuǎn)曲面的母線是由兩條插值曲線G(λ)拼接而成的, 從圖6中可以看出, 兩條曲線段在公共連接點(diǎn)處具有較好的拼接效果. 圖7是插值曲線G(λ)生成的酒杯旋轉(zhuǎn)曲面. 圖6 酒杯旋轉(zhuǎn)曲面的母線Fig.6 The generatrix of the wine glass rotating surface 圖7 酒杯旋轉(zhuǎn)曲面Fig.7 Wine glass rotating surface 本文通過研究一種基于幾何約束的插值曲線的端點(diǎn)性質(zhì)、凸包性和保凸性等,給出兩條插值曲線的C1,C2連續(xù)條件及幾何意義.這種插值曲線在控制三角形中,可通過選取不同的參數(shù)值來調(diào)整曲線的形狀,具有較好的形狀可調(diào)性.實(shí)例表明,該插值曲線的連續(xù)性條件可較好地構(gòu)造一些曲線曲面圖形,這對(duì)于計(jì)算機(jī)輔助幾何設(shè)計(jì)具有一定的實(shí)用價(jià)值.2 曲線性質(zhì)
3 曲線拼接
4 拼接步驟
5 計(jì)算實(shí)例
6 結(jié) 語