(1.湖南科技大學(xué) a.數(shù)學(xué)與計(jì)算科學(xué)學(xué)院; b.機(jī)電工程學(xué)院,湖南 湘潭 411201;2.中南大學(xué) 數(shù)學(xué)科學(xué)與計(jì)算技術(shù)學(xué)院, 長沙 410083;3.河南商丘師范學(xué)院 數(shù)學(xué)系, 河南 商丘 476000)
摘 要:在三角形域上利用兩類C-Hermite多項(xiàng)式構(gòu)造C1連續(xù)的兩種形式的C-Coons曲面片,構(gòu)造的三角曲面片均含有形狀參數(shù)α,調(diào)整α的值,可改變曲面的內(nèi)部形狀,而不影響曲面的邊界形狀;當(dāng)形狀參數(shù)α趨于0時(shí),可退化為通常的邊—邊與邊—點(diǎn)方法插值的曲面片。最后,通過例子比較顯示了該方法的實(shí)際效果。
關(guān)鍵詞:三角曲面片;C-Hermite多項(xiàng)式;形狀參數(shù);邊—邊法;邊—點(diǎn)法
中圖分類號(hào):TP391.72文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1001-3695(2009)04-1538-03
C1-continuous C-type Coons patches on triangles
WU Xiao-qin1a,2,HAN Xu-li2,LUO Shan-ming1b,WANG Jun-chang3
(1.a.School of Mathematics Computation Science,b.School of Mechanical Engineering, Hunan University of Science Technology ,Xiangtan Hunan 411201, China;2.School of Mathematical Science Computing Technology, Central South University,Changsha 410083, China;3.Dept. of Mathematics, Shangqiu Teachers College, Shangqiu Henan 476000, China)
Abstract:This paper constructed two kinds of C-Coons patches with C1-continuity by two classes of C-Hermite polynomial functions on triangles. Triangular C-Coons patches presented extensions of the side-side method and side-vertex method, because these shapes depended on shape parameter α and changing the value of α,it could adjust the interior shape of the patches, but didnt influence the boundary shape of the patches. When the limiting case for α0, constructed patches were the triangular Coons patches. At last, examples illustrate the method of constructing surface is very useful for surface design.
Key words:triangular patches;C-Hermite polynomial;shape parameter;side-side method;side-vertex method
0 引言
曲面造型是CAD/CAM的核心技術(shù)之一,它所追求的目標(biāo)是能夠靈活、方便地設(shè)計(jì)出所需的各種各樣復(fù)雜的形狀。三角域上的曲面造型方法能有效解決構(gòu)型復(fù)雜、形狀和邊界不規(guī)則產(chǎn)品的幾何造型問題,是對散亂數(shù)據(jù)進(jìn)行曲面插值的基礎(chǔ)。
在三角形域上,通過對邊界曲線插值來構(gòu)造三角曲面片的方法最早是由Barnhill等人[1]提出的,該方法采用布爾和算子構(gòu)造三角曲面片,并且要求給定的插值條件滿足相容性。如果給定的插值條件不滿足相容性,則所構(gòu)造的三角曲面片上還需加上一個(gè)修正項(xiàng),以去掉不相容性[2,3]。Gregory[4~6]使用凸組合的方法構(gòu)造三角曲面片,所構(gòu)造的三角曲面片由三個(gè)插值算子的凸組合構(gòu)成,每個(gè)插值算子均滿足三角形兩條邊上的插值條件。Nielson[7]提出的邊—點(diǎn)法也使用三個(gè)插值算子的凸組合構(gòu)造三角曲面片,每個(gè)算子滿足一個(gè)點(diǎn)及其對邊上的插值條件。Hagen[8]進(jìn)一步發(fā)展了邊—點(diǎn)法,并用來構(gòu)造幾何三角曲面片。這些研究結(jié)果已被一般化為構(gòu)造具有一階或二階幾何連續(xù)的三角曲面片的方法[9,10]。徐琳[11]對現(xiàn)有的三角域上的超限插值方法進(jìn)行了綜述。
隨著幾何造型工業(yè)的發(fā)展,往往要求調(diào)整曲面的形狀或改變曲面的位置。Barsky[12]通過在基函數(shù)中引進(jìn)兩個(gè)參數(shù)引入了β-樣條曲線,用于調(diào)整曲線的形狀。近年來,許多學(xué)者在不同的函數(shù)空間中引入?yún)?shù)得到了一些新的曲線。Zhang[13]通過引入角度參數(shù)α,在{1,t,sin t,cos t}找到了三組不同的基函數(shù),構(gòu)造的曲線稱之為C-曲線,包括C-Ferguson、C-Bézier、C-B樣條曲線。C-曲線與傳統(tǒng)的Ferguson、Bézier、B樣條曲線相比,具有一些好的特性:可精確表示圓錐曲線的圓和橢圓及某些超越曲線,如擺線等;有一個(gè)參數(shù)α可調(diào)整曲線的形狀,當(dāng)α0時(shí),極限曲線為通常的Ferguson、 Bézier、B樣條曲線。 其后Chen等人[14]將其推廣為一般的C-Bézier曲線,呂勇剛等人[15]將其推廣為一般的C-B樣條曲線,Wang等人[16]又將C-B樣條曲線推廣到非均勻的C-B樣條曲線。帶有形狀參數(shù)的曲線,運(yùn)用張量積方法很自然推廣到矩形域的曲面上;但在三角形域上如何構(gòu)造帶有形狀參數(shù)的曲面,至今研究的文獻(xiàn)不多。
Coons方法也是計(jì)算機(jī)輔助幾何設(shè)計(jì)和計(jì)算機(jī)圖形學(xué)中一種構(gòu)造曲面的重要方法。文獻(xiàn)[17]借用文獻(xiàn)[13]中C-Hermite多項(xiàng)式構(gòu)造了矩形域上的C1連續(xù)的C-Coons曲面片,可通過兩個(gè)參數(shù)調(diào)整曲面的形狀。本文提出在三角形域上如何構(gòu)造C1連續(xù)的C-Coons曲面片。本文將文獻(xiàn)[1]邊—邊方法,與Nielson邊—點(diǎn)方法的Hermite多項(xiàng)式用不同的C-Hermite多項(xiàng)式替換得到了兩種C1連續(xù)插值邊界數(shù)據(jù)的三角曲面片。構(gòu)造的三角曲面片均含有形狀參數(shù)α。調(diào)整α的值,可改變曲面的內(nèi)部形狀,而不影響曲面的邊界形狀,當(dāng)α0時(shí),可退化為通常的邊—邊與邊—點(diǎn)方法插值的曲面片。最后,實(shí)例顯示了本文方法的實(shí)際效果。
1 三次C-Hermite 多項(xiàng)式
1.1 第一類三次C-Hermite多項(xiàng)式
Zhang[13]在1996年給出了第一類三次C-Hermite多項(xiàng)式
H0,α(t)=ρ(1-C-αS+St+(1-C)cos t-Ssin t)
Hα,α(t)=ρ(1-C-St-(1-C)cos t+Ssin t)
G0,α(t)=ρ(αS-S+(1-C)t+(S-αC)cos t+(1-C-αS)sin t)
Gα,α(t)=ρ(S-α+(1-C)t+(α-S)cos t+(C-1)sin t)
(1)
其中0<α≤π,0≤t≤α,S:=sin α,C:=cos α,ρ=1/(2-2C-αS)。
第一類三次C-Hermite多項(xiàng)式具有三次Hermite多項(xiàng)式類似的性質(zhì):
Hi,α(j)=G′i,α(j)=δij,H′i,α(j)=Gi(j)=0,i,j=0,α
其中δij為克羅內(nèi)克符號(hào)。
為了在三角域上討論插值問題,須作變換t=αu,使得u∈[0,1],這樣有
H0(u)=ρ[1-C-αS+Sαu+(1-C)cos(αu)-S sin(αu)]
H1(u)=ρ[1-C-Sαu-(1-C)cos(αu)+S sin(αu)]
G0(u)=ρ[αS-S+(1-C)αu+(S-αC)cos(αu)+(1-C-αS)sin(αu)]/α
G1(u)=ρ[S-α+(1-C)αu+(α-S)cos(αu)+(C-1)sin(αu)]/α(2)
易見,式(2)具有三次Hermite多項(xiàng)式的性質(zhì)。
注意:通過變換后,α的取值范圍變大,α可取任何大于0的實(shí)數(shù)。
1.2 第二類三次C-Hermite多項(xiàng)式
下面給出第二種類型的三次C-Hermite多項(xiàng)式
Hα(t)=ρ(1-C-St+(C-1)cos t+S sin t)
Hα(t)=ρ(S-α+(1-C)t+(α-S)cos t+(C-1)sin t)
(3)
其中0<α≤π,0≤t≤α,S:=sin α,C:=cos α,ρ=1/(2-2C-αS)。
簡單計(jì)算可驗(yàn)證上述C-Hermite多項(xiàng)式具有性質(zhì):
Hα(α)=1,Hα(0)=H′α(0)=H′α(α)=0
H′α(α)=1,H′α(0)=Hα(0)=Hα(α)=0
同樣,通過變換t=αu,使得u∈[0,1],有
H(u)=ρ[1-C-Sαu+(C-1)cos(αu)+S sin(αu)]
H(u)=ρ[S-α+(1-C)αu+(α-S)cos(αu)+(C-1)sin(αu)]/α(4)
可驗(yàn)證式(4)有性質(zhì):
H(1)=1,H(0)=H′(0)=H′(1)=0
H′(1)=1,H′(0)=H(0)=H(1)=0(5)
2 三角域上C-曲面片
在三角域上對其邊界數(shù)據(jù)進(jìn)行超限插值時(shí),宜選用重心坐標(biāo)。在以下的討論中,假定i,j,k=1,2,3(i≠j≠k)。
2.1 重心坐標(biāo)
設(shè)T表示一非退化的三角形,其頂點(diǎn)為Vi(xi,yi)(i=1,2,3),頂點(diǎn)按逆時(shí)針方向標(biāo)號(hào)。記ei為頂點(diǎn)Vi所對應(yīng)的邊,即e1=V3-V2,e2=V1-V3,e3=V2-V1;△T的邊界記為T。如圖1所示,點(diǎn)P為三角形T內(nèi)任一點(diǎn),記點(diǎn)P關(guān)于△T的重心坐標(biāo)記為(b1,b2,b3),則bi=Ai/A。其中:A為△T的面積;Ai為△PVjVk的面積。
2.2 邊—邊插值方法
所謂邊—邊插值方法是:先采用BBG[1]的平行投影方法,構(gòu)造插值三角形的兩條邊界數(shù)據(jù)的曲面片,再將三張插值曲面片凸組合得到插值三條邊界數(shù)據(jù)的曲面片。
設(shè)F(x,y)為一給定的二元函數(shù),Pi為一基本插值算子,它插值邊界上兩點(diǎn)及沿著方向ei的跨界導(dǎo)矢,算子的具體表達(dá)式可參考文獻(xiàn)[18]。圖2給出了P1插值說明。
現(xiàn)將基本插值算子Pi中的三次Hermite多項(xiàng)式用第一類C-Hermite多項(xiàng)式替換,有
P1[F]=H0(b3/(1-b1))F(M1)+H1(b3/(1-b1))F(N1)+G0(b3/(1-b1))(1-b1)F/e1(M1)+G1(b3/(1-b1))(1-b1)F/e1(N1)
其中M1=b1V1+(1-b1)V2,N1=b1V1+(1-b1)V3,F/e1(Q)表示F在Q點(diǎn)沿著e1的方向?qū)?。?/p>
P2[F]=H0(b1/(1-b2))F(M2)+H1(b1/(1-b2))F(N2)+G0(b1/(1-b2))(1-b2)F/e2(M2)+G1(b1/(1-b2))(1-b2)F/e2(N2)
其中M2=b2V2+(1-b2)V3,N2=b2V2+(1-b2)V1,F/e2(Q)表示F在Q點(diǎn)沿著e2的方向?qū)?。?/p>
P3[F]=H0(b2/(1-b3))F(M3)+H1(b2/(1-b3))F(N3)+G0(b2/(1-b3))(1-b3)F/e3(M3)+G1(b2/(1-b3))(1-b3)F/e3(N3)
其中M3=b3V3+(1-b2)V1,N3=b3V3+(1-b3)V2,F/e3(Q)表示F在Q點(diǎn)沿著e3的方向?qū)浮*?/p>
用Gregory[6]方法將P1[F]、P2[F]、P3[F]凸組合定義曲面如下:
P[F]=ω1P1[F]+ω2P2[F]+ω3P3[F](6)
其中:ωi(i=1,2,3)稱為權(quán)函數(shù)(或混合函數(shù))。
為了保證P[F]的C1插值特性,可選取
ωi=b2i(3-2bi+6bjbk)或ωi=b2i/3j=1b2j(7)
上述的權(quán)函數(shù)具有如下性質(zhì):
ω1+ω2+ω3=1;ωiei=0;ωi/ei=0
定理1 若F(x,y)∈C1(T),則當(dāng)(x,y)∈T時(shí),P[F]插值F(x,y)及其一階導(dǎo)矢。
證明 由基本插值算子P1[F]、P2[F]、P3[F]可知,它們分別插值三角形上兩條邊上的函數(shù)值和一階導(dǎo)矢值,再由權(quán)函數(shù)的性質(zhì)即可證明定理成立。
不妨稱式(5)的插值方法為C-邊邊法。
推論1 當(dāng)α0時(shí),P[F]是通常邊—邊方法的插值算子。
證明:注意到式(2)的三次C-Hermite多項(xiàng)式性質(zhì),再參考Zhang[13]的方法即可證明。
2.3 邊—點(diǎn)插值方法
Nielson[7]提出了三角域上的邊—點(diǎn)插值方法,也稱為徑向投影方法,使用三個(gè)插值算子的凸組合來構(gòu)造三角曲面片,其中每個(gè)插值算子滿足一個(gè)點(diǎn)及其對邊上的插值條件。
記Si為頂點(diǎn)Vi所對應(yīng)邊上的點(diǎn)(圖3),則Si的坐標(biāo)為Si=Si(x,y)=((x-xibi)/(1-bi),(y-yibi)/(1-bi))。
將Nielson中基本插值算子Di中的廣義三次Hermite多項(xiàng)式用第二類C-Hermite多項(xiàng)式替換,有
Di[F]=H(1-bi)F(Si)+H(1-bi)R′i(1)+H(1-bi)F(Vi)-H(1-bi)R′i(0)(8)
其中R′i(1)=[(x-xi)Fx(Si)+(y-yi)Fy(Si)]/(1-bi)
R′i(0)=[(x-xi)Fx(Vi)+(y-yi)Fy(Vi)]/(1-bi)。
這里Fx(Q)、Fy(Q)分別表示F(x,y)在Q點(diǎn)的x方向和y方向的偏導(dǎo)數(shù)。
將D1[F]、D2[F]、D3[F]凸組合,定義曲面
D[F]=iD1[F]+2D2[F]+3D3[F](9)
為了保證D[F]的C1插值特性,可選取
i=b2jb2k/(b22b23+b21b23+b22b21)或i=(1/b2i)/(1/b21+1/b22+1/b23)
上述權(quán)函數(shù)具有如下性質(zhì):
1+2+3=1;iej=δij;i/ei=0
定理2 若F(x,y)∈C1(T),則當(dāng)(x,y)∈T時(shí),D[F]插值F(x,y)及其一階導(dǎo)矢。
證明 從式(4)可知第二類C-Hermite多項(xiàng)式與Nielson的邊—點(diǎn)法的廣義Hermite多項(xiàng)式有相同的性質(zhì)。即可證明。
不妨稱式(9)的插值方法為C-邊點(diǎn)法。
推論2 當(dāng)α0時(shí),D[F]是通常邊—點(diǎn)方法的插值算子。
證明 可以按照與Zhang[13]類似的方法證明當(dāng)α0時(shí),第二類C-Hermite多項(xiàng)式即為Nielson的邊—點(diǎn)法的廣義Hermite多項(xiàng)式。
3 實(shí)驗(yàn)例子
本章通過實(shí)際例子說明前面插值格式的有效性。由于在基本插值算子中,含有分母項(xiàng),本文選用優(yōu)秀的符號(hào)計(jì)算軟件Mathematic繪圖。
第一個(gè)實(shí)驗(yàn)函數(shù)為F1(x,y)=5.2exp[(-x2-(y-0.5)2)/4],三角形的三個(gè)頂點(diǎn)為{{0,0},{1,2},{2,0}}。本文用邊—邊法插值得到圖4的曲面。其中(a)為原函數(shù)的曲面圖;(b)為通常邊—邊插值曲面;(c)為α=0.8的C-邊邊法插值曲面;(d)為α=32的C-邊邊法插值曲面。
第二個(gè)實(shí)驗(yàn)函數(shù)為F2(x,y)=10-x2-y2,三角形的三個(gè)頂點(diǎn)仍為{{0,0},{1,2},{2,0}}。本文用邊—點(diǎn)法插值得到圖5的曲面。其中(a)為原函數(shù)的曲面圖;(b)為通常邊—點(diǎn)插值曲面;(c)為α=10的第一種C-邊點(diǎn)法插值曲面;(d)為α=30的C-邊點(diǎn)法插值曲面。
從圖4、5的實(shí)際圖形可以看出,本文給定的方法都含有形狀參數(shù)α,調(diào)整形狀參數(shù)的值可改變曲面的內(nèi)部形狀,而不影響曲面的邊界形狀。
參考文獻(xiàn):
[1]
BARNHILL R E,BIRKHOFF G,GORDON W J.Smooth interpolation in triangles[J].Journal of Approximation Theory,1973,8(2):114-128.
[2]BARNHILL R E,GREGORY J A.Compatible smooth interpolation in triangles[J].Journal of Approximation Theory,1975,15(3):214-225.
[3]BARNHILL R E,GREGORY J A.Polynomial interpolation to boundary data on triangles[J].Mathematics of Computation,1975,29(10):726-735.
[4]GREGORY J A.Smooth interpolation without twist constraints[M]//BARNHILL R E,RIESENFELD R F.Computer aided geometric design.New York:Academic Press,1974:71-88.
[5]GREGORY J A.A blending function interpolant for triangles[M]//Multivariate approximation.New York:Academic Press,1978:279-287.
[6]GREGORY J A.C1 rectangular and non-rectangular surface patches[M]//BARNHILL R E,BOEHM W.Surfaces in computer aided geometric design.Amsterdam,North-Holland:[s.n.],1983:25-33.
[7]NIELSON G M.The side vertex method for interpolation in triangles[J].Journal of Approximation Theory,1979,25(4):318-336.
[8]HAGEN H.Geometric surface patches without twist constraints[J].Computer Aided Geometric Design,1986,3(3):179-184.
[9]HAGEN H.Curvature continuous triangular interpolants[M]//Mathematical methods in computer aided geometric design.San Diego:Academic Press Professional Inc,1989:373-384.
[10]NIELSON G M.A transfinite, visually continuous, triangular interpolant[C]//Proc of Geometric Modeling, Applications and New Trends,Philadelphia: SIAM.1987:235-246.
[11]徐琳.三角域上的超限插值方法[J].軟件學(xué)報(bào),2007,18(2):430-441.
[12]BARSKY B A.Local control of bias and tension in Beta-splines[J].Computer Graphics,1983,17(3):193-218.
[13]ZHANG J.C-curves:an extension of cubic curves[J].Computer Aided Geometric Design,1996,13(3):199-217.
[14]CHEN Qin-yu,WANG Guo-zhao.A class of Bézier-like curves[J].Computer Aided Geometric Design,2003,20(1):29-39.
[15]呂勇剛,汪國昭,楊勛年.均勻三角多項(xiàng)式樣條曲線[J].中國科學(xué):E輯,2002,32(2):281-288.
[16]WANG Guo-zhao,CHEN Qin-yu,ZHOU Ming-hua.NUAT B-spline curves[J].Computer Aided Geometric Design,2004,21(7):193-205.
[17]李楊,湯文成,劉海晨.C-coons 曲面片及其性質(zhì)[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2003,15(9):1177-1180.
[18]BARNHILL R E,LITTLE F F.Three-and four-dimensional surfaces[J].Rocky Mountain J Math,1984,14(1):77-102.