沈永超, 方美娥
(杭州電子科技大學(xué)圖形圖像研究所,浙江 杭州 310027)
基于推廣B樣條細(xì)分方法的曲面混合
沈永超, 方美娥
(杭州電子科技大學(xué)圖形圖像研究所,浙江 杭州 310027)
提出用推廣B樣條細(xì)分曲面來混合多張曲面的方法,既適用于一般網(wǎng)格曲面,又適用于推廣B樣條參數(shù)曲面混合。根據(jù)需要選擇階數(shù)和張力參數(shù),可全局調(diào)整整張混合曲面的形狀。中心點(diǎn)和谷點(diǎn)的計算都設(shè)置了形狀參數(shù),可局部調(diào)整混合部分形狀。推導(dǎo)出二次曲面細(xì)分初始網(wǎng)格計算公式,并將3階推廣B樣條細(xì)分曲面混合方法用于多張二次曲面混合,與已有的二次曲面混合方法相比具有明顯的優(yōu)勢。
曲面混合;推廣B樣條細(xì)分;控制網(wǎng)格;二次曲面
曲面混合是計算機(jī)輔助幾何設(shè)計領(lǐng)域中曲面造型的常用技術(shù),大量文獻(xiàn)對該問題進(jìn)行了研究[1-7],多張曲面混合方法包括偏微分方程法(partial differential equation, PDE)、勢能方法、隱式曲面方法、參數(shù)曲面方法以及細(xì)分混合方法等。這些方法有各自的優(yōu)缺點(diǎn),但對于多張曲面混合情形,其中大多數(shù)方法在混合部分需要多張曲面拼接,可導(dǎo)致各部分曲面不兼容,拼接處的連續(xù)性比基曲面低,也不利于混合造型的后續(xù)操作,從這個角度看,細(xì)分混合方法具有較大優(yōu)勢,混合后的造型是一張整體的細(xì)分曲面,不存在拼接問題,且連續(xù)性與所選擇的細(xì)分方法一致,混合效果較好。文獻(xiàn)[7]提出的細(xì)分混合方法具有代表性,其可用于4×5的曲面片的混合,采用Catmull-Clark細(xì)分方法,因此可用于一般網(wǎng)格混合,也可用于基曲面是雙三次B樣條的情形。本文研究基于推廣B樣條細(xì)分方法(generalized B-spline subdivision, GBS)的多張曲面混合,適用于一般網(wǎng)格混合以及任意次的推廣B樣條曲面混合,曲面次數(shù)的任意性和該方法具有的張力參數(shù)可調(diào)性也使得混合造型曲面形狀調(diào)整方便,由于GBS方法可精確生成二次曲面,因此本文方法也可用于二次曲面混合。
GBS方法是一種任意拓?fù)渚W(wǎng)格上任意階帶張力參數(shù)的非靜態(tài)細(xì)分方法,細(xì)分極限曲面在規(guī)則網(wǎng)格上為任意次推廣B樣條曲面(包含經(jīng)典的B樣條曲面、三角多項(xiàng)式空間及雙曲多項(xiàng)式空間B樣條曲面),詳見文獻(xiàn)[8],這里給出偶數(shù)階和奇數(shù)階的推廣B樣條細(xì)分規(guī)則。
1.1偶數(shù)階推廣B樣條曲面細(xì)分
令細(xì)分階數(shù)為k,k為偶數(shù),且k≥4,張力參數(shù)初值為u0。在細(xì)分的第l層,假定當(dāng)前控制網(wǎng)格為Ml,細(xì)分張力參數(shù)為ul,則第l層k階推廣B樣條曲面細(xì)分包括3個步驟:①中點(diǎn)插入;②非均勻光滑;③次均勻光滑。在中點(diǎn)插入步驟中,為網(wǎng)格每條邊計算中點(diǎn),為每個面計算中心點(diǎn)。然后,連接每點(diǎn)中心點(diǎn)和與該面相鄰接的中點(diǎn),并添加到Ml中,形成新的網(wǎng)格,記作Ml+1。在非均勻光滑步驟中,網(wǎng)格的拓?fù)浣Y(jié)構(gòu)不變,只更新網(wǎng)格頂點(diǎn)。更新頂點(diǎn)的規(guī)則為:, VE和Vold是在同一條邊上的點(diǎn),而VF和Vold是在同一個面上的點(diǎn),取,,且α(N)+β( N)+γ( N)=1,N為相應(yīng)頂點(diǎn)的鄰接邊數(shù)。在均勻光滑步驟中,網(wǎng)格的拓?fù)浣Y(jié)構(gòu)同樣保持不變,頂點(diǎn)更新規(guī)則與非均勻光滑步驟類似,但系數(shù)不同,取。另外,每細(xì)分一層,細(xì)分張力參數(shù)按公式迭代更新一次。
1.2奇數(shù)階推廣B樣條曲面細(xì)分(一層)
令細(xì)分階數(shù)為k,k為奇數(shù),且k≥3。在細(xì)分的第l層,假定當(dāng)前控制網(wǎng)格為Ml,細(xì)分張力參數(shù)為u1,則第l層k階推廣B樣條曲面細(xì)分包括2個步驟:①一次類Chaikin細(xì)化;②次均勻光滑。第一步中,計算每個面中每個頂點(diǎn)的新頂點(diǎn),即,這里是在當(dāng)前面中位于同一條邊上的點(diǎn),而是當(dāng)前面中除了Vold和的點(diǎn),其中取,,拓?fù)湟?guī)則與Doo-Sabin細(xì)分方法相同。第二步拓?fù)洳蛔?,頂點(diǎn)更新規(guī)則與偶數(shù)階算法第三步類似,系數(shù)不同,取,。每層細(xì)分張力參數(shù)按公式迭代更新一次。
文獻(xiàn)[7]針對4×5的網(wǎng)格提出了混合控制網(wǎng)格構(gòu)造方法,本文為了混合網(wǎng)格適用于任意規(guī)模的網(wǎng)格,只提取基曲面2×2的部分網(wǎng)格來構(gòu)造填補(bǔ)混合部分N邊形洞的控制網(wǎng)格,基曲面其余部分網(wǎng)格則采用鄰接面連接的方式填充混合網(wǎng)格,其頂點(diǎn)計算公式與提取部分邊緣網(wǎng)格頂點(diǎn)相同,因此整個混合部分控制網(wǎng)格構(gòu)造方法簡單。為了避免中心點(diǎn)成為高階奇異點(diǎn),采取了中心點(diǎn)向外偏移的辦法構(gòu)造中心多邊形網(wǎng)格,避免了中心奇異點(diǎn)的出現(xiàn)?;旌暇W(wǎng)格構(gòu)造分為4個步驟:輔助點(diǎn)、谷點(diǎn)、中心點(diǎn)計算以及網(wǎng)格拓?fù)錁?gòu)建。給定基曲面片為N片曲面,記第k片曲面Pk的控制網(wǎng)格為。
2.1計算輔助點(diǎn)
在每個基曲面上提取2×2四邊形控制網(wǎng)格,借此構(gòu)造3行輔助頂點(diǎn),由于對每個基曲面的操作相同,選取第k個基曲面為例,令其上提取的四邊形控制網(wǎng)格的 4個頂點(diǎn)為(在增加輔助點(diǎn)后的網(wǎng)格示意圖 1中這 4個點(diǎn)重新編號,分別對應(yīng)。如圖1所示,是和的中點(diǎn);是和的中點(diǎn);是和的中點(diǎn);是的和的平均;是和的中點(diǎn);是和的中點(diǎn);是點(diǎn)和的平均;是,,,和的平均;是的和的平均。由此構(gòu)造的前3行頂點(diǎn)就是構(gòu)造混合控制網(wǎng)格時要用到的輔助點(diǎn)。
圖1 輔助點(diǎn)計算
2.2計算中心點(diǎn)
中心點(diǎn)V0的計算公式如下:
其中,α是可以任意指定的形狀控制參數(shù)。該公式能使中心點(diǎn)基本位于頂點(diǎn)集的中心,且偏離中心的方向與向量的和同向,由公式可以看出α越大,中心點(diǎn)在向量的和的方向上偏離得就越大。如果直接把V0與各個曲面片的相連,V0的度為N。當(dāng)N很大時,V0的度就會很大,V0就成為度很高的奇異點(diǎn)。為了避免這種情況,將中心點(diǎn)分別沿的方向上偏移。公式如下:
2.3計算谷點(diǎn)
其中,kα是可以任意選擇的形狀控制參數(shù),kα越大,與的和的方向上的偏移就越大。
2.4混合網(wǎng)格拓?fù)錁?gòu)建
2.4.1階為奇數(shù)
對 N個曲面片進(jìn)行如下循環(huán)操作:對于第k(1, …, N)個曲面片,將,,依次相連形成一個四邊形;將依次相連形成一個三角形;將依次相連形成一個三角形。最后依次連接N個中心偏移點(diǎn),形成N邊形,如圖2(a)所示,其中在圖中重新編號為,表示第k個谷點(diǎn)的前一個谷點(diǎn),在圖中重新編號為。
2.4.2階為偶數(shù)
圖2 混合網(wǎng)格拓?fù)錁?gòu)建示意圖
圖3給出了一個六管道曲面混合的例子。圖3(a)是六管道的控制網(wǎng)格,圖3(b)是圖3(a)混合之后的控制網(wǎng)格。然后用GBS方法對圖3(b)混合之后的網(wǎng)格進(jìn)行細(xì)分,圖3(c)是設(shè)置階為4,張力參數(shù)為2時的結(jié)果,圖3(d)是階為8,張力參數(shù)為0.7的結(jié)果,取不同的階數(shù)和張力參數(shù)得到不同形狀的混合曲面,可方便地調(diào)整混合曲面的形狀。混合曲面的光滑性較好,連續(xù)性與GBS曲面一致,即采用k階GBS方法混合則混合曲面整體保持Ck- 2階連續(xù),只有奇異點(diǎn)處為C1連續(xù),關(guān)于GBS曲面的連續(xù)性證明見文獻(xiàn)[8]。
圖3 六管道曲面混合
針對多張二次曲面的混合問題也有很多相關(guān)研究,如Gr?nder基方法[9]、吳方法[10]、分片代數(shù)曲面方法[11]、切分結(jié)合S曲面補(bǔ)洞方法等[12],與一般曲面混合類似,這些方法也存在多張曲面拼接問題,或要求基曲面滿足較嚴(yán)格的約束條件,PDE方法及已有的細(xì)分混合方法也可用于二次曲面混合,但混合結(jié)果只能逼近作為基曲面的二次曲面。由于GBS曲面能精確生成二次曲面,因此運(yùn)用本文提出的GBS混合方法混合多張二次曲面可以克服已有方法的缺陷,最終的混合曲面為一張細(xì)分曲面,方法簡單,又具有細(xì)分方法的高效性,且不存在拼接問題,由于采用3階的GBS方法混合二次曲面,因此除個別奇異點(diǎn)外,整張混合曲面保持C1連續(xù)。
3階GBS方法混合二次曲面步驟如下:首先根據(jù)基曲面所屬二次曲面的類型,計算出精確表示這些基曲面的GBS初始網(wǎng)格,同時確定張力參數(shù),算法詳見3.1節(jié),然后運(yùn)用2.4節(jié)的方法構(gòu)造混合曲面初始網(wǎng)格,再利用3階GBS方法生成最終的混合曲面。
3.1二次曲面(基曲面)細(xì)分初始網(wǎng)格構(gòu)造
由于二次曲面(圓柱面、拋物面、雙曲面、球面、圓錐面)可以看成二次曲線母線(直線、拋物線、雙曲線、圓弧、射線)繞其軸線生成的旋轉(zhuǎn)面,因此根據(jù)文獻(xiàn)[8]旋轉(zhuǎn)曲面的細(xì)分初始網(wǎng)格算法,只需要推導(dǎo)出這些二次曲線的3階推廣B樣條控制網(wǎng)格即可,然后利用文獻(xiàn)[8]的算法2可計算對應(yīng)二次曲面的細(xì)分初始網(wǎng)格。
為公式推導(dǎo)方便,先根據(jù)文獻(xiàn)[8]對應(yīng)的推廣B樣條基函數(shù)給出3階推廣B樣條基函數(shù)及曲線的定義:
當(dāng)ω=0時,Ni,2(t)按L’Hospital法則計算。若給定控制頂點(diǎn)序列,則表示以為控制多邊形的3階推廣B樣條曲線。
下面分別推導(dǎo)3階推廣B樣條曲線精確表示拋物線、雙曲線和圓弧的控制頂點(diǎn)計算公式,由于GBS是對應(yīng)細(xì)分方法的極限曲線,因此該控制頂點(diǎn)也是3階推廣B樣條細(xì)分生成的初始網(wǎng)格頂點(diǎn)。
(1) 令拋物線的標(biāo)準(zhǔn)方程為(x(t), y(t))=(t,at2+bt+ c), t∈[t1, t2),根據(jù)ω=0,P( t)=(x(t), y(t))求解可得細(xì)分生成該段拋物線的初始網(wǎng)格頂點(diǎn)Pi=(xi, yi)(i=0,1,2)滿足:
(2) 令雙曲線的標(biāo)準(zhǔn)方程為(x( t),y(t)) =(acosh(t), bsinh(t)), t∈[t1, t2),根據(jù)ω=i, P( t)=(x( t), y( t))求解可得細(xì)分生成該段拋物線的初始網(wǎng)格頂點(diǎn)Pi( xi, yi)(i=0,1,2)滿足:
(3) 令圓弧的標(biāo)準(zhǔn)方程為(x(t),y(t))=(acost , asint), t∈[t1, t2),根據(jù)ω=1,P(t)=(x(t), y(t))求解可得細(xì)分生成該段拋物線的初始網(wǎng)格頂點(diǎn)Pi( xi, yi)(i=0,1,2)滿足:
對于一般方程,均可通過坐標(biāo)變換轉(zhuǎn)換成標(biāo)準(zhǔn)形式,根據(jù)標(biāo)準(zhǔn)方程計算出的控制頂點(diǎn)實(shí)施相應(yīng)的逆坐標(biāo)變換即可獲得該曲線的控制頂點(diǎn)。
3.2二次曲面混合實(shí)例
給出4個圖例來展示用本文的混合方法混合二次曲面的效果,因?yàn)榛娑际嵌吻?,均采?階的GBS混合方法,張力參數(shù)與基曲面一致,其中圖4(a)取u0=1,圖4(b)、(d)中取 u0=cos(π/4),圖4(c)取 u0=cosh(π/4)。
推廣B樣條包含了經(jīng)典的B樣條、三角多項(xiàng)式樣條和雙曲多項(xiàng)式樣條,因此基于推廣B樣條的細(xì)分方法在造型上具有適用于任意規(guī)模網(wǎng)格、階數(shù)任意、張力參數(shù)可調(diào)的優(yōu)勢,又能精確地細(xì)分生成二次曲面,本文將其應(yīng)用于一般曲面混合,比已有的細(xì)分混合方法造型更豐富,形狀調(diào)整更方便,應(yīng)用于二次曲面混合,比已有方法具有面片數(shù)少,混合方法簡單,效率高等優(yōu)勢。但奇數(shù)階混合網(wǎng)格中存在一些奇異點(diǎn)影響混合效果,未來工作將進(jìn)一步改進(jìn)混合部分控制網(wǎng)格構(gòu)造方法,減少奇異頂點(diǎn)。
圖4 二次曲面混合結(jié)果
[1] Zhang J J, You L H. PDE based surface representation-vase design [J]. Computers & Graphics 2002, 26(1): 89-98.
[2] You L H, Comninos P, Zhang J J. PDE blending surfaces with C2 continuity [J]. Computers & Graphics, 2004, 28(6): 895-906.
[3] Hartmann E. Blending an implicit with a parametric surface [J]. Computer Aided Geometric Design, 1995, 12(12): 825-835.
[4] Vida J, Matin R R, Varady T. A survey of blending methods that use parametric surfaces [J]. Computer-Aided Design, 1994, 26(5): 341-365.
[5]Liu Y S, Zhang H, Yong J H, et al. Mesh blending [J]. The Visual Computer, 2005, 21(11): 915-927.
[6] Ohbuchi R, Kokojima Y, Takahashi S. Blending shapes by using subdivision surfaces [J]. Computers & Graphics, 2001, 25(1): 41-58.
[7] Li G Q, Li H. Blending parametric patches with subdivision surfaces [J]. Journal of Computer Science and Technology, 2002, 17(4): 498-506.
[8]Fang M E, Ma W Y, Wang G Z. A generalized surface subdivision scheme of arbitrary order with a tension parameter [J]. Computer-Aided Design, 2014, 49(4): 8-17.
[9] Wu T R, Zhou Y S. On blending of several quadratic algebraic surfaces [J]. Computer Aided Geometric Design, 2000, 17(8): 759-766.
[10] Chen F L, Deng J S, Feng Y Y. Algebraic surface blending using Wu’s method [J]. Computer & Mathematics, 2000, (8): 172-181.
[11] Chen C S, Chen F L, Feng Y Y. Blending quadric surfaces with piecew ise algebraic surfaces [J]. Graphical Models, 2001, 63(4): 212-227.
[12] Fang M E, Wang G Z, Ma W Y. N-way blending problem of circular quadrics [J]. Science China Information Sciences, 2010, 53(8): 1546-1554.
Surface Blending Based on Generalized B-Sp line Subdivision
Shen Yongchao,Fang Meie
(Institute of Graphics and Image, Hangzhou Dianzi University, Hangzhou Zhejiang 310027, China)
This article uses generalized B-spline subdivision scheme of arbitrary order with a tension parameter to blend several surfaces, which is suitable to blending both meshes with arbitrary sizes and generalized B-spline control meshes. The shape of blending surfaces can be adjusted globally through changing the order or the tension parameter. Shape parameters are also set during computing central points and valley points. So users can adjust them to locally change the shape of blending section. In addition, we apply the proposed blending method to blend quadrics. The blending results are apparently better than those of existing methods.
surface blending; generalized B-spline subdivision; control meshes; quadrics
TP 391
10.11996/JG.j.2095-302X.2016020172
A
2095-302X(2016)02-0172-06
2015-09-24;定稿日期:2015-11-01
沈永超(1991–),男,浙江臺州人,碩士研究生。主要研究方向?yàn)橛嬎銠C(jī)圖形學(xué)。E-mail:lunnersword@163.com
方美娥(1974–),女,湖南衡陽人,教授,博士。主要研究方向?yàn)橛嬎銠C(jī)輔助幾何設(shè)計與計算機(jī)圖形學(xué)。E-mail:fme@hdu.edu.cn