李 薇, 吳卓奇, 荻原一郎
(1.南京信息工程大學(xué)數(shù)理學(xué)院,江蘇 南京 210044;2.上海交通大學(xué)機(jī)械與動(dòng)力工程學(xué)院,上海 200240;3.東京工業(yè)大學(xué)理工學(xué)研究科,日本 東京 152-8550)
自由曲面在計(jì)算機(jī)輔助設(shè)計(jì)(CAD)及幾何模 型等領(lǐng)域有著重要和廣泛的應(yīng)用。我們知道,B樣條和有理B樣條已經(jīng)成為自由曲線曲面表示的標(biāo)準(zhǔn),具有參數(shù)曲面表示和精確表示圓錐曲面等優(yōu)點(diǎn),但是由于其多項(xiàng)式及有理多項(xiàng)式的表示形式會(huì)產(chǎn)生一些局限性,例如,它在張量積的拓?fù)浞矫娴南拗剖且粋€(gè)很大的缺點(diǎn),往往會(huì)為了滿足數(shù)據(jù)網(wǎng)格的拓?fù)浣Y(jié)構(gòu)而增加多余的控制點(diǎn),從而給幾何造型增加了難度。其有理多項(xiàng)式的表示形式,求導(dǎo)求積分復(fù)雜繁瑣,而且微分后分母的階數(shù)過(guò)高,給討論其連續(xù)拼接時(shí)增加了困難。另外有理 B樣條中的每個(gè)控制點(diǎn)都有的權(quán)因子的確定方法也不明確,再就是它也不能精確的表示像螺旋線,擺線等一些超越函數(shù)曲線[1]。
為了克服上述問(wèn)題,ZhangJiwen[2-4]和Pottmann[5]分別考慮了由基底{sin t, cos t, t, 1}產(chǎn)生的C-B樣條曲線。由C-B樣條曲線可以構(gòu)造張量積型曲面[4],我們?cè)谶@篇文章中利用邊-頂點(diǎn)方法[6]構(gòu)造插值算子, 再將這些算子進(jìn)行凸性組合[7-9],分別將 C-B樣條曲線推廣成三角形曲面片和四邊形曲面片,它可以用于CAD的逆向工程的測(cè)量數(shù)據(jù)網(wǎng)格的曲面重建。
C曲線由基底函數(shù){sin t, cos t, t, 1}生成,它不僅可以精確表示二次曲線,還可以表示工程中用到的螺旋線,擺線等一些超越函數(shù)曲線。C曲線和三次曲線具有類(lèi)似的結(jié)構(gòu)與性質(zhì),也有三種曲線形式,分別叫做C-Hermite多項(xiàng)式,C- Bézier曲線及 C-B樣條曲線。這里,我們只介紹 C-B樣條曲線,其他2種曲線生成曲面的方法類(lèi)似。
C-B樣條曲線在區(qū)間(0,)α(α≤π)的定義為
下面介紹重心坐標(biāo)[10]:
設(shè)T 是三維空間3個(gè)點(diǎn)T1,T2,T3為頂點(diǎn)的一個(gè)三角形,P為這個(gè)三角形所在平面上的一點(diǎn),P可以表示為
這里,u+v+w=1,u, v, w 叫做點(diǎn)P關(guān)于三角形T的重心坐標(biāo)。
首先,利用邊-頂點(diǎn)方法構(gòu)造3個(gè)插值算子
將這3個(gè)算子進(jìn)行凸性組合得到三角形曲面片如下
這里u, v, w 是重心坐標(biāo)。根據(jù)上式,3個(gè)算子插值于邊界曲線 F1,F(xiàn)2,F(xiàn)3及其一階導(dǎo)數(shù),所構(gòu)造的曲面片內(nèi)部是C1連續(xù)的。
若將式(2)中 3個(gè)算子的系數(shù)權(quán)函數(shù)表示為W1,W2,W3, 即
圖1顯示了三角形區(qū)域的邊界上的3條C-B曲線F1,F(xiàn)2,F(xiàn)3,圖2給出了由這3條C-B曲線所生成的三角形曲面。
圖1 邊界上的3條C-B曲線
圖2 由邊界上3條C-B曲線生成的三角形曲面
為了在定義域?yàn)樗倪呅蔚膮^(qū)域上生成四邊形曲面,類(lèi)似三角形曲面的生成方法,首先利用邊界上的4條C-B曲線F1,F(xiàn)2,F(xiàn)3,F(xiàn)4,構(gòu)造2個(gè)插值于邊界曲線 F1,F(xiàn)2,F(xiàn)3,F(xiàn)4及其一階導(dǎo)數(shù)的算子
下面的圖3及圖4顯示了上述方法的實(shí)驗(yàn)結(jié)果。
圖3 四邊形區(qū)域邊界上的4條C-B曲線
圖4 邊界上的4條C-B曲線生成的四邊形曲面
上述所構(gòu)造的曲面片可以用于CAD逆向工程。例如,用激光掃描或三維 CCD照相機(jī)可以得到幾何實(shí)體的一組測(cè)量數(shù)據(jù),將其網(wǎng)格化后,形成三角形或四邊形網(wǎng)格,然后在這些網(wǎng)格上生成光滑的復(fù)合曲面。
例1 一個(gè)狗的測(cè)量數(shù)據(jù)由640個(gè)點(diǎn)及1286個(gè)三角形組成如圖5所示,生成的復(fù)合曲面顯示于圖6。
圖5 狗的三角形網(wǎng)格
圖6 由狗的網(wǎng)格生成的曲面
例2 這是一組由三角形和四邊形混合組成的網(wǎng)格(圖7)生成的復(fù)合曲面(圖8)。
圖7 三角形和四邊形混合組成的網(wǎng)格
圖8 由混合網(wǎng)格生成的曲面
本文給出了將 C-B樣條曲線推廣成三角形和四邊形曲面片的方法。利用邊-頂點(diǎn)方法構(gòu)造插值算子,再將這些算子進(jìn)行凸性組合,可以構(gòu)造內(nèi)部C1連續(xù)的三角形曲面片和四邊形曲面片,通過(guò)實(shí)例驗(yàn)證了它可以用于CAD的逆向工程中散亂數(shù)據(jù)的曲面重構(gòu)。從實(shí)驗(yàn)結(jié)果,其保凸性、恢復(fù)形狀及內(nèi)部光滑性較好,但目前無(wú)法像伯恩斯坦多項(xiàng)式為基底的三角形曲面在曲面內(nèi)部有控制點(diǎn)可以進(jìn)行曲面形狀的調(diào)整,這是今后需努力的方向。另外今后還將探討所構(gòu)造的三角形曲面片和四邊形曲面片之間的光滑拼接條件和方法。
[1]Mainar E, Pe?a J M and Sánchez-Reyes J, Shape preserving alternatives to the rational Bézier model [J].Computer Aided Geometric Design, 2001, 18(1):37-60.
[2]Zhang Jiwen. C-curves: An extension of cubic curves [J].Computer Aided Geometric Design, 1996, 13(3):199-217.
[3]Zhang Jiwen. Two different forms of C-B-splines [J].Computer Aided Geometric Design, 1997, 14(1):31-41.
[4]Zhang Jiwen. C-Bézier curves and surfaces [J].Graphical Models and Image Processing, 1999, 61:2-15.
[5]Pottmann H, Wagner M G. Helix splines as an example of affine Tchebycheffian splines [J].Advances in Computational Mathematics, 1994, (2):123-142.
[6]Nielson G M. The side-vertex method for interpolation in triangles [J]. Journal of Approximation Theory,1979, 25: 318-336.
[7]Gregory J A. N-sided surface patches [C]//Gregory J.(Ed.), The Mathematics of Surfaces. Clarendon Press,Oxford, 1986: 217-232.
[8]Hagen H. Geometric surface patches without twist constraints [J]. Computer Aided Geometric Design,1986, 3(3): 179-184.
[9]Hagen H, Pottmann H. Curvature continuous triangular interpolants [C]//Lyche T, Schumaker L L. (Eds.),Mathematical Methods in Computer Aided Geometric Design, Academic Press, New York, 1989: 373-384.
[10]Farin G. Curves and surfaces for computer aided geometric design —— a practical guide [M]. Second Edition, Academic Press, 1990: 217-222.