王家騰,解文彬,殷 超,邵 妍
(解放軍理工大學(xué)指揮信息系統(tǒng)學(xué)院,江蘇 南京 210007)
?
基于改進(jìn)Gerstner波的島礁近岸波浪實(shí)時仿真*
王家騰,解文彬,殷超,邵妍
(解放軍理工大學(xué)指揮信息系統(tǒng)學(xué)院,江蘇 南京210007)
為了實(shí)現(xiàn)島礁附近波浪實(shí)時仿真,結(jié)合Gerstner波和水波動力學(xué)知識,提出了一種能夠模擬波浪卷曲和折射繞射現(xiàn)象的波浪建模與繪制方法。首先,建立Gerstner波參數(shù)隨水深變化關(guān)系,構(gòu)建模擬波浪卷曲過程的幾何模型;然后,定義島礁地形對波浪傳播的阻障和遮擋系數(shù),并據(jù)此修正波浪傳播的波向和波高,實(shí)現(xiàn)折射和繞射現(xiàn)象的仿真;最后,應(yīng)用著色器緩存技術(shù)完成計算的硬件加速,并構(gòu)建了基于視點(diǎn)的波浪傳播多分辨率繪制策略。實(shí)驗結(jié)果表明,該方法對波浪的卷曲和折射繞射現(xiàn)象取得了較好的仿真效果,繪制效率能夠滿足實(shí)時性要求。
島礁;波浪傳播;卷浪;波浪折射;波浪繞射
近岸波浪在表現(xiàn)海水與島礁岸灘交互場景中具有重要作用,是海場景真實(shí)性的一個重要因素。近岸波浪由遠(yuǎn)海風(fēng)浪傳入淺水區(qū)形成。在淺水區(qū)運(yùn)動過程中,波浪與水下地形相互作用,波長和波速減小,波幅增大,出現(xiàn)折射、繞射、破碎等復(fù)雜的現(xiàn)象,進(jìn)行實(shí)時仿真繪制難度大。
淺水波浪繪制方法主要可分為兩種:基于物理的方法和基于幾何的方法?;谖锢淼姆椒ㄖ饕ㄟ^求解納維-斯托克斯方程(Navier-Stokes equations,NSE)獲得海浪內(nèi)部各水質(zhì)點(diǎn)的運(yùn)動狀態(tài),最后根據(jù)這些水質(zhì)點(diǎn)構(gòu)建波面[1-5]。這種方法能夠描述海浪的真實(shí)運(yùn)動狀態(tài),不受水下地形、風(fēng)速等條件的限制。但隨著場景規(guī)模的擴(kuò)大,仿真需要的粒子數(shù)量迅速增加,計算開銷巨大。雖然近年來計算機(jī)圖形硬件的發(fā)展,尤其是基于圖形處理器(GPU)運(yùn)算的廣泛應(yīng)用,一定程度上緩解了這一問題,但該方法應(yīng)用于較大場景水面繪制時仍不能很好地滿足實(shí)時性需求。基于幾何的方法主要通過構(gòu)建海浪的數(shù)學(xué)模型,通過調(diào)整模型參數(shù),實(shí)現(xiàn)不同條件下海浪模擬,如Gerstner波模型。這種方法計算簡單、實(shí)時性好、可用于較大范圍的仿真應(yīng)用,但直接使用該方法不能模擬波浪的折射、繞射現(xiàn)象,需要對模型進(jìn)行改造。
基于Gerstner波的海浪建模方法最早由Fournier和Reeves[6]引入圖形學(xué),他們加入仿真時間、浪高變化和水深等因子對波形進(jìn)行改造,使得波形更加符合波浪的實(shí)際運(yùn)動變化特點(diǎn)。但該方法基于均勻網(wǎng)格實(shí)現(xiàn),限制了波浪的傳播方向,仿真生成的波浪過于規(guī)則。Gonzato和Cieutat等基于波浪跟蹤算法[7-9]的思想,沿水波傳播方向使用光學(xué)的斯涅爾定律(Snell’s Law)計算波浪受地形阻障發(fā)生的折射現(xiàn)象,仿真結(jié)果比較真實(shí)。但該方法存在計算誤差累積的問題。為解決這一問題,Gamito提出一種基于費(fèi)馬最短路徑原理的折射計算方法[10],建立了淺水波浪折射現(xiàn)象的精確模型。使用上述兩種方法模擬折射,需要進(jìn)行大量實(shí)時計算,降低了繪制效率。陳勇等基于視覺效果優(yōu)先的原則,根據(jù)海岸線構(gòu)建了由波向線和波峰線組成的變形網(wǎng)格,使用正推和反推結(jié)合的方法,迭代式快速確定波峰線,既保證了物理真實(shí)性,又提高了仿真的效率[11]。
與陸地海岸不同,島礁四面環(huán)水,但上述模型只能模擬島礁迎浪側(cè)波浪運(yùn)動。當(dāng)波浪繼續(xù)向島礁背浪側(cè)運(yùn)動時,受島礁阻障會在背浪側(cè)形成復(fù)雜的繞射現(xiàn)象,使用上述模型無法模擬。李永進(jìn)等使用Boussinesq方程預(yù)先求解一段時間內(nèi)的海面運(yùn)動序列[12],并對此序列重建,最終構(gòu)建海面“無限”運(yùn)動序列。該方法能夠比較真實(shí)地反映折射、繞射等現(xiàn)象,但由于海面的繪制基于預(yù)先計算好的高度圖,因此場景不能根據(jù)波浪的方向和大小實(shí)時變化。徐曉剛等預(yù)先根據(jù)地形數(shù)據(jù)提取岸線并計算出地形點(diǎn)到岸線最近的距離和方向,波浪實(shí)時繪制時,根據(jù)地形點(diǎn)對應(yīng)水深和到岸線距離與方向,調(diào)整波浪的傳播方向和波高[13]。該方法支持波浪方向和大小的改變,但沒有針對繞射現(xiàn)象提供有效的計算方法。
使用Gerstner波構(gòu)建海面模型,需要保證一定的網(wǎng)格間距。格點(diǎn)間距過大會造成波面不平滑,甚至造成波峰、波谷丟失。當(dāng)視點(diǎn)到場景的距離超出該方法的適應(yīng)范圍時,為避免不必要的計算,需要對該方法進(jìn)行改造??紤]到真實(shí)環(huán)境中,隨著視點(diǎn)逐漸遠(yuǎn)離島礁,近岸波浪的細(xì)節(jié)對于場景的真實(shí)性影響變小,波峰線上波浪破碎產(chǎn)生的泡沫成為波浪運(yùn)動的主要視覺效果,可直接計算提取波峰線。
針對上述問題,本文提出了一種基于改進(jìn)Gerstner波模型的島礁近岸波浪多分辨率繪制方法。引入水波動力學(xué)[14]的相關(guān)知識對Gerstner波形進(jìn)行修正;定義前方阻障系數(shù)和后方遮擋系數(shù),模擬水質(zhì)點(diǎn)受到的外力影響,據(jù)此進(jìn)行波浪折射和繞射仿真;最后建立了基于視點(diǎn)的波面多分辨率繪制策略。
2.1Gerstner波模型
Gerstner波模型由Gerstner于19世紀(jì)初提出,模型從動力學(xué)角度描述了海浪各質(zhì)點(diǎn)的運(yùn)動。在XOY面內(nèi)其基本形式為
(1)
其中,OX和OY分別表示水平方向和垂直方向,(x0,y0)是質(zhì)點(diǎn)的初始位置,A為波幅,k為波數(shù),ω為角頻率。
從Gerstner波水面質(zhì)點(diǎn)運(yùn)動方程容易看出其在豎直平面內(nèi)做圓周運(yùn)動。當(dāng)波浪傳到淺水時,與水底地形發(fā)生摩擦,水平方向運(yùn)動速度變慢,質(zhì)點(diǎn)運(yùn)動軌跡變?yōu)闄E圓。此時,波形又稱作Boussinesq橢圓擺線波,質(zhì)點(diǎn)運(yùn)動方程為
(2)
其中,a、b分別表示橢圓的長軸長和短軸長。圖1展示了水質(zhì)點(diǎn)在水深與波長λ不同比例下的運(yùn)動軌跡。h表示水質(zhì)點(diǎn)距離水下地形的垂直高度,當(dāng)h→∞時,即水深很大時,公式(1)、(2)相同。
設(shè)波浪傳播方向與x軸正方向的夾角為θ,根據(jù)公式(2)可推導(dǎo)出波面三維離散形式:
(3)
其中,XOZ代表水平面,Y方向代表豎直方向,a和b的含義與式(2)相同。
2.2波浪的淺水區(qū)變形
波浪在水下地形影響下發(fā)生淺水區(qū)變形。波浪的波數(shù)、角頻率和波高都會發(fā)生變化。根據(jù)水波動力學(xué)的相關(guān)知識,波數(shù)k、角頻率ω和波高A可由式(4)近似計算:
(4)
2.3波浪的卷曲
當(dāng)波高與波長的比值大于一定值時,波浪便會失去保持波形的能力,在重力作用下發(fā)生卷曲和破碎現(xiàn)象。根據(jù)式(3)生成的波面不能表現(xiàn)波浪卷曲,本文通過對波形進(jìn)行拉伸和坍落變形模擬波浪卷曲現(xiàn)象。
拉伸變形可理解為:越靠近波峰的點(diǎn)受地形阻滯作用越小,水平運(yùn)動越快,波浪出現(xiàn)前傾,并且隨著水深變淺,波幅增大,波峰波谷質(zhì)點(diǎn)移動速度差變大。對描述水質(zhì)點(diǎn)在水平方向位移的相位角φ作如下修正:
(5)
坍落變形可理解為:水質(zhì)點(diǎn)水平偏移太大時,垂直方向上受到的支持力不足以維持其繼續(xù)向上運(yùn)動,水質(zhì)點(diǎn)開始下落。越靠近波峰的水質(zhì)點(diǎn)受到的支持力越小,下落越快。卷曲發(fā)生時,處于卷曲內(nèi)側(cè)的點(diǎn),受上方下落水質(zhì)點(diǎn)壓迫,產(chǎn)生的位移更大。當(dāng)水質(zhì)點(diǎn)垂直坐標(biāo)>A時,對其作如下修正:
y=y-Svert(y-A)2Δt
(6)
其中,Svert表示垂直縮放系數(shù),且Svert∝A-1。Δt為時間影響因子,用來表現(xiàn)坍落距離隨時間的改變。
圖2是加入拉伸和旋轉(zhuǎn)因素二維平面內(nèi)的波形模擬結(jié)果,實(shí)線表示波面,虛線表示靜止水平面。(a)顯示的是深水區(qū)波形,(b)顯示的是加入水深變化后波形,(c)顯示的是添加拉伸變形后的波形,(d)顯示的是同時添加拉伸和旋轉(zhuǎn)變形后的波形。
圖2 波浪卷曲模擬
波浪向島礁淺灘運(yùn)動過程中,隨著水深變淺,受水下地形阻滯發(fā)生折射,波高逐漸增大,波向線逐漸垂直于岸線。遇島礁等固定障礙,波浪沿島礁岸線繞行通過,在島礁背浪側(cè)形成復(fù)雜的繞射現(xiàn)象。本文通過定義前方阻障系數(shù)和后方遮擋系數(shù),近似模擬水質(zhì)點(diǎn)所受外力影響,修正波高和波向,實(shí)現(xiàn)波浪的折射和繞射的近似模擬。
3.1阻障和遮擋作用
假設(shè)忽略風(fēng)能輸入和水質(zhì)點(diǎn)間粘滯作用,波面形狀變化僅受水下地形和阻障物影響。本文沿波浪傳播方向,將水質(zhì)點(diǎn)在水平方向上受到的作用力分為兩部分:水質(zhì)點(diǎn)前方阻障作用和后方遮擋作用。波浪在向島礁迎浪側(cè)運(yùn)動時受岸線阻障波向和波高產(chǎn)生變化,出現(xiàn)折射現(xiàn)象。波浪運(yùn)動到背浪側(cè)后,又在島礁遮擋作用下形成繞射現(xiàn)象。
為了確保建立的折射和繞射模型更符合實(shí)際,本文預(yù)先使用物理模型對地形如圖3左上角所示的島礁附近波浪的波高和波向進(jìn)行了數(shù)值分析。分析結(jié)果為主圖部分,顏色表示波浪的有效波高;箭頭表示波浪傳播方向。
圖3 島礁附近波高波向數(shù)值分析結(jié)果
3.1.1阻障作用計算
為確定水質(zhì)點(diǎn)所受阻障作用,可借鑒環(huán)境遮擋技術(shù)(Screen-Space Ambient Occlusion,SSAO)的思想,沿波浪傳播方向進(jìn)行阻障測試,原理如圖4所示。測試范圍為波浪傳播方向順時針、逆時針分別偏轉(zhuǎn)δ/2掃過的扇形區(qū)域,測試半徑為R,采樣次數(shù)為N。設(shè)水面初始高度為y0,測試點(diǎn)P的地形高度為EP,第i個采樣點(diǎn)的地形高度為Ei。
根據(jù)波向線逐漸垂直于水深線的特點(diǎn),可假設(shè)水質(zhì)點(diǎn)優(yōu)先向水深更淺的方向運(yùn)動,以更快抵達(dá)岸灘。該假設(shè)符合費(fèi)馬最短時間原理。當(dāng)采樣點(diǎn)i的高度Ei>EP時,定義采樣點(diǎn)i為測試點(diǎn)的阻障點(diǎn)。設(shè)θ(Ei)為第i個采樣點(diǎn)對應(yīng)偏離波浪傳播方向的角度,當(dāng)測試點(diǎn)前方存在多個阻障點(diǎn)時,水質(zhì)點(diǎn)實(shí)際運(yùn)動方向偏離波浪傳播方向的角度,即阻障偏角為:
θblo=θ(max({Ei|Ei>EP,i∈(1,…,N)}))
(7)
定義Dblo(前方阻障系數(shù))為水質(zhì)點(diǎn)受前方阻障點(diǎn)影響,其大小等于水質(zhì)點(diǎn)偏離傳播方向角度的正割值,即Dblo=secΔθ。
前方阻障系數(shù)反映了受阻障物影響,相鄰波向線間的能量更加集中的現(xiàn)象。受阻障作用影響,測試點(diǎn)波高值增加到原值的Dblo倍。
3.1.2遮擋作用計算
遮擋測試與阻障測試的方法相同,測試方向為波浪傳播的反方向,測試半徑取深水區(qū)波長的一半,即λ∞/2。若采樣點(diǎn)高度大于水面初始高度y0,則定義該點(diǎn)為遮擋點(diǎn),對波浪有遮擋作用。若測試方向逆時針偏轉(zhuǎn)指向采樣點(diǎn),遮擋值C記為1,反之記為-1。采樣點(diǎn)高度小于y0時,遮擋值C記為0。
遮擋系數(shù)反映了島礁背浪側(cè)的水質(zhì)點(diǎn)受島礁的遮擋,波能輸入減少的現(xiàn)象。在計算受遮擋影響點(diǎn)的波高時,還需要考慮其到岸線的距離。觀察物理模擬結(jié)果可以發(fā)現(xiàn),在背浪側(cè)隨著到岸線距離的增大,波高值逐漸降低至深水區(qū)波高大小。本文使用與距離呈正相關(guān)的水深代替距離。設(shè)靠近島礁背浪側(cè)岸線的最小波高為Astart(大于深水區(qū)波高A∞),則測試點(diǎn)波高為
(8)
其中,KA表示阻障系數(shù)趨近與0的點(diǎn)與阻障系數(shù)為1的點(diǎn)的波高之比。
圖4 阻障和遮擋測試原理圖
3.2島礁背浪側(cè)繞射
繞射現(xiàn)象在引起波高的變化的同時,會造成波浪傳播方向的明顯變化,島礁背浪側(cè)常見的繞射現(xiàn)象就是回旋流?;匦髦傅氖潜忱藗?cè)海浪偏離傳播方向,環(huán)繞岸線運(yùn)動并涌向海岸?;匦魍ǔ0l(fā)生在距離背浪側(cè)岸線較近的區(qū)域,因此可簡單假設(shè)這些現(xiàn)象出現(xiàn)在遮擋系數(shù)大于0的區(qū)域,方便借助遮擋系數(shù)修正波向。
觀察基于物理方法的模擬結(jié)果發(fā)現(xiàn)近似存在如下規(guī)律:在背浪側(cè),水質(zhì)點(diǎn)受遮擋作用影響越大、距離岸線越近,其實(shí)際運(yùn)動方向與波浪傳播方向的夾角越大。受島礁遮擋,水質(zhì)點(diǎn)實(shí)際運(yùn)動方向偏離波浪傳播方向的角度,即遮擋偏角為
(9)
4.1折射和繞射繪制
進(jìn)行折射和繞射仿真繪制前,需要預(yù)先計算生成阻障和遮擋紋理。有兩種方案可供選擇。方案一:先通過CPU計算生成阻障和遮擋紋理,再將紋理傳入GPU進(jìn)行渲染;方案二:將全部的計算和渲染工作都交由GPU處理。由于CPU計算速度遠(yuǎn)低于GPU,加之CPU與GPU之間的通信耗時,效率上方案二更優(yōu)。需要指出的是:對一個頂點(diǎn)進(jìn)行阻障和遮擋測試時,需要訪問多個相鄰頂點(diǎn)的地形高度值,并且當(dāng)波浪方向發(fā)生改變的情況,需要重新計算生成阻障和遮擋紋理。傳統(tǒng)的渲染管線中,由于頂點(diǎn)著色器又無法訪問相鄰頂點(diǎn)的屬性,難以完成這一過程。為解決這一問題,本文使用著色器存儲緩存技術(shù),將水深數(shù)據(jù)以紋理緩存的方式提供給渲染各階段作色器使用。在DirectX中可結(jié)合結(jié)構(gòu)化緩存(Structured Buffer)實(shí)現(xiàn)。
首先創(chuàng)建一張大小與地形高度圖相同的紋理,分別使用r、g、b、a通道存儲前方阻滯系數(shù)Dblo、阻滯偏角θbol、后方遮擋系數(shù)Dobs和遮擋偏角θdef;然后將紋理綁定到Structured Buffer,再將Structured Buffer綁定到Resource View,并在著色器代碼中將該緩存變量聲明為可讀寫,這樣管線各階段的著色器就能訪問該緩存了。當(dāng)波浪方向發(fā)生改變時,頂點(diǎn)著色器即可直接訪問Structured Buffer中的數(shù)據(jù),計算阻障和遮擋作用,并將結(jié)果寫入Structured Buffer中。
4.2層次細(xì)節(jié)模型建立
為在保證真實(shí)性的基礎(chǔ)上提高場景繪制效率,通常需要為場景建立自適應(yīng)層次細(xì)節(jié)模型?;舅枷胧菙U(kuò)大仿真間隔或降低采樣頻率。由于計算正確性的限制,使用Gerstner波進(jìn)行波浪模擬時,仿真步長不能過大。為解決這一問題,本文將視點(diǎn)到場景的距離劃分為近、中、遠(yuǎn)三種,針對各種距離采取不同的繪制策略,如圖5所示。
當(dāng)視點(diǎn)處于近距離范圍時,觀察者能夠清楚的看到波浪的細(xì)節(jié)。繪制海浪時,首先構(gòu)建島礁周圍海面的精細(xì)網(wǎng)格,在此網(wǎng)格上應(yīng)用波面方程,生成海面,結(jié)合波浪破碎條件和粒子系統(tǒng)建立波浪破碎效果,最后合成島礁附近海面場景。
當(dāng)視點(diǎn)處于中距離范圍時,觀察者能夠分辨波浪的輪廓形狀,但飛濺的水滴和細(xì)小的波形變化較難清楚辨識。進(jìn)行海浪繪制時,對近距離海面精細(xì)網(wǎng)格粗化,以減少不必要的計算消耗,關(guān)閉粒子效果,僅使用泡沫紋理表現(xiàn)波浪的破碎現(xiàn)象。
當(dāng)視點(diǎn)處于遠(yuǎn)距離范圍時,觀察者主要通過波峰線上波浪破碎生成的泡沫感知海浪的傳播運(yùn)動。繪制海面場景時,僅使用高度紋理移動的方式表現(xiàn)波峰線的運(yùn)動,根據(jù)阻障測試的結(jié)果為島礁迎浪側(cè)添加泡沫紋理,就減少了大量計算消耗。
圖5 多分辨率繪制流程
實(shí)驗使用的硬件平臺為Intel Core i7 2.4GHz CPU、NVIDIA GeoForce GT 730M顯卡,開發(fā)環(huán)境為Visual Studio 2013和DirectX,運(yùn)行環(huán)境為64位Windows 7系統(tǒng),實(shí)驗采用513×513的灰度圖作為基礎(chǔ)地形數(shù)據(jù),海面網(wǎng)格分辨率與地形相同。波面由3個波高、波長和方向不同的Gerstner波構(gòu)成,并加入了噪聲紋理。
繪制效率方面,在整個仿真繪制過程中,由于使用了基于視點(diǎn)的多分辨率繪制策略,幀率始終保持在60FPS以上,能夠較好地滿足波浪仿真繪制的需求。當(dāng)波向改變時,使用CPU進(jìn)行阻障和遮擋計算,畫面會出現(xiàn)大約600ms的停滯,而使用GPU進(jìn)行計算畫面停滯時間只有50ms左右,效率提高了12倍,已經(jīng)比較接近1/24s的人眼分辨上限。
圖6 島礁附近波浪仿真效果圖
繪制效果如圖6所示,(a)中展示的是深水區(qū)波浪形狀,能夠相對真實(shí)地模擬海浪形狀;(b)中展示的是波浪卷曲的效果,該時刻波峰即將卷落,比較接近實(shí)際場景;(c)中展示的是波浪在迎浪側(cè)發(fā)生的折射現(xiàn)象,從圖中可以較為清楚地觀察到:隨著波浪向島礁運(yùn)動,波峰線逐漸與島礁岸線平行;(d)中展示的是背浪側(cè)繞射現(xiàn)象,在圖中能夠觀察回岸流,與圖3(b)中的數(shù)值分析結(jié)果有一定相似性,這說明了該方法的有效性;(e)中展示的是從島礁上方俯視看到的波浪在整個島礁周圍傳播的效果,波鋒線的變形過渡自然真實(shí),水面反光及淺水區(qū)水下刻蝕效果的加入使得整個場景更加生動真實(shí)。
本文引入了水波動力學(xué)的相關(guān)知識對Gerstner波進(jìn)行改造,并建立了卷浪幾何模型,對波形的模擬取得了較為真實(shí)的效果;通過定義阻障和遮擋作用,近似模擬水質(zhì)點(diǎn)受島礁的影響,使用阻障和遮擋系數(shù)及偏角修正波高和波向,取得的折射和繞射仿真效果與基于物理模型的數(shù)值分析結(jié)果具有較高相似性,有力驗證了方法的有效性;利用GPU進(jìn)行阻障和遮擋計算提高了繪制效率。本文算法的是一種基于幾何模擬方法,只能近似模擬折射和繞射,尤其是背浪側(cè)繞射現(xiàn)象,今后還有需要研究更加真實(shí)高效繞射的模擬方法。此外阻障和遮擋測試參數(shù)的自適應(yīng)選擇也是下一步改進(jìn)方向。
[1]Chen J X, Lobo N D V. Toward Interactive-Rate Simulation of Fluids with Moving Obstacles Using Navier-Stokes Equations[J]. Graphical Models & Image Processing, 1995, 57(2): 107-116.
[2]Enright D, Marschner S, Fedkiw R. Animation and rendering of complex water surfaces[M]∥ACM Transactions on Graphics (TOG). ACM, 2002: 736-744.
[3]Losasso F, Shinar T, Selle A, et al. Multiple interacting liquids[J]. ACM Transactions on Graphics, 2006, 25(3): 812-819.
[4]Müller M, Charypar D, Gross M. Particle-based fluid simulation for interactive applications[C]∥Proceedings of the 2003 ACM SIGGRAPH/Eurographics symposium on Computer animation. Eurographics Association, 2003: 154-159.
[5]Solenthaler B, Pajarola R. Predictive-Corrective Incompressible SPH[J]. ACM Transactions on Graphics, 2009, 28(3): 341-352.
[6]Fournier A, Reeves W T. A simple model of ocean waves[C]∥ACM Siggraph Computer Graphics. ACM, 1986, 20(4): 75-84.
[8]Cieutat J M, Gonzato J C, Guitton P. A new efficient wave model for maritime training simulator[C]∥Sccg. 2001:202-209.
[10]Gamito M N, Musgrave F K. An Accurate Model of Wave Refraction Over Shallow Water[M]∥Computer Animation and Simulation 2000. Springer Vienna, 2000: 155-171.
[11]陳勇, 陳戈, 張淑軍. 近岸海浪實(shí)時仿真[J]. 系統(tǒng)仿真學(xué)報, 2008, 20(3):741-745.
[12]李永進(jìn), 金一丞, 任鴻翔,等. 基于物理模型的近岸海浪建模與實(shí)時繪制[J]. 中國圖象圖形學(xué)報, 2010, 15(3): 518-523.
[13]徐曉剛, 鄭文庭, 徐以波,等. 一種基于Gerstner模型的波浪折射模擬方法: 中國專利, CN 103413341 A[P]. 2013-11-27.
[14]蔡澤偉.波浪理論及其工程應(yīng)用[M]. 北京:國防科技出版社, 2000: 38-172.
Real-time Simulation of Wave Around Islands Based on Improved Gerstner Wave
WANG Jia-teng, XIE Wen-bin, YIN Chao, SHAO Yan
(Institute of Command Information and System, PLA University of Science and Technology, Nanjing 210007, China)
In order to simulate the wave around island in real-time, with reference to the Gerstner Wave and the water wave dynamics, a method which can simulate comber, wave refraction and diffraction is presented. First, the relationship between Gerstner Wave’s and water depth, and the geometric model of wave propagation are developed. Then, the island’s block and obstacle coefficient of wave propagation are defined. And the wave direction and height are adjusted by these coefficients to achieve the wave refraction and diffraction effect. Finally, shader caching technology is used to increase calculation speed, also a strategy of multi-resolution rendering is built based on viewpoint. The experimental results show that the method has obtained good result in simulating comber and wave refraction and diffraction. And drawing efficiency can satisfy the real-time requirements.
island; wave propagation; comber; wave refraction; wave diffraction
1673-3819(2016)04-0113-06
2016-03-12
2016-04-04
中國博士后科學(xué)基金
王家騰(1991-),男,河北滄州人,碩士研究生,研究方向為軍事仿真。
解文彬(1980-),男,博士,副教授。
P731.22
A
10.3969/j.issn.1673-3819.2016.04.023
殷超(1992-),男,碩士研究生。
邵妍(1989-),女,本科。