国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

海洋地理信息系統(tǒng)中動(dòng)態(tài)海面仿真方法研究

2017-03-28 07:38:46帥,艾波,柳誠(chéng)
關(guān)鍵詞:海面正弦頂點(diǎn)

付 帥,艾 波,柳 誠(chéng)

(1.嘉興市規(guī)劃管理局嘉興市314050;2.山東科技大學(xué)測(cè)繪科學(xué)與工程學(xué)院青島市266590)

海洋地理信息系統(tǒng)中動(dòng)態(tài)海面仿真方法研究

付 帥1,艾 波2,柳 誠(chéng)2

(1.嘉興市規(guī)劃管理局嘉興市314050;2.山東科技大學(xué)測(cè)繪科學(xué)與工程學(xué)院青島市266590)

海洋地理信息系統(tǒng)(MGIS)中加入動(dòng)態(tài)水面效果,可以有效地提升海洋環(huán)境仿真的真實(shí)感。本文從水波模型的構(gòu)建出發(fā),介紹了利用正弦波動(dòng)方程模擬海面的方法;針對(duì)動(dòng)態(tài)構(gòu)建水面網(wǎng)格時(shí)高計(jì)算性能的需求,設(shè)計(jì)了基于GPU并行計(jì)算的架構(gòu);最后利用程序開(kāi)發(fā)實(shí)現(xiàn)本文的設(shè)計(jì)思路,經(jīng)過(guò)實(shí)驗(yàn)分析表明,該方法能夠有效地模擬三維地理環(huán)境中動(dòng)態(tài)海面的效果。

海洋地理信息系統(tǒng);動(dòng)態(tài)海面;水面網(wǎng)格;GPU并行計(jì)算

動(dòng)態(tài)海面效果仿真是借助幾何模型或光照模型等,用可視化的方法展現(xiàn)水面實(shí)時(shí)的波動(dòng)效果。海洋地理信息系統(tǒng)中動(dòng)態(tài)海面效果的模擬,實(shí)現(xiàn)與真實(shí)三維地理數(shù)據(jù)相融合,以其逼真的視覺(jué)體驗(yàn)和友好的動(dòng)態(tài)交互特性,為觀察者提供了一個(gè)具有沉浸感的客觀世界。

隨著計(jì)算機(jī)圖形學(xué)的發(fā)展,動(dòng)態(tài)海面效果的模擬逐漸被應(yīng)用到虛擬環(huán)境的表達(dá),國(guó)內(nèi)外學(xué)者做了深入的探索。Finch[1]基于幾何模型的思路,提出了利用正余弦函數(shù)模擬水面波形的方法,構(gòu)造了具有真實(shí)感的動(dòng)態(tài)水面效果;莊甘霖[2]等針對(duì)常見(jiàn)三維場(chǎng)景中水面特效真實(shí)感與實(shí)時(shí)性較難平衡的現(xiàn)狀,提出了一種基于Gerstner波模型的水面特效模擬方法,優(yōu)化了仿真系統(tǒng)的渲染效率。余偉[3]等利用實(shí)測(cè)河道水位線數(shù)據(jù)和DEM數(shù)據(jù)進(jìn)行河流邊界線搜索及河面自動(dòng)建模,構(gòu)建多層水面疊加模型,并引入GPU并行計(jì)算技術(shù)。楊暢[4]等利用Perlin噪聲方法生成曲面,疊加生成分形曲面來(lái)模擬隨機(jī)無(wú)方向性動(dòng)態(tài)水面,并基于WebGL技術(shù)實(shí)現(xiàn)了網(wǎng)絡(luò)環(huán)境中的動(dòng)態(tài)水面可視化。

本文采用物理模型的方法構(gòu)建水面網(wǎng)格[5],結(jié)合真實(shí)的DEM數(shù)據(jù),設(shè)計(jì)了GPU并行計(jì)算的框架,解決了正弦波動(dòng)方程計(jì)算效率的問(wèn)題。最后采用Directx圖形庫(kù)及高級(jí)shader語(yǔ)言HLSL底層開(kāi)發(fā)實(shí)現(xiàn)了本文的設(shè)計(jì)思路[6-7],較好地模擬了海面的動(dòng)態(tài)效果。

1 水波的構(gòu)建

幾何模型通常采用網(wǎng)格來(lái)顯示連續(xù)的水面,動(dòng)態(tài)海面效果可以看作實(shí)時(shí)構(gòu)建水面網(wǎng)格的過(guò)程,這就需要計(jì)算網(wǎng)格上每個(gè)頂點(diǎn)隨著時(shí)間的位置變化。通常是借助正弦波動(dòng)方程來(lái)描述平面位置為(x,y)的頂點(diǎn)在t時(shí)刻的垂直距離h,其公式為

其中,w是頻率,A是波的振幅,D(x,y)為垂直于波振面的水平向量,φ為常數(shù)。圖1為正弦波動(dòng)方程的波形圖及采用該正弦波動(dòng)方程的連續(xù)水面網(wǎng)格。

圖1 正弦波動(dòng)方程的波形圖及采用該方程的連續(xù)水面網(wǎng)格

由圖1所示,直接疊加正弦波動(dòng)方程產(chǎn)生的波浪非常平滑,每個(gè)連續(xù)的波峰與波谷間的過(guò)渡都是一致的,而真實(shí)波浪的波峰比較尖,波谷比較寬。這就需要對(duì)原來(lái)的正弦波動(dòng)方程予以改造,加快波峰到水平段的下降速度,減緩水平段到波谷段的下降速度。根據(jù)指數(shù)函數(shù)y=xk(k>1)在(0,1)在(0,1)區(qū)間內(nèi)導(dǎo)數(shù)的變化特征,對(duì)公式(1)進(jìn)行修改,修改后的波函數(shù)為:

圖2為公式(2)常數(shù)取特征值后的波形圖及常數(shù)k設(shè)置為2.5時(shí)正弦波動(dòng)方程的連續(xù)水面網(wǎng)格。與圖1相比,圖2中水面網(wǎng)格更加真實(shí),這也證明了公式(2)的可行性。

圖2 修改后正弦波動(dòng)方程的波形圖及采用該方程的連續(xù)水面網(wǎng)格

2 數(shù)據(jù)準(zhǔn)備與并行計(jì)算

為了讓水面動(dòng)態(tài)的變化,這就需要實(shí)時(shí)的更新水面網(wǎng)格,然而水面網(wǎng)格數(shù)量多且水波構(gòu)建模型計(jì)算復(fù)雜等問(wèn)題嚴(yán)重影響了更新效率。為了提高仿真系統(tǒng)的效率,本文設(shè)計(jì)了基于GPU并行計(jì)算的架構(gòu)[8-9]。圖3為架構(gòu)圖,分為數(shù)據(jù)準(zhǔn)備階段和并行運(yùn)算階段兩部分。

2.1數(shù)據(jù)準(zhǔn)備

數(shù)據(jù)準(zhǔn)備是構(gòu)建初始水面網(wǎng)格的過(guò)程。首先根據(jù)區(qū)域的平面范圍,構(gòu)建規(guī)則的區(qū)域網(wǎng)格Mesh,如圖4。然后利用相應(yīng)區(qū)域的數(shù)字高程數(shù)據(jù)(DEM)對(duì)區(qū)域網(wǎng)格Mesh進(jìn)行裁剪。裁剪的原則如下:若點(diǎn)的高程大于等于0,則判定為陸地中的點(diǎn),于是去除區(qū)域網(wǎng)格Mesh上相應(yīng)位置的頂點(diǎn);若點(diǎn)的高程小于0,則判定為海水區(qū)域中的點(diǎn),保留區(qū)域網(wǎng)格Mesh上相應(yīng)位置的頂點(diǎn)。依次遍歷區(qū)域內(nèi)所有的頂點(diǎn),最終獲得水面網(wǎng)格Mesh,如圖5。

圖3 基于GPU的粒子系統(tǒng)架構(gòu)

圖4 區(qū)域網(wǎng)格Mesh

圖5 裁剪后的網(wǎng)格Mesh

2.2并行計(jì)算

由于本文采用的水波構(gòu)建模型是針對(duì)每一個(gè)水面網(wǎng)格頂點(diǎn)的,并不需要考慮與臨近頂點(diǎn)之間的關(guān)系,非常適合GPU并行運(yùn)算的要求,且最終的計(jì)算結(jié)果是用于圖形的可視化,于是本文采用Directx圖形庫(kù)的API實(shí)現(xiàn)GPU并行計(jì)算。

數(shù)據(jù)準(zhǔn)備階段完成后,CPU調(diào)用繪制命令,將水面網(wǎng)格Mesh的頂點(diǎn)信息傳輸?shù)巾旤c(diǎn)著色器中。通過(guò)高級(jí)渲染語(yǔ)言HLSL對(duì)頂點(diǎn)著色器進(jìn)行編程,將水波構(gòu)建模型應(yīng)用到每個(gè)頂點(diǎn)高程信息的計(jì)算中,最終由多個(gè)流處理器并行的執(zhí)行頂點(diǎn)著色器中的程序設(shè)計(jì),實(shí)現(xiàn)水面網(wǎng)格Mesh的實(shí)時(shí)更新。

3 實(shí)驗(yàn)分析

基于GPU并行計(jì)算架構(gòu)設(shè)計(jì),本文實(shí)現(xiàn)了海洋地理信息系統(tǒng)中動(dòng)態(tài)海面效果的模擬,圖6為系統(tǒng)的動(dòng)態(tài)海面效果截圖。實(shí)驗(yàn)機(jī)器采用window7操作系統(tǒng),主要的硬件設(shè)備包括Pentium Dual-Core CPU T4300 2.10 GHz、AMD Radeon HD 4 570 m GPU和2 G RAM。

圖6 動(dòng)態(tài)海面效果

為了驗(yàn)證GPU并行計(jì)算架構(gòu)的有效性,本文選取不同精細(xì)程度的水面網(wǎng)格,統(tǒng)計(jì)了仿真系統(tǒng)的幀率,形成渲染效率表1。由測(cè)試結(jié)果可知,即使水面網(wǎng)格精度較高時(shí)也可以達(dá)到73幀,遠(yuǎn)超仿真系統(tǒng)流暢運(yùn)行的要求。

表1 渲染效率

4 結(jié)語(yǔ)

本文采用正弦波動(dòng)方程動(dòng)態(tài)的構(gòu)建水面網(wǎng)格,相比于動(dòng)態(tài)切換貼圖等水面模擬方法,可以真實(shí)地反映水面的波動(dòng)效果,提升三維地理環(huán)境的真實(shí)感。為了解決水波構(gòu)建模型計(jì)算量大的問(wèn)題,設(shè)計(jì)了基于GPU并行計(jì)算的架構(gòu),并通過(guò)程序設(shè)計(jì)予以實(shí)現(xiàn)。

目前,動(dòng)態(tài)海面效果的模擬還停留在增加海洋地理信息系統(tǒng)真實(shí)感的階段,如何與淹沒(méi)分析、潰壩分析等空間分析理論相結(jié)合,實(shí)現(xiàn)空間分析過(guò)程數(shù)據(jù)及結(jié)果數(shù)據(jù)的科學(xué)可視化,還需要進(jìn)一步的探索。

[1]Randima Fernando.GPU Gems Programming Techniques,Tips,and Tricks for Real-Time Graphics[M].New Jersey:Addison-Wesley,2004.

[2]莊甘霖,陳秀宏.常見(jiàn)三維場(chǎng)景中水面特效的模擬[J].計(jì)算機(jī)工程與科學(xué),2014,36(4):746-750.

[3]余偉,王偉,蒲慧龍,等.河道流動(dòng)水體三維仿真方法研究[J].測(cè)繪通報(bào),2015(9):39-43.

[4]楊暢,胡北.基于WebGL的動(dòng)態(tài)水面仿真方法[J].地理空間信息,2015(5):53-55.

[5]皮學(xué)賢,楊旭東,李思昆,等.近岸水域的波浪與水面仿真[J].計(jì)算機(jī)學(xué)報(bào),2007,30(2):324-329.

[6]彭國(guó)倫.3D繪圖程序設(shè)計(jì)使用DIRECT3D 10/9和OPENGL 2.0(附光盤)[M].科學(xué)出版社,2009.

[7]李健波,丁海燕.DIRECTX3DHLSL高級(jí)實(shí)例精講[M].清華大學(xué)出版社,2013.

[8]譚小輝,萬(wàn)旺根,余小清,等.一種基于GPU的大規(guī)模水面實(shí)時(shí)模擬方法[J].計(jì)算機(jī)仿真,2009,26(9):211-214.

[9]Kruger J,Kipfer P,Kondratieva P,et al.A Particle System for Interactive Visualization of 3D Flows[J].IEEE Transactions on Visualization&Computer Graphics,2005,11(6):744-756.

2016-11-29

國(guó)家自然科學(xué)基金資助項(xiàng)目(41401529,41271394);測(cè)繪公益性行業(yè)科研專項(xiàng)經(jīng)費(fèi)資助項(xiàng)目(201512034)。

猜你喜歡
海面正弦頂點(diǎn)
例說(shuō)正弦定理的七大應(yīng)用
鳥(niǎo)
正弦、余弦定理的應(yīng)用
過(guò)非等腰銳角三角形頂點(diǎn)和垂心的圓的性質(zhì)及應(yīng)用(下)
海面床,輕輕搖
第六章 邂逅“胖胖號(hào)”
關(guān)于頂點(diǎn)染色的一個(gè)猜想
“美”在二倍角正弦公式中的應(yīng)用
海面上的“一千座埃菲爾鐵塔”
基于VSG的正弦鎖定技術(shù)研究
蛟河市| 龙陵县| 中宁县| 洛浦县| 乌苏市| 华容县| 根河市| 青河县| 延川县| 玉环县| 饶平县| 沙雅县| 育儿| 赞皇县| 广丰县| 蕲春县| 陆丰市| 京山县| 西峡县| 清新县| 宾阳县| 莱西市| 萝北县| 丰原市| 都兰县| 宜都市| 禄劝| 道孚县| 虞城县| 宁城县| 绵阳市| 晋州市| 临清市| 乌什县| 蓝山县| 吉林省| 湘潭县| 翁源县| 贵港市| 宾阳县| 建瓯市|