包崇兵, 韓旭里
(中南大學(xué)數(shù)學(xué)科學(xué)與計(jì)算技術(shù)學(xué)院,湖南 長(zhǎng)沙 410083)
過(guò)渡曲面設(shè)計(jì)在CAD/CAM 中具有重要的地位。其目的是在相關(guān)曲面之間生成光滑的過(guò)渡曲面,在數(shù)學(xué)上,過(guò)渡曲面的構(gòu)造可以看作為如 下問(wèn)題:給定邊界為Ω? 的有界區(qū)域Ω,求解該區(qū)域上滿足給定邊界條件的曲面 ( , )u vX 。典型的邊界條件是以X 和它的一些導(dǎo)數(shù)在 Ω? 上的 值的形式給出,給定導(dǎo)數(shù)的階數(shù)取決于過(guò)渡曲面與原曲面的連續(xù)階。此外,在某些指定的意義下,對(duì)過(guò)渡曲面還可能有更進(jìn)一步的要求,如:光滑、不振蕩及與原實(shí)體不相交等。
PDE 幾何造型方法的思想就起源于將過(guò)渡曲面的構(gòu)造問(wèn)題看作一個(gè)偏微分方程的邊值問(wèn)題[1-7],這種方法簡(jiǎn)單易行,只要選定原曲面上的過(guò)渡線并計(jì)算出過(guò)渡線處原曲面的跨界導(dǎo)矢,就可用PDE 方法構(gòu)造出所需要的過(guò)渡曲面,實(shí)際應(yīng)用中,通常在三維歐氏空間構(gòu)造一張曲面 X =X ( x ( u , v ), y ( u , v ), z ( u , v))表示曲面上的點(diǎn),x = x ( u , v)是參數(shù) u ,v 的函數(shù),參數(shù)( u , v )可以視作平面區(qū)域Ω 中的點(diǎn)。X 可以視作由Ω 到三維空間 R3中的映射 X : Ω →R3,當(dāng) u ,v 分別為常數(shù)時(shí)的v線,u 線就定義為曲面上的坐標(biāo)系。 到目前為止PDE 幾何造型方法主要針對(duì)調(diào)和方程和類(lèi)雙調(diào)和方程進(jìn)行研究。
Bloor 等人自20 世紀(jì)80 年代將PDE 方法作為一種曲面設(shè)計(jì)工具引入CAGD 領(lǐng)域以來(lái),對(duì)PDE 方法的過(guò)渡曲面構(gòu)造進(jìn)行了大量的研究,使得該方法可以方便地構(gòu)造出大量實(shí)際問(wèn)題中的曲面實(shí)體。比如:船體、飛機(jī)外形、螺旋槳葉片等。國(guó)內(nèi)北京航空航天大學(xué)的朱心雄教授等對(duì)基于偏微分方程的曲面造型方法開(kāi)展了研究,并取得了一定的研究成果。然而,到目前為止用偏微分方程進(jìn)行曲面設(shè)計(jì)時(shí),人們通常采用如下形式的類(lèi)調(diào)和方程:
二階偏微分方程
其中 Bloor 等的文獻(xiàn)以及國(guó)內(nèi)的一些文獻(xiàn)中, 通常將右端項(xiàng) ( , )f u v 取為零,而僅通過(guò)調(diào)節(jié)形 狀參數(shù)a 及邊界條件來(lái)達(dá)到調(diào)節(jié)生成曲面形狀的目的。文獻(xiàn)[1]、[2]中,討論了二階和四階偏微分方程在過(guò)渡曲面設(shè)計(jì)中的應(yīng)用進(jìn)行了研究,分別用解析解和數(shù)值解的方法進(jìn)行了求解,并討論了形狀參數(shù)a 對(duì)過(guò)渡曲面形狀的影響。
文獻(xiàn)[8]中討論了Helmholtz 方程的各種解析解的形式及其解的特性,大量文獻(xiàn)研究了 Helmholtz 方程的求解及其在機(jī)械工程、聲學(xué)、熱能、電磁學(xué)等方面的應(yīng)用。就目前還沒(méi)有看到有文獻(xiàn)將Helmholtz 方程應(yīng)用于幾何造型設(shè)計(jì),因此本文給出了如下所示的橢圓型偏微分方程,對(duì)其在過(guò)渡曲面設(shè)計(jì)中的應(yīng)用進(jìn)行了研究,并討論了形狀控制參數(shù)對(duì)生成曲面形狀的影響。
Helmholtz 方程
及周期邊界條件
為了得到GC1連續(xù)的過(guò)渡曲面,將Helmholtz 方程進(jìn)行如下的擴(kuò)展,叫做bi-Helmholtz 方程
及周期邊界條件
其中 ( , )u vX 為所求曲面,求解區(qū)域Ω= {0 ≤ u ≤ 1,0 ≤ v≤ 2 π}, f0( v )和 f1( v)及0( )g v 和1( )g v 為給定的邊界曲線,0( )s v 和1( )s v 為對(duì)應(yīng)邊界曲線處的跨界導(dǎo)矢,A, B , C , D ,E 為給定的常數(shù)。
偏微分方程邊值問(wèn)題有諸多數(shù)值解法,如差分法、有限元法、邊界元法等,它們有各自的優(yōu)點(diǎn)和適用范圍,而差分方程最為簡(jiǎn)單、適用面廣、易于求解。
對(duì) 區(qū) 域 Ω= {0 ≤ u ≤ 1,0 ≤ v≤ 2 π}分割:將0 ≤ u≤ 1范圍內(nèi)的u 軸等分為m 段,每段的長(zhǎng)度為: Δu = 1/m;同理將v 軸分割成n段,每 段 長(zhǎng) 為: Δv = 2 π /n ,離 散 網(wǎng) 格 點(diǎn)( ui, vj), i =0,1, …, m , j =0,1, … ,n ,對(duì)方程(3)進(jìn)行離散化,其中 ( , )u vX 可以是 , ,x y z 中的任何一個(gè)分量。采用中心差分近似,以,i jX表示X ( u , v)在( ui, vj)處的值,對(duì) i =2, …, m?2, j = 2, … , n?2。由于
代入式(3)即得差分方程
在區(qū)域Ω 上共有( m ? 2) × ( n? 2)個(gè)內(nèi)點(diǎn),因此可以建立( m ? 2) × ( n? 2)個(gè)方程。但是,當(dāng) m ,n 較大時(shí),可以采用迭代方法解決這個(gè)問(wèn)題,迭代法首先把邊界條件變形為如下形式
其中
結(jié)合邊界點(diǎn),可以得到
迭代算法需要迭代初值的先驗(yàn)知識(shí),采用邊界值的平均作初值具有較好的效果,聯(lián)立(5)~(10)和周期邊界條件,可以得到問(wèn)題的數(shù)值解。分別對(duì) , ,x y z 分量求解即可構(gòu)造出所要曲面。
用偏微分方程邊值的方法來(lái)構(gòu)造過(guò)渡曲面,其具體步驟如下:
(1) 首先根據(jù)過(guò)渡曲面與原曲面之間的連續(xù)階來(lái)確定合適的偏微分方程。例如:若考慮兩 曲面之間進(jìn)行0GC 拼接,可采用二階偏微分方 程
若兩曲面之間進(jìn)行 GC1拼接則需要四階偏微分方程
(2) 確定所需要的過(guò)渡曲線,把過(guò)渡曲線作為過(guò)渡曲面的邊界,然后根據(jù)偏微分方程的階數(shù)以及原曲面來(lái)確定應(yīng)采用什么樣的邊界條件以及邊界條件值。例如:對(duì)二階偏微分方程,可采用未知函數(shù)在邊界線上的值作為邊界條件;而對(duì)于四階偏微分方程,則采用未知函數(shù)在邊界線的值和一階偏導(dǎo)數(shù)值作為邊界條件。
(3) 通過(guò)解析方法或者數(shù)值方法求解偏微分方程來(lái)生成過(guò)渡曲面。
下面用實(shí)例來(lái)說(shuō)明如何通過(guò)求解偏微分方程來(lái)構(gòu)造所需的過(guò)渡曲面。
考慮( , )u v 平面上一個(gè)圓與其上方一個(gè)球面的 零 階 過(guò) 渡, 假 設(shè) ( u , v )在 區(qū) 域Ω = {0 ≤ u ≤ 1,0 ≤ v≤ 2 π}內(nèi), ( x , y)平面上的圓以原點(diǎn)為圓心,半徑為R;球的半徑為 r,球心在 (0,0, z0);取某與平面z = H (0 ≤ H ≤ z0)的交線為過(guò)渡線,則其邊界條件如下
選擇二階偏微分方程(11),其邊界條件由 式(13)給出,當(dāng)r =2, R=3,04z = , H=3, 通過(guò) 數(shù)值解的方法得到上述問(wèn)題的解,由于Helmholtz方程具有很好的光滑性,所得過(guò)渡曲面也將具有很好的光滑性。如圖1 所示:當(dāng)參數(shù)A 增大時(shí),曲面的形狀由上往下向外部膨脹,當(dāng)參數(shù)B 增大的時(shí)候,曲面的形狀向內(nèi)部收縮,當(dāng)參數(shù)C 增大時(shí),曲面的形狀由下往上向外部膨脹。因此,可以調(diào)節(jié)參數(shù) , ,A B C 來(lái)控制過(guò)渡曲面的形狀。
由上可知,不同的參數(shù)選取,曲面的形狀有著明顯的變化。在對(duì)過(guò)渡曲面的拼接處要求不是很高的時(shí)候,比如構(gòu)造上下兩個(gè)圓之間的過(guò)渡曲面時(shí),選擇GC0連續(xù)有著簡(jiǎn)潔而計(jì)算速度快的優(yōu)點(diǎn)。當(dāng)要對(duì)兩個(gè)曲面進(jìn)行光滑拼接時(shí),就需要構(gòu)造GC1連續(xù)的過(guò)渡曲面。
圖1 過(guò)渡曲面
用B樣條或Bézier方法構(gòu)造曲面之間的一階或二階過(guò)渡曲面,其控制頂點(diǎn)必須滿足一定的條件。而用PDE方法構(gòu)造一階連續(xù)的過(guò)渡曲面,則僅需給定過(guò)渡曲面在兩張?jiān)记嫔系倪吔缂翱缃鐚?dǎo)矢,為了得到GC1連續(xù)的過(guò)渡曲面,選擇四階的偏微分方程(12),并給出邊界條件和跨界導(dǎo)矢,而后求解偏微分方程即可。
2.2.1 圓柱面和平面上一圓的一階過(guò)渡
要求在一個(gè)圓柱面和一個(gè)圓之間構(gòu)造一階連續(xù)的過(guò)渡曲面,圓所在平面的法矢與圓柱的軸不平行。為簡(jiǎn)單起見(jiàn),設(shè)圓柱的軸為x 軸,其半徑為r。取圓柱面與平面z H= 的截線為過(guò)渡線 之一,另一過(guò)渡線取球面 x2+ y2+ z2=R2與平面z Cy= 的交線。則可得邊界條件和邊界切矢 如下
使用方程四階偏微分方程
通過(guò)數(shù)值解的方法可以得到問(wèn)題的解,當(dāng)r=2, H=4, R=2, C=2, s=-2 時(shí),所得曲面如圖2 所示。
圖2 圓柱面斜切面和平面上一圓的GC1 過(guò)渡
2.2.2 平面上一圓與其上方一個(gè)球面的一階過(guò)渡
在2.1 節(jié)中討論了( , )u v 平面上一個(gè)圓與其上 方一個(gè)球面的零階過(guò)渡,本節(jié)在給出上述邊界條件的基礎(chǔ)上,再給出跨界切矢
選擇四階的偏微分方程( 12 ), 當(dāng)r = 2, R = 3, z0= 4, H = 3時(shí),可得一階過(guò)渡曲面如圖3 所示。
通過(guò)調(diào)整邊界條件中的切矢的大小和方向及方程中的系數(shù),可以控制曲面的整體形狀,這種控制不是局部控制,因而不影響曲面的整體美觀性,不過(guò)由于采用了數(shù)值解法,邊界控制就更加靈活了,在2.1 節(jié)中重點(diǎn)討論了方程中的系數(shù)對(duì)曲面形狀的影響,本節(jié)以一個(gè)簡(jiǎn)明的例子對(duì)控制方法加以說(shuō)明。
構(gòu)造通過(guò)圓心分別為(0,0,0)和(0,0,8),平行于xy 平面的兩個(gè)圓的過(guò)渡曲面,經(jīng)適當(dāng)參數(shù)化后可得邊界條件
若 r = R= 0,則所構(gòu)造曲面即是兩個(gè)圓之間的過(guò)渡曲面,其他情況是構(gòu)造自由曲面,本例用以 說(shuō)明邊界條件對(duì)曲面形狀的影響,通過(guò)調(diào)整,r R 而得到不同形狀的帶狀曲面。如圖4 所示。
本文闡述了二階和四階Helmholtz 方程的一類(lèi)周期邊界問(wèn)題的差分解法及其在過(guò)渡曲面設(shè) 計(jì)中的應(yīng)用,它不同于傳統(tǒng)的PDE 方法中的二階和四階的偏微分方程,比傳統(tǒng)的二階和四階偏微分方程有了更多的自由項(xiàng)。因此,在曲面設(shè)計(jì)的時(shí)候,就有更多的形狀控制參數(shù)可進(jìn)行調(diào)整,文中重點(diǎn)討論了方程中的系數(shù)對(duì)曲面形狀的影響。當(dāng)對(duì)曲面的拼接要求不是很高的時(shí)候,可以用二階Helmholtz 方程構(gòu)造GC0連續(xù)的過(guò)渡曲面,有著形式簡(jiǎn)潔而計(jì)算量小的優(yōu)點(diǎn),而當(dāng)需要對(duì)曲面進(jìn)行光滑拼接的時(shí)候,則可以用四階的bi-Helmholtz 方程構(gòu)造GC1連續(xù)的過(guò)渡曲面。并簡(jiǎn)要說(shuō)明了邊界切矢條件對(duì)曲面形狀的影響及其在曲面形狀設(shè)計(jì)中的應(yīng)用,由于采用數(shù)值解法,可以構(gòu)造較為復(fù)雜的曲面,曲面設(shè)計(jì)也較為直觀。設(shè)計(jì)者只需要給出邊界曲線和邊界切矢并通過(guò)控制邊界曲線和邊界切矢以便構(gòu)造和修改曲面形狀。
圖3 平面上一個(gè)圓與其上方一個(gè)球面的GC1 過(guò)渡
圖4 相同邊界不同切矢的不同的GC1 過(guò)渡曲面
[1] 馬 玲, 張 鮮, 朱心雄. 用偏微分方程構(gòu)造過(guò)渡曲面[J]. 工程圖學(xué)學(xué)報(bào), 1995, (1): 1-8.
[2] 馬 玲, 張 鮮, 朱心雄. 用偏微分方程數(shù)值解構(gòu)造過(guò)渡曲面[J]. 工程圖學(xué)學(xué)報(bào), 1995, (2): 8-14.
[3] 朱心雄, 馬 玲. 偏微分方程曲面造型方法及其應(yīng)用[J]. 航空制造工程, 1997, 176(8): 29-31.
[4] 朱心雄等. 自由曲線曲面造型技術(shù)[M]. 北京: 科學(xué)出版社, 2000. 256-270.
[5] Bloor M I G, Wilson M J. Generating blend surfaces using partial differential equations [J]. Computer Aided Design, 1989, 21(3): 165-171.
[6] Bloor M I G, Wilson M J. Blend design as a boundary-value problem [C]//Theory and Practice of Geometric Modelling, 1989: 221-234.
[7] Bloor M I G, Wilson M J. Using partial differential equations to generate free-form surfaces [J]. Computer Aided Design, 1990, 22(4): 202-212.
[8] Andrei D Polyanin. Handbook of linear partial differential equations for engineers and scientists [M]. Chapman &Hall/CRC, 2002. 436-456.