沈永超, 方美娥
(杭州電子科技大學圖形圖像研究所,浙江 杭州 310027)
基于推廣B樣條細分方法的曲面混合
沈永超, 方美娥
(杭州電子科技大學圖形圖像研究所,浙江 杭州 310027)
提出用推廣B樣條細分曲面來混合多張曲面的方法,既適用于一般網格曲面,又適用于推廣B樣條參數曲面混合。根據需要選擇階數和張力參數,可全局調整整張混合曲面的形狀。中心點和谷點的計算都設置了形狀參數,可局部調整混合部分形狀。推導出二次曲面細分初始網格計算公式,并將3階推廣B樣條細分曲面混合方法用于多張二次曲面混合,與已有的二次曲面混合方法相比具有明顯的優勢。
曲面混合;推廣B樣條細分;控制網格;二次曲面
曲面混合是計算機輔助幾何設計領域中曲面造型的常用技術,大量文獻對該問題進行了研究[1-7],多張曲面混合方法包括偏微分方程法(partial differential equation, PDE)、勢能方法、隱式曲面方法、參數曲面方法以及細分混合方法等。這些方法有各自的優缺點,但對于多張曲面混合情形,其中大多數方法在混合部分需要多張曲面拼接,可導致各部分曲面不兼容,拼接處的連續性比基曲面低,也不利于混合造型的后續操作,從這個角度看,細分混合方法具有較大優勢,混合后的造型是一張整體的細分曲面,不存在拼接問題,且連續性與所選擇的細分方法一致,混合效果較好。文獻[7]提出的細分混合方法具有代表性,其可用于4×5的曲面片的混合,采用Catmull-Clark細分方法,因此可用于一般網格混合,也可用于基曲面是雙三次B樣條的情形。本文研究基于推廣B樣條細分方法(generalized B-spline subdivision, GBS)的多張曲面混合,適用于一般網格混合以及任意次的推廣B樣條曲面混合,曲面次數的任意性和該方法具有的張力參數可調性也使得混合造型曲面形狀調整方便,由于GBS方法可精確生成二次曲面,因此本文方法也可用于二次曲面混合。
GBS方法是一種任意拓撲網格上任意階帶張力參數的非靜態細分方法,細分極限曲面在規則網格上為任意次推廣B樣條曲面(包含經典的B樣條曲面、三角多項式空間及雙曲多項式空間B樣條曲面),詳見文獻[8],這里給出偶數階和奇數階的推廣B樣條細分規則。
1.1偶數階推廣B樣條曲面細分
令細分階數為k,k為偶數,且k≥4,張力參數初值為u0。在細分的第l層,假定當前控制網格為Ml,細分張力參數為ul,則第l層k階推廣B樣條曲面細分包括3個步驟:①中點插入;②非均勻光滑;③次均勻光滑。在中點插入步驟中,為網格每條邊計算中點,為每個面計算中心點。然后,連接每點中心點和與該面相鄰接的中點,并添加到Ml中,形成新的網格,記作Ml+1。在非均勻光滑步驟中,網格的拓撲結構不變,只更新網格頂點。更新頂點的規則為:, VE和Vold是在同一條邊上的點,而VF和Vold是在同一個面上的點,取,,且α(N)+β( N)+γ( N)=1,N為相應頂點的鄰接邊數。在均勻光滑步驟中,網格的拓撲結構同樣保持不變,頂點更新規則與非均勻光滑步驟類似,但系數不同,取。另外,每細分一層,細分張力參數按公式迭代更新一次。
1.2奇數階推廣B樣條曲面細分(一層)
令細分階數為k,k為奇數,且k≥3。在細分的第l層,假定當前控制網格為Ml,細分張力參數為u1,則第l層k階推廣B樣條曲面細分包括2個步驟:①一次類Chaikin細化;②次均勻光滑。第一步中,計算每個面中每個頂點的新頂點,即,這里是在當前面中位于同一條邊上的點,而是當前面中除了Vold和的點,其中取,,拓撲規則與Doo-Sabin細分方法相同。第二步拓撲不變,頂點更新規則與偶數階算法第三步類似,系數不同,取,。每層細分張力參數按公式迭代更新一次。
文獻[7]針對4×5的網格提出了混合控制網格構造方法,本文為了混合網格適用于任意規模的網格,只提取基曲面2×2的部分網格來構造填補混合部分N邊形洞的控制網格,基曲面其余部分網格則采用鄰接面連接的方式填充混合網格,其頂點計算公式與提取部分邊緣網格頂點相同,因此整個混合部分控制網格構造方法簡單。為了避免中心點成為高階奇異點,采取了中心點向外偏移的辦法構造中心多邊形網格,避免了中心奇異點的出現。混合網格構造分為4個步驟:輔助點、谷點、中心點計算以及網格拓撲構建。給定基曲面片為N片曲面,記第k片曲面Pk的控制網格為。
2.1計算輔助點
在每個基曲面上提取2×2四邊形控制網格,借此構造3行輔助頂點,由于對每個基曲面的操作相同,選取第k個基曲面為例,令其上提取的四邊形控制網格的 4個頂點為(在增加輔助點后的網格示意圖 1中這 4個點重新編號,分別對應。如圖1所示,是和的中點;是和的中點;是和的中點;是的和的平均;是和的中點;是和的中點;是點和的平均;是,,,和的平均;是的和的平均。由此構造的前3行頂點就是構造混合控制網格時要用到的輔助點。

圖1 輔助點計算
2.2計算中心點
中心點V0的計算公式如下:

其中,α是可以任意指定的形狀控制參數。該公式能使中心點基本位于頂點集的中心,且偏離中心的方向與向量的和同向,由公式可以看出α越大,中心點在向量的和的方向上偏離得就越大。如果直接把V0與各個曲面片的相連,V0的度為N。當N很大時,V0的度就會很大,V0就成為度很高的奇異點。為了避免這種情況,將中心點分別沿的方向上偏移。公式如下:

2.3計算谷點

其中,kα是可以任意選擇的形狀控制參數,kα越大,與的和的方向上的偏移就越大。
2.4混合網格拓撲構建
2.4.1階為奇數
對 N個曲面片進行如下循環操作:對于第k(1, …, N)個曲面片,將,,依次相連形成一個四邊形;將依次相連形成一個三角形;將依次相連形成一個三角形。最后依次連接N個中心偏移點,形成N邊形,如圖2(a)所示,其中在圖中重新編號為,表示第k個谷點的前一個谷點,在圖中重新編號為。
2.4.2階為偶數

圖2 混合網格拓撲構建示意圖
圖3給出了一個六管道曲面混合的例子。圖3(a)是六管道的控制網格,圖3(b)是圖3(a)混合之后的控制網格。然后用GBS方法對圖3(b)混合之后的網格進行細分,圖3(c)是設置階為4,張力參數為2時的結果,圖3(d)是階為8,張力參數為0.7的結果,取不同的階數和張力參數得到不同形狀的混合曲面,可方便地調整混合曲面的形狀。混合曲面的光滑性較好,連續性與GBS曲面一致,即采用k階GBS方法混合則混合曲面整體保持Ck- 2階連續,只有奇異點處為C1連續,關于GBS曲面的連續性證明見文獻[8]。

圖3 六管道曲面混合
針對多張二次曲面的混合問題也有很多相關研究,如Gr?nder基方法[9]、吳方法[10]、分片代數曲面方法[11]、切分結合S曲面補洞方法等[12],與一般曲面混合類似,這些方法也存在多張曲面拼接問題,或要求基曲面滿足較嚴格的約束條件,PDE方法及已有的細分混合方法也可用于二次曲面混合,但混合結果只能逼近作為基曲面的二次曲面。由于GBS曲面能精確生成二次曲面,因此運用本文提出的GBS混合方法混合多張二次曲面可以克服已有方法的缺陷,最終的混合曲面為一張細分曲面,方法簡單,又具有細分方法的高效性,且不存在拼接問題,由于采用3階的GBS方法混合二次曲面,因此除個別奇異點外,整張混合曲面保持C1連續。
3階GBS方法混合二次曲面步驟如下:首先根據基曲面所屬二次曲面的類型,計算出精確表示這些基曲面的GBS初始網格,同時確定張力參數,算法詳見3.1節,然后運用2.4節的方法構造混合曲面初始網格,再利用3階GBS方法生成最終的混合曲面。
3.1二次曲面(基曲面)細分初始網格構造
由于二次曲面(圓柱面、拋物面、雙曲面、球面、圓錐面)可以看成二次曲線母線(直線、拋物線、雙曲線、圓弧、射線)繞其軸線生成的旋轉面,因此根據文獻[8]旋轉曲面的細分初始網格算法,只需要推導出這些二次曲線的3階推廣B樣條控制網格即可,然后利用文獻[8]的算法2可計算對應二次曲面的細分初始網格。
為公式推導方便,先根據文獻[8]對應的推廣B樣條基函數給出3階推廣B樣條基函數及曲線的定義:

當ω=0時,Ni,2(t)按L’Hospital法則計算。若給定控制頂點序列,則表示以為控制多邊形的3階推廣B樣條曲線。
下面分別推導3階推廣B樣條曲線精確表示拋物線、雙曲線和圓弧的控制頂點計算公式,由于GBS是對應細分方法的極限曲線,因此該控制頂點也是3階推廣B樣條細分生成的初始網格頂點。
(1) 令拋物線的標準方程為(x(t), y(t))=(t,at2+bt+ c), t∈[t1, t2),根據ω=0,P( t)=(x(t), y(t))求解可得細分生成該段拋物線的初始網格頂點Pi=(xi, yi)(i=0,1,2)滿足:

(2) 令雙曲線的標準方程為(x( t),y(t)) =(acosh(t), bsinh(t)), t∈[t1, t2),根據ω=i, P( t)=(x( t), y( t))求解可得細分生成該段拋物線的初始網格頂點Pi( xi, yi)(i=0,1,2)滿足:

(3) 令圓弧的標準方程為(x(t),y(t))=(acost , asint), t∈[t1, t2),根據ω=1,P(t)=(x(t), y(t))求解可得細分生成該段拋物線的初始網格頂點Pi( xi, yi)(i=0,1,2)滿足:

對于一般方程,均可通過坐標變換轉換成標準形式,根據標準方程計算出的控制頂點實施相應的逆坐標變換即可獲得該曲線的控制頂點。
3.2二次曲面混合實例
給出4個圖例來展示用本文的混合方法混合二次曲面的效果,因為基曲面都是二次曲面,均采用3階的GBS混合方法,張力參數與基曲面一致,其中圖4(a)取u0=1,圖4(b)、(d)中取 u0=cos(π/4),圖4(c)取 u0=cosh(π/4)。
推廣B樣條包含了經典的B樣條、三角多項式樣條和雙曲多項式樣條,因此基于推廣B樣條的細分方法在造型上具有適用于任意規模網格、階數任意、張力參數可調的優勢,又能精確地細分生成二次曲面,本文將其應用于一般曲面混合,比已有的細分混合方法造型更豐富,形狀調整更方便,應用于二次曲面混合,比已有方法具有面片數少,混合方法簡單,效率高等優勢。但奇數階混合網格中存在一些奇異點影響混合效果,未來工作將進一步改進混合部分控制網格構造方法,減少奇異頂點。

圖4 二次曲面混合結果
[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–),男,浙江臺州人,碩士研究生。主要研究方向為計算機圖形學。E-mail:lunnersword@163.com
方美娥(1974–),女,湖南衡陽人,教授,博士。主要研究方向為計算機輔助幾何設計與計算機圖形學。E-mail:fme@hdu.edu.cn