王詩怡,陳姚節(jié),徐 新
(武漢科技大學 計算機科學與技術學院,湖北 武漢 430065)
近年來使用計算機仿真技術模擬現(xiàn)實環(huán)境是一個熱點話題。自然環(huán)境特效的模擬就是其中的一個應用,其中包括了自然災害,比如洪水、雪崩,也有模擬自然風光,例如草原、瀑布。此中最常見的便是對氣候的模擬,好比風、雨、雷、雪等。天氣模擬在游戲、電影、廣告等應用場景中占據(jù)著重要的地位。
近幾年很多研究人員在雨滴降落模擬的真實性上取得了很大的進展。孫學金等人[1]用Runge—Kutta法求解,驗證出了雨滴降落的末速度,并且和Gunn & Kinzer法的實測數(shù)值相比較吻合,結果更加準確。劉嘉瑞等人[2]提出了一種基于SPH的模擬雨滴擊打樹枝等不規(guī)則物體邊界的方法,使用一種吸引力模型來模擬水滴從物體表面的滑落,在模擬水滴的收縮、流動等特性上達到了比較真實的效果。李寧等人[3]用API函數(shù)和粒子系統(tǒng),在OpenGL中模擬了機場附近的雨雪雷電等自然天氣特效。Marcos Slomp等[4]通過研究雨滴表面紋理變化進行實驗,可以在粒子比較多的情況下模擬雨滴。唐玉蕾和袁贊[5]改進了基于粒子系統(tǒng)的雨滴動態(tài)過程的模擬,增強降雨實現(xiàn)的逼真度。劉小玲等采用多幅雪花紋理與粒子隨機組合,使雪花效果符合多樣性和隨機性。實驗結果表明,該算法能在大規(guī)模場景中進行雨雪效果的實時渲染,并有較高的真實感[6]。Kim[7]將雨滴以及雨水流動模擬與基于粒子和柵格的區(qū)域融合的算法結合起來并且進行了改進。Huamin Wang等人[8]從物理建模的角度,研究了雨滴實際運動過程中的規(guī)律,對雨滴的形變過程進行建模。劉西川等人[9]研究了基于粒子成像測速技術的雨滴微物理特性,研究出雨滴的速度與其直徑成正比,雨滴的取向也受風力影響,統(tǒng)計得到受自然環(huán)境影響下,雨滴傾角的平均值為2.1°,標準偏差為11.5°。Rouseau[10]通過研究雨滴的物理特性,將雨滴繪制的方法進行了改進,著重研究雨滴的外觀。Tatarchuk[11]把降雨場景結合了粒子系統(tǒng)和多細節(jié)層次并進行仿真實驗,提升了逼真度,可是場景細節(jié)不夠完善。陳華杰等[12]將粒子系統(tǒng)與LOD技術結合研究,優(yōu)化粒子發(fā)射器從而提高了利用的效率,實現(xiàn)了較為高效的對雨雪的模擬。
粒子系統(tǒng)是實現(xiàn)大規(guī)模場景降雨仿真的一種有效方法[13]。但結合其物理運動規(guī)律可以更真實地模擬雨滴的降落過程,使模擬出的畫面更接近真實的自然場景,可以提升用戶的體驗感。
文中在粒子系統(tǒng)的基礎上,結合雨滴的物理特性以及其運動特性,通過分析雨滴從高空降至地面過程中的受力情況,判斷其運動規(guī)律,提出了聯(lián)動雨滴大小與風力的模擬方法,實現(xiàn)了動態(tài)模擬在不同雨滴大小與不同風力下的雨滴傾角動態(tài)變化,最終實現(xiàn)了一種較為真實的雨滴降落過程的自然場景。
雨滴從高空自由下落期間呈現(xiàn)出不同的形狀、大小、速度與傾角等物理特征,對于這些微物理特征的研究在自然場景仿真、電影特效繪制、天氣雷達探測等方面都有重大意義。雨滴降落的運動過程復雜多變,其物理特性受環(huán)境影響,在不同時空下的雨滴狀態(tài)也有很大差異。
雨滴的形成是由陸地和海洋表面的水蒸發(fā)變成水蒸氣,當升騰的氣流夾帶著水蒸氣和云凝結核抵達某一距離時,空氣臨近飽和狀態(tài)和或處于飽和狀態(tài),水蒸氣遇冷上升到一定高度會凝結成小水滴、小冰晶,水蒸氣會在云凝結核上發(fā)生凍結現(xiàn)象形成小液滴,隨著氣流升騰進一步凍結形成云滴。某些云滴相互靠近,會發(fā)生融合匯聚現(xiàn)象,由此形成更大的云滴,這被稱為雨滴的碰并增長,某些較大的云滴重力若大過空氣阻力,則會產(chǎn)生重力碰并現(xiàn)象。當云滴大到一定程度,所受重力大于在空中受到的阻力便會從云層下落,在下落過程中和雨滴或者蒸騰的水蒸氣繼續(xù)融合匯聚,漸漸地就形成了雨滴。
雨滴在降落過程中受到重力、空氣阻力和風力等因素的影響,具有不同的大小、速度、空間取向等多種物理特性。其中雨滴的大小、速度與空間取向在現(xiàn)實生活中可以直接被觀測者用肉眼感知,表現(xiàn)得最為直觀。研究表明,雨滴隨體積增加,其形狀會逐漸從球體變成橢球體,且半徑不斷改變,由于雨滴具有表面張力,半徑較小的雨滴在降落過程中會持續(xù)球體形態(tài),而半徑較大的雨滴在重力和空氣阻力等力的影響下,逐漸形變,而發(fā)展成近似橢球的形態(tài)。
由物理學知識可知,物體從高空下落時,將受到空氣阻力作用[14],雨滴受到的空氣阻力與雨滴的大小、速度和狀態(tài)等物理特性有關,且阻力與速度成正相關。雨滴的直徑普遍在0.5 mm至6 mm之間。雨滴的一般形狀是隨著雨滴體積的增大,雨滴逐步變成下面平坦,上面圓潤,表現(xiàn)出類似“饅頭”的形態(tài)[15]。而雨滴的生成并降落的高度也隨季節(jié)改變,冬季在2 000 m左右,夏季在5 000 m左右。雨滴從云層開始下落時由于體積較小,忽略空氣阻力可視為自由落體運動。在降落過程中會和其他雨滴進行匯聚融合,從而產(chǎn)生空氣阻力,此時雨滴進行變加速的運動,其形狀會由球形逐漸發(fā)展為橢球形。無數(shù)的實驗已經(jīng)表明,雨滴會隨著體積的增大,而最終形成一個下面平坦,上面圓滑的半球形,雨滴在受力平衡后便勻速運動。
雨滴由云層下落的過程中的速度是非常重要的物理特性之一。雨滴比較小的時候,自身重力較小,不容易克服空氣的阻力,可能會浮在空中,直到和別的雨滴融合匯聚,且其重力可以克服空氣阻力時開始降落。雨滴降落的過程當中,因為速度小,受到的空氣阻力與速度成正比,則空氣阻力隨速度的改變而不斷改變,雨滴速度變大的過程中,雨滴就會做變加速運動。
在距離地面高度100 m以上,雨滴所受重力大于所受的阻力,雨滴速度逐漸變大,且雨滴之間有匯聚現(xiàn)象,雨滴變大后所受阻力和重力不斷改變,則雨滴做變加速運動。后期隨著雨滴不斷地融合匯聚及其速度的增大,受到的阻力增大加速度變小,直到阻力等于重力,此時雨滴做勻速運動。
由于雨滴在降落過程中受到的環(huán)境因素影響較大,雨滴的運動特性會特別繁雜,如果將所有因素都考慮,系統(tǒng)很難達到要求。為了方便對雨滴的降落過程進行建模,現(xiàn)做出以下假設:
(1)雨滴從高空開始下落,在其下落過程中是獨立的,不考慮雨滴的融合匯聚現(xiàn)象的影響。
(2)不考慮雨滴形變,視雨滴為球形。
雨滴降落過程中會受到三個力的影響,分別是重力、空氣阻力和空氣浮力。距地面大于100 m時,雨滴在垂直方向上運動過程有如下運動公式:
(1)
其中,m表示雨滴的質(zhì)量,V1表示雨滴垂直方向的下降速率,ρα和ρω分別表示空氣和水的密度,F(xiàn)D1表示雨滴在垂直方向上受到的空氣阻力,它的一般形式如下:
(2)
公式(2)又叫牛頓曳力公式,其中S表示雨滴橫截面積,C是曳力系數(shù),可將它看做常量。
對于半徑為R的雨滴,其橫截面積有以下公式:
S=πR2
(3)
在雨滴距地面一定距離時,雨滴重力等于空氣阻力,視為勻速運動,此時有如下運動公式:
mg=FD1
(4)
根據(jù)以上的分析,整理可得雨滴在垂直方向上的運動微分方程為:
(5)
雨滴在水平方向的運動過程中,會受到風力與空氣阻力的影響,受力分析簡化圖如圖1所示。
圖1 雨滴水平受力分析
F為水平方向上所受到的風力,為水平方向上的空氣阻力,則雨滴在水平方向上的運動方程如下:
(6)
其中,V2為雨滴在水平方向上的運動速率,則雨滴在水平方向的受力方程如下:
F=ρα(V-V2)2S
(7)
其中,V為水平方向上的風速。綜合以上所述公式,可整理出雨滴在水平方向上的運動微分方程:
(8)
雨滴在理想狀態(tài)下,從高空降落的過程中在垂直方向和水平方向上的運動建模如上述公式所述,下面將會討論雨滴在受一定風力影響時,不同半徑的雨滴粒子產(chǎn)生的不同的傾角,以及雨滴粒子半徑一定時,不同大小風力對雨滴傾角的影響。
雨滴傾角即雨滴的取向,指雨滴的對稱軸與垂直方向上的夾角(傾斜角β)。理想情況下風力為0,雨滴傾角則為0°。但是自然環(huán)境中降雨受到風、湍流等多種因素的影響,雨滴的取向呈現(xiàn)不同的特征[16]。Hendry等[17]利用線偏振X波段雷達探測強降雨發(fā)現(xiàn),雨滴的平均傾斜角為0°,標準差為6°。Beard等[18]在均一各向同性湍動理論的基礎上,預測平均傾斜角β應當為0°,標準差小于4°,這一預測與Hendry等[17]的雷達觀測結果一致。胡云濤等選取2015年6月17日南京地區(qū)降水微物理特征測量儀(PMCS)獲取的有效雨滴,計算每個雨滴的傾斜角[19]。分析得到雨滴傾角分布于0°兩側,大部分雨滴傾角在-20°到20°之間,平均值為0.82°,標準差為15.9°。研究表明,雨滴在降落過程中會受環(huán)境影響,形成不同大小的傾角,且基本服從高斯分布。
理論上,對于雨滴的傾角目前還沒有確定模型,且實際情況較為復雜,受環(huán)境因素影響較大,暫沒有準確的雨滴傾角建模,需更多實際測量以及理論推導。實驗上,大多利用雷達探測和降水微物理特征測量儀等儀器來測量雨滴降落過程中展現(xiàn)的各種物理特征,測量結果是基于一段時間之內(nèi)的雨滴測量,由于一段時間內(nèi)風力的方向與大小會不停變化,雨滴的傾角會在垂直方向兩側均勻分布。
文中只考慮某一時刻風往同一個方向吹的情況,模擬雨滴在風力大小和雨滴大小不同的時候形成的不同F(xiàn)D2傾角。
為了更好地模擬雨滴粒子下降過程中傾角受風力影響的變化,現(xiàn)分析雨滴傾角的物理特性。
在雨滴降落的勻速運動階段,在垂直方向上由公式(4)推導得到:
(9)
則垂直方向上的速率V1有如下公式:
(10)
雨滴在水平方向上也做勻速運動,受力公式如下:
(11)
則雨滴在水平方向上的速率V2有如下公式:
(12)
雨滴傾角β與速率分析如圖2所示。
圖2 雨滴速率-傾角分析
傾角β可由以下公式表示:
(13)
雨滴質(zhì)量有以下公式:
(14)
可推斷雨滴傾角β與風力F成正比,與半徑R成反比。雨滴大小與雨滴半徑成正比,在仿真實驗中,只需控制雨滴大小即可反映半徑R對雨滴傾角的影響。接下來討論將雨滴粒子半徑與雨滴粒子所受風力聯(lián)動,動態(tài)模擬不同粒子半徑以及不同風力大小時雨滴的傾角變化。
粒子系統(tǒng)是在計算機仿真、游戲動畫和圖形學中廣泛使用的一項技術。對雨、雪、火焰等不規(guī)則物體的模擬,是計算機仿真中最難以突破的科研目標之一[20]。在所有的研究方法中利用粒子系統(tǒng)進行模擬的方式是當前模擬效果最好并且應用最普遍的方法[21]。
雨滴粒子很難用傳統(tǒng)圖形學相關技術渲染出來,文中利用粒子系統(tǒng),高效模擬大量的、小而密的雨滴粒子,并且通過對粒子系統(tǒng)屬性的設定,準確地控制每個粒子的運動狀態(tài),實現(xiàn)動態(tài)實時的渲染效果。
圖形用戶界面(graphical user interface,GUI)可以滿足用戶在界面進行實時操作的需求。Unity3D中有豐富的圖形系統(tǒng),包含通常使用到的按鈕、圖片、文本等控件。文中制作了控制雨滴大小與風力大小的動態(tài)GUI界面,如圖3所示,運行過程中可調(diào)節(jié)滑條來動態(tài)控制雨滴的傾角??梢灾庇^地模擬雨滴大小不同,風力不變時,雨滴傾角與雨滴大小成反比;風力不同,雨滴大小不變時,雨滴傾角與風力大小成正比的雨滴傾角特性。
圖3 動態(tài)控制雨滴大小與風力大小界面
文中在CPU為1.6 GHz Intel Coare i5的PC機上進行實驗,在Unity3D和Visual Studio.2010開發(fā)環(huán)境中,通過對雨滴運動過程中在垂直方向和水平方向上的運動建模,實現(xiàn)了三維場景降雨過程的模擬。圖4和圖5展示了風力不變,改變雨滴大小時傾角的變化,傾角與雨滴大小成反比。
圖4 風力不變雨滴較小
圖5 風力不變雨滴較大
圖6~圖8展示了雨滴大小不變,風力大小改變時雨滴傾角的變化,傾角與風力成正比。
圖6 雨滴大小不變,風力為0
圖7 雨滴大小不變,風力較小
圖8 雨滴大小不變,風力較大
在公式(13)的基礎上,完成了雨滴大小與風力的動態(tài)控制仿真。模擬了在風力大小不變的情況下,雨滴變大,傾角變?。辉谟甑未笮〔蛔兊那闆r下,風速變大,雨滴傾角變大,效果較為真實。
文中使用粒子系統(tǒng)模擬雨滴降落仿真,從雨滴的特性出發(fā),研究了雨滴的物理特性,如降落速度、形狀和半徑,和雨滴從云層開始下落至到達地面過程中的運動特性,研究了雨滴降落過程中所受的力以及加速度、速度的變化,從而更加真實地模擬雨滴降落的運動過程。并且提出了將雨滴大小與風力聯(lián)動的方法,結合圖形用戶界面實現(xiàn)了動態(tài)控制雨滴大小和風力,模擬了雨滴大小不同以及風力不同的情況下雨滴傾角的變化,實驗結果較為真實。