唐運(yùn)梅, 吳曉勤,韓旭里
(1. 湖南科技大學(xué)數(shù)學(xué)與計(jì)算科學(xué)學(xué)院,湖南 湘潭 411201; 2. 中南大學(xué)數(shù)學(xué)科學(xué)與計(jì)算技術(shù)學(xué)院,湖南 長(zhǎng)沙 410083)
曲面造型是CAD/CAM 的核心技術(shù)之一,它所追求的目標(biāo)是能夠靈活、方便地設(shè)計(jì)出所需的各種各樣復(fù)雜的形狀。三角域上的曲面造型方法能有效地解決構(gòu)型復(fù)雜、形狀和邊界不規(guī)則產(chǎn)品的幾何造型問(wèn)題,是對(duì)散亂數(shù)據(jù)進(jìn)行曲面插值的基礎(chǔ)。
在三角形域上,通過(guò)對(duì)邊界曲線(xiàn)插值來(lái)構(gòu)造三角曲面片的方法最早是由Barnhill, Birkhoff 和Gordon[1]提出的,該方法采用布爾和算子構(gòu)造三角曲面片;并且要求給定的插值條件滿(mǎn)足相容性。如果給定的插值條件不滿(mǎn)足相容性,則所構(gòu)造的三角曲面片上還需加上一個(gè)修正項(xiàng),以去掉不相容性[2-3]。Gregory[4-6]使用凸組合的方法構(gòu)造三角曲面片,所構(gòu)造的三角曲面片由3 個(gè)插值算子的凸組合構(gòu)成,每個(gè)插值算子均滿(mǎn)足三角形兩條邊上的插值條件。Nielson[8]提出的邊-點(diǎn)法也使用3 個(gè)插值算子的凸組合構(gòu)造三角曲面片,每個(gè)算子滿(mǎn)足一個(gè)點(diǎn)及其對(duì)邊上的插值條件。Hagen[9]進(jìn)一步發(fā)展了邊點(diǎn)法,并用來(lái)構(gòu)造幾何三角曲面片。這些研究結(jié)果已被一般化為構(gòu)造具有一階或二階幾何連續(xù)的三角曲面片的方法[10-11]。徐琳[12]對(duì)現(xiàn)有的三角域上的超限插值方法進(jìn)行了綜述。
隨著幾何造型工業(yè)的發(fā)展,往往要求調(diào)整曲面的形狀或改變曲面的位置。Barsky[13]通過(guò)在基 函數(shù)中引進(jìn)了兩個(gè)參數(shù)首先引入了β -樣條曲 線(xiàn),用以調(diào)整曲線(xiàn)的形狀。近年來(lái),許多學(xué)者在不同的函數(shù)空間中引入?yún)?shù)得到了一些新的曲 線(xiàn)。 Zhang[14]通 過(guò) 引 入 角 度 參 數(shù)α , 在{1 ,t ,sint,cost}找到了三組不同的基函數(shù),構(gòu)造 的曲線(xiàn)作者稱(chēng)之為C-曲線(xiàn),包括C-Ferguson 曲線(xiàn)、C-Bézier 曲線(xiàn)、C-B 樣條曲線(xiàn)。最近,不少學(xué)者用雙曲多項(xiàng)式代替三角多項(xiàng)式,得到了一些新的曲線(xiàn);汪國(guó)昭等[15]討論了平面三次混合雙曲多項(xiàng)式曲線(xiàn)及其形狀分類(lèi),提出了三次H-Bézier曲線(xiàn),其后文獻(xiàn)[16-17]研究了一般的n 次H-Bézier 曲線(xiàn); 文獻(xiàn)[18]討論了均勻的雙曲多項(xiàng)式B 樣條曲線(xiàn)。H-Bézier 曲線(xiàn)和H-B 樣條曲線(xiàn)除了具有Bézier 曲線(xiàn)和B 樣條曲線(xiàn)類(lèi)似的性質(zhì)外,可精確表示雙曲線(xiàn)和懸鏈線(xiàn);且跟C-Bézier曲線(xiàn)和C-B 樣條曲線(xiàn)相比,一是參數(shù)α 的取值范圍更大,二是更逼近控制多邊形。帶有形狀參數(shù)的曲線(xiàn),運(yùn)用張量積方法很自然推廣到矩形域的曲面上;但在三角形域上如何構(gòu)造帶有形狀參數(shù)的曲面,至今研究的文獻(xiàn)不多。
大家知道Coons方法也是計(jì)算機(jī)輔助幾何設(shè)計(jì)和計(jì)算機(jī)圖形學(xué)中一種構(gòu)造曲面的重要方法。本文討論在三角形域上如何構(gòu)造C1連續(xù)的H-型Coons 曲面片。首先給出兩種類(lèi)型的雙曲混合型的Hermite 多項(xiàng)式,稱(chēng)之為H-Hermite 多項(xiàng)式。然后將文獻(xiàn)[1]邊-邊方法,與Nielson 邊-點(diǎn)方法的Hermite 多項(xiàng)式用不同的H-Hermite 多項(xiàng)式替換得到了三種C1連續(xù)插值邊界數(shù)據(jù)的三角曲面片。構(gòu)造的三角曲面片均含有形狀參數(shù)α ,調(diào)整α 的值,可改變曲面的內(nèi)部形狀,而不影響曲面的邊界形狀,當(dāng)α 0→ 時(shí),可退化為通常的邊-邊與邊-點(diǎn)方法插值的曲面片。最后,實(shí)例顯示了本文方法的實(shí)際效果。
類(lèi)似于Zhang[14]在1996 年給出了C-Hermite多項(xiàng)式,作者給出第一類(lèi)H-Hermite 多項(xiàng)式。
其中 α∈ (0 ,+∞),0 ≤t ≤α , S =sinhα, C =cosh α, ρ=1/(2?2C +αS)。
第一類(lèi)H-Hermite 多項(xiàng)式具有三次Hermite多項(xiàng)式類(lèi)似的性質(zhì)
i, j=0,α
其中 δij為克羅內(nèi)克符號(hào)。
為了在三角域上討論插值問(wèn)題,須作變換 t = αu,使得 u ∈[0,1],這樣有
易見(jiàn),式(2)具有三次Hermite 多項(xiàng)的性質(zhì)。
下面給出第二種類(lèi)型的H-Hermite 多項(xiàng)式
其中 α ∈ (0, +∞ ),0 ≤t ≤α , S =sinhα, C =coshα, ρ=1/(2?2C +αS )。
簡(jiǎn)單計(jì)算可驗(yàn)證第二類(lèi)H-Hermite 多項(xiàng)式具有性質(zhì)
同樣,通過(guò)變換 ut α= ,使得 ]1,0[∈u ,有
可驗(yàn)證式(4)有性質(zhì)
在三角域上對(duì)其邊界數(shù)據(jù)進(jìn)行超限插值時(shí),宜選用重心坐標(biāo)。在以下的討論中,為了記號(hào)方 便,總假定 i,j,k = 1,2,3,i ≠j≠k≠i。
設(shè)T 表示一非退化的三角形,其頂點(diǎn)為Vi( xi,yi)( i =1,2,3),頂點(diǎn)按逆時(shí)針?lè)较驑?biāo)號(hào)。記 ei為頂點(diǎn) Vi所對(duì)應(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的面積。
圖1 點(diǎn)P 在△T 的重心坐標(biāo)
所謂邊-邊插值方法是:先采用BBG[1]的平行投影方法,構(gòu)造插值三角形的兩條邊界數(shù)據(jù)的曲面片,再將三張插值曲面片凸組合得到插值三條邊界數(shù)據(jù)的曲面片。
設(shè) ),( yxF 為一給定的二元函數(shù),iP 為一基本插值算子,它插值邊界上兩點(diǎn)及沿著方向ie 的跨界導(dǎo)矢,算子的具體表達(dá)式可參考文獻(xiàn)[7],圖2 給出了1P 插值說(shuō)明。
圖2 P1[F]插值的幾何解釋
現(xiàn)將基本插值算子iP 中的三次Hermite 多項(xiàng)式用第一類(lèi)H-Hermite 多項(xiàng)式替換,有
用Gregory[6]方法將 P1[F]、 P2[F]、P3[F]凸組合定義曲面如下
其中 ωi( i=1,2,3)稱(chēng)為權(quán)函數(shù)(或混合函數(shù))。
為了保證 P[ F]的C1插值特性,可選取
上述的權(quán)函數(shù)具有性質(zhì):
定理1 若 ),( yxF )(1 TC ?∈ ,則當(dāng) Tyx ?∈),(時(shí), ][FP 插值 ),( yxF 及其一階導(dǎo)矢。
證 明由基本插值算子 P1[F]、 P2[F]、P3[F]知,它們分別插值三角形上兩條邊上的函 數(shù)值和一階導(dǎo)矢值;再由權(quán)函數(shù)的性質(zhì)即可證明定理成立。
不妨稱(chēng)式(6)的插值方法為H-邊邊法。
推論1 當(dāng) 0→α 時(shí), ][FP 是通常的邊- 邊方法的插值算子。
證 明注意到式(2)的三次H-Hermite多項(xiàng)式性質(zhì),再參考Zhang[14]的方法即可證明。
Nielson[8]在1979 年提出了三角域上的邊-點(diǎn)插值方法,也稱(chēng)為徑向投影方法,使用3 個(gè)插值算子的凸組合來(lái)構(gòu)造三角曲面片,其中每個(gè)插值算子滿(mǎn)足一個(gè)點(diǎn)及其對(duì)邊上的插值條件。
記iS 為頂點(diǎn)iV 所對(duì)應(yīng)邊的點(diǎn)(如圖3 所示),則iS 的坐標(biāo)為
圖3 Di[F]插值的幾何解釋
將Nielson 中基本插值算子 iD 中的廣義三次 Hermite 多項(xiàng)式用第二類(lèi)H-Hermite 多項(xiàng)式替換,有
其中
這里 )(QFx, )(QFy分別表示 ),( yxF 在Q 點(diǎn)的x 方向和y 方向偏導(dǎo)數(shù)。
將 D1[F]、 D2[F]、 D3[F]凸組合,定義曲面
上述的權(quán)函數(shù)具有性質(zhì):
定理2 若 ),( yxF )(1 TC ?∈ ,則當(dāng)( x, y)∈?T 時(shí), D[ F]插值 F ( x,y)及其一階導(dǎo)矢。
證 明從式(4)知第二類(lèi)H-Hermite 多項(xiàng)式與Nielson 的邊點(diǎn)法的廣義Hermite 多項(xiàng)式有相同的性質(zhì)。即可證明。
不妨稱(chēng)式(10)的插值方法為H-邊點(diǎn)法。
推論2 當(dāng) 0→α 時(shí), ][FD 是通常的邊- 點(diǎn)方法的插值算子。
證 明可以按照與Zhang[14]類(lèi)似的方法證明當(dāng) 0→α 時(shí),第二類(lèi)H-Hermite 多項(xiàng)式即為Nielson 的邊-點(diǎn)法的廣義Hermite 多項(xiàng)式。
本節(jié)通過(guò)實(shí)際例子,說(shuō)明前面插值格式的有效性。由于在基本插值算子中,含有分母項(xiàng),作者選用優(yōu)秀的符號(hào)計(jì)算軟件Mathematic 繪圖。
圖4 邊-邊法插值的曲面
圖5 邊-點(diǎn)法插值曲面的曲面
從圖4、圖5 的實(shí)際圖形可以看出,本文給定的方法都含有形狀參數(shù)α ,調(diào)整形狀參數(shù)的值可改變曲面的內(nèi)部形狀,而不影響曲面的邊界形狀。
在三角形域上,用兩種不同的H-Hermite 多項(xiàng)式代替Hermite 多項(xiàng)式得到了三種C1連續(xù)插值邊界數(shù)據(jù)的三角曲面片。構(gòu)造的三角曲面片均含有形狀參數(shù)α ,調(diào)整α 的值,可改變曲面的內(nèi)部形狀,而不影響曲面的邊界形狀,當(dāng)α 0→ 時(shí),可退化為通常的邊-邊與邊-點(diǎn)方法插值的曲面片。最后,實(shí)例顯示了本文方法的實(shí)際效果。
[1] Barnhill R E, Birkhoff G, Gordon WJ. 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: 214?225.
[3] Barnhill R E, Gregory J A. Polynomial interpolation to boundary data on triangles [J]. Mathematics of Computation, 1975, 29: 726?735.
[4] Gregory J A. Smooth interpolation without twist constraints[C]//Barnhill R E, Riesenfeld R F, eds. Computer Aided Geometric Design. New York: Academic Press, 1974: 71?88.
[5] Gregory J A. A blending function interpolant for triangles[C]//Multivariate Approximation. New York: Academic Press, 1978: 279?287.
[6] Gregory J A. C1rectangular and non-rectangular surface patches[C]//Barnhill R E, Boehm W, eds. Surfaces in Computer Aided Geometric Design. Amsterdam: North-Holland, 1983: 25?33.
[7] Barnhill R E, Little F F. Three-and four-dimensional surfaces [J]. Rocky Mountain J Math, 1984, 14: 77?102.
[8] Nielson G M. The side vertex method for interpolation in triangles [J]. J Approx Theory, 1979, 25: 318?336. [9] Hagen H. Geometric surface patches without twist constraints [J]. Computer Aided Geometric Design, 1986, 3(3): 179?184.
[10] Hagen H. Curvature continuous triangular interpolants[C]//Lyche T, Schumaker L, eds. Methods in CAGD. Oslo: Academic Press, 1989: 373?384.
[11] Nielson G M. A transfinite, visually continuous, triangular interpolant[C]//Farin G, ed. Geometric Modeling, Applications and New Trends, SIAM. Philadelphia, 1987: 235?246.
[12] 徐 琳. 三角域上的超限插值方法[J]. 軟件學(xué)報(bào), 2007, 18(2): 430?441.
[13] Brian A Barsky. local control of bias and tension in beta-splines [J]. Computer Graphics, 1983, 17(3): 193?218.
[14] Zhang Jiwen. C-curves: an extension of cubic curves [J]. Computer Aided Geometric Design, 1996, 13: 199?217.
[15] Wang Guozhao, Yang Qinmin. Planar cubic hybrid hyperbolic polynomial curve and its shape classification [J]. Progress in Natural Science, 2004, 14(1): 41?46.
[16] 胡晴峰, 汪國(guó)昭. 雙曲混合多項(xiàng)式形式的Ball曲線(xiàn)[J]. 浙江大學(xué)學(xué)報(bào)(理學(xué)版), 2004, 31(6): 625?630.
[17] Li Yajuan, Wang Guozhao. Two kinds of B-basis of the algebraic hyperbolic space [J]. Journal of Zhejiang University SCIENCE, 2005, 6A(7): 750?759.
[18] Lu Yonggang, Wang Guozhao, Yang Xunnian. Uniform hyperbolic polynomial B-spline curves [J]. Computer Aided Geometric Design, 2002, 19(6): 379?393.