欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于粒子系統(tǒng)的海面航跡并行化仿真方法

文檔序號:6570535閱讀:332來源:國知局
專利名稱:一種基于粒子系統(tǒng)的海面航跡并行化仿真方法
技術領域
本發(fā)明屬于海洋可視化技術領域,具體涉及一種利用GPU并行處理的、基于粒子系統(tǒng)的海面航跡仿真方法。
背景技術
海洋可視化(Ocean Visualization)是運用計算機圖形學技術,以可視化的形式,模擬海洋表面在時間和空間上的實時變化及所呈現(xiàn)出的視覺效果。海面航跡仿真是模擬艦船在海面上航行激起的海面浪花翻滾及擴散現(xiàn)象。從仿真效果來講,整個仿真內(nèi)容包含三部分一是航跡沒有影響到的普通的海面區(qū)域;二是航跡的翻滾和擴散現(xiàn)象;三是航跡對正常海面的擾動現(xiàn)象。
對于航跡沒有影響到的普通的海面區(qū)域仿真,核心問題是構建海面隨機波動的高度場。目前已有的逼真度最高的仿真方法是基于物理模型的方法,如郭秋雷等人采用的基于GPU構架的平滑粒子流體動力學(SPH)方法(郭秋雷,唐逸之,劉詩秋,李桂清.2011,一個SPH流體實時模擬的全GPU實現(xiàn)框架.計算機應用與軟件,28(11),69-72. ) ;AzizBelmiloudi 等人米用的求解 Navier-Stokes 方程的方法(Aziz Belmiloudi, FrancoiseBrossier. 1997,Regularity Results for a Navier-Stokes Type Problem Related toOceangraphy. Acta Applicandae Mathematicaej 48, 299-316.)等。這種基于物理模型的仿真方法雖然逼真度最高,但是其內(nèi)部的物理規(guī)則運算過于復雜,雖然經(jīng)過優(yōu)化和加速,但目前仍然無法適用于實時仿真領域。另一種真實度較高的方法是基于海浪頻譜模型的方法。如朱傯采用的基于Philips譜的方法(朱傯.2010,動態(tài)海洋環(huán)境仿真中的若干關鍵技術研究.華中科技大學.),梁修鋒等人采用的基于Jonswap譜的方法(梁修鋒,楊建民,李俊,肖龍飛,李欣.2011,面向海洋工程應用的數(shù)值波浪水池.中國科學物理學力學天文學,41,1123-122)等。這些方法依賴于數(shù)學模型,但相對于基于物理的方法來說運算量較小,在采取一些優(yōu)化措施后,比較適用于大范圍的實時海面仿真。對于航跡的翻滾和擴散現(xiàn)象仿真,核心問題是逼真模擬航跡浪花的運動。目前被廣泛采用的是基于Kelvin船行波理論和粒子系統(tǒng)相結合的方法,用浪花粒子模擬艦船航行中產(chǎn)生的尾跡浪花翻滾和擴散現(xiàn)象。Michael E. Goss就采用了這種方法(MichaelE.Goss.1997, A real time particle system for display of ship wakes. ComputerGraphics and Applications, IEEE, 48:299-316.)。使用粒子系統(tǒng)能夠較為逼真地模擬水波擴散,但隨著粒子數(shù)量的增多,系統(tǒng)的實時性受到很大影響。為了提升仿真效率,趙欣等人提出了一種LOD-GPU混合加速的方法(趙欣,李鳳霞,戰(zhàn)守義,陳宏敏.2008,基于粒子系統(tǒng)實現(xiàn)船舶航跡仿真的加速方法.大連海事大學學報,34 (1),54-57.),張芹等人提出了一些減少計算復雜度的方法(張芹,張健,閔建平.2003,提高粒子系統(tǒng)實時性的方法研究·計算機工程,29 (18),46-48.)。對于航跡對正常海面的擾動現(xiàn)象仿真,傳統(tǒng)的實現(xiàn)方式只是單純視覺效果的疊力口,如馬天等人提出的三維艦船航跡可視化方法(馬天,黃建國,王汝夯,張群飛.2011,應用水波彌散特性的艦船航跡三維可視化新方法.西安交通大學學報,45(8),49-53.)。這種方式使得海面網(wǎng)格在本質(zhì)上與艦船航跡幾乎沒有交互性,因此仿真效果不夠真實。孫慧提出了一種網(wǎng)格和粒子交互的水波實時模擬方法(孫慧.基于粒子和波的水行為模擬.2010,華東師范大學.),但由其交互算法限制,在網(wǎng)格精細度增高和粒子數(shù)量增多時,系統(tǒng)實時性受到嚴重影響。綜上所述,現(xiàn)有海面航跡仿真方法主要聚焦在兩個問題,一是增強仿真模型的真實感,二是提升仿真模型的運算速度。已有方法的缺陷在于,一方面不能夠較為逼真地模擬航跡對正常海面的擾動現(xiàn)象,另一方面不能夠達到真實性和實時性的良好協(xié)調(diào)。基于GPU的并行處理是提升模型運算速度的有效方法。GPU的全稱是Programmable Graphics Processing Unit,即可編程圖形處理單兀。GPU的硬件結構中擁有更多的ALU (Arithmetic Logic Unit,邏輯運算單元)用于數(shù)據(jù)處理,因此非常適合對密集型數(shù)據(jù)進行并行處理。海面航跡仿真中的網(wǎng)格運算和粒子運算都具有較為密集的運算 量,而且內(nèi)部運算法則相同,非常適合利用GPU進行并行運算處理。CUDA是NVIDIA公司推出的一套基于GPU的并行處理架構。CUDA將GPU作為數(shù)據(jù)并行計算設備,在GPU通用計算方面做了顯著的改進一是采用了統(tǒng)一處理架構,可以更加有效地利用頂點渲染器和像素渲染器的計算資源;二是引入了片內(nèi)共享存儲器,支持隨機寫入和并行線程間的通信。CUDA編程模型中,CPU稱為主機(Host ),GPU稱為設備(Device)。運行在GPU上的CUDA并行計算函數(shù)稱為Kernel (內(nèi)核函數(shù)),Kernel是以Block為單位執(zhí)行的,但是一個Kernel可以在多個Block上并行執(zhí)行,而每個Block內(nèi)又有多個Thread并行執(zhí)行。

發(fā)明內(nèi)容
為了達到真實感和實時性的平衡協(xié)調(diào),本發(fā)明提出了一種基于粒子系統(tǒng)的海面航跡并行化仿真方法。采用網(wǎng)格為實、粒子為虛、虛實相結合的方法來生成海面航跡,基于CUDA實現(xiàn)網(wǎng)格與粒子模型的并行化運算,結合GLSL實現(xiàn)GPU中的海面及航跡渲染。本方法將所有核心計算和渲染全部在GPU中進行,將模型計算和渲染在GPU中構成一個整體流程,減少了計算機內(nèi)存和顯存之間的通信,充分發(fā)揮GPU并行處理能力,在保證良好仿真效果的情況下,顯著提升仿真效率。本發(fā)明的技術方案如下一種基于粒子系統(tǒng)的海面航跡并行化仿真方法,包括以下步驟(圖I)(I)在CPU中進行一些初始化的工作;具體包括初始化CUDA設備、申請顯存、創(chuàng)建FFT Plan、創(chuàng)建VB0、初始化粒子系統(tǒng);(2)在GPU中進行海面網(wǎng)格的并行化運算;具體包括求解某一特定時刻的Phillips海浪頻譜的海面高度場、執(zhí)行CUFFT求解Phillips海浪頻譜的波浪擴散場、將計算結果輸出到顯存中的Global Memory ;(3)在GPU中進行航跡粒子系統(tǒng)的并行化運算;具體包括計算并更新粒子屬性、將粒子位置映射到海面網(wǎng)格坐標點、計算粒子對所在位置周圍網(wǎng)格的擾動并進行范圍內(nèi)擾動疊加運算、將運算結果輸出到Global Memory。(4)在GPU Shader中運用GLSL對海面進行環(huán)境、光照等渲染,形成動態(tài)海面航跡效果。上述的各步驟中,海面網(wǎng)格的并行化運算、航跡粒子系統(tǒng)的并行化運算、粒子對所在位置范圍內(nèi)擾動疊加運算,這三者是發(fā)明人經(jīng)過艱辛的研究設計出來的,以下將詳細描述以上三者的設計方法。海面網(wǎng)格的并行化運是在Phillips頻譜模型的基礎上進行的。Phillips頻譜是經(jīng)過統(tǒng)計分析研究出的在風力作用下的波浪頻域振幅,具備隨機性、周期性和多頻率性等海浪模型特點。在Phillips頻譜上加入隨機擾動及時間驅動變換,即可很好地模擬風力作用下的海面波動。變換后的頻譜函數(shù)包括T時刻海面高度場求解和整個網(wǎng)格范圍內(nèi)海浪擴散場求解兩部分。對于T時刻海面高度場求解,每一個海面網(wǎng)格點都是獨立的,因此可以利用海面網(wǎng)格的二維形式進行并行處理。假設仿真區(qū)域的網(wǎng)格密度為meshW^meshH,按照二維拆分,將Block內(nèi)的線程維度設為BlockDim (X,y, I),則拆分后的Block個數(shù)為
權利要求
1.一種基于粒子系統(tǒng)的海面航跡并行化仿真方法,其特征在于包括以下步驟 (1)在CPU中進行一些初始化的工作具體包括初始化CUDA設備、申請顯存、創(chuàng)建FFTPlan、創(chuàng)建VBO、初始化粒子系統(tǒng); (2)在GPU中進行海面網(wǎng)格的并行化運算具體包括求解某一特定時刻的Phillips海浪頻譜的海面高度場、執(zhí)行CUFFT求解Phillips海浪頻譜的波浪擴散場、將計算結果輸出到顯存中的Global Memory ; (3)在GPU中進行航跡粒子系統(tǒng)的并行化運算具體包括計算并更新粒子屬性、將粒子位置映射到海面網(wǎng)格坐標點、計算粒子對所在位置周圍網(wǎng)格的擾動并進行范圍內(nèi)擾動疊加運算、將運算結果輸出到Global Memory ; (4)在GPUShader中運用GLSL對海面進行環(huán)境、光照渲染,形成動態(tài)海面航跡效果。
2.如權利要求I所述的基于粒子系統(tǒng)的海面航跡并行化仿真方法,其特征在于,所述步驟(I)中初始化粒子系統(tǒng)之中,粒子屬性包括一個生命值和一個死亡值,初始值都被賦予一個正數(shù)的隨機整數(shù)值。
3.如權利要求I所述的基于粒子系統(tǒng)的海面航跡并行化仿真方法,其特征在于,所述步驟(3)中的計算并更新粒子屬性的方法為 在每個粒子死亡的時候,將粒子的存活標志設為死亡,并為其賦予一個隨機的死亡值,開始死亡計時,不斷更新死亡值;當死亡計時結束時,粒子重新激活,為其賦予一個隨機的生命值,進入一個新的生命循環(huán),粒子存活的持續(xù)時間也重新開始計時。
4.如權利要求I所述的基于粒子系統(tǒng)的海面航跡并行化仿真方法,其特征在于,所述步驟(2)中的并行化求解Phillips海浪頻譜的海面高度場的CUDA線程拆分方式為 假設仿真區(qū)域的網(wǎng)格密度為meshW*meshH,按照二維拆分,將CUDA內(nèi)核的Block內(nèi)的線程維度設為BlockDim (X,y, I),拆分后的Block個數(shù)為
5.如權利要求I所述的基于粒子系統(tǒng)的海面航跡并行化仿真方法,其特征在于,所述步驟(3)中的粒子位置映射到海面網(wǎng)格坐標點方法為
6.如權利要求I所述的基于粒子系統(tǒng)的海面航跡并行化仿真方法,其特征在于,所述步驟(3)中,計算粒子對所在位置周圍網(wǎng)格的擾動并進行范圍內(nèi)擾動疊加運算的方法為對粒子系統(tǒng)并不進行顯式繪制,而是作為模擬水波能量擴散過程的一種虛擬媒介,最終反映在對海面網(wǎng)格高度場的擾動上;粒子的能量由其空間位置的Z值反映,每一個粒子都能夠使其當前所處的網(wǎng)格產(chǎn)生ΛΗ的偏離高度;隨著粒子位置的更新,其影響的網(wǎng)格和能量強度不斷變化,直至粒子死亡; 粒子對周圍網(wǎng)格的擾動產(chǎn)生的偏離高度為
7.如權利要求I所述的基于粒子系統(tǒng)的海面航跡并行化仿真方法,其特征在于,所述步驟(4)中,對浪花和海面的顏色過渡渲染處理方法為FinalColor = mix(FinalColor, whiteColor, alphaXhightRate) 其中,F(xiàn)inalColor為前面渲染后的最終水面顏色,whiteColor為波浪的白顏色,alpha為透明度,hightRate為海浪的高度比例,mix O是GLSL語言內(nèi)建的混合函數(shù)。
全文摘要
本發(fā)明為一種基于粒子系統(tǒng)的海面航跡并行化仿真方法,采用網(wǎng)格為實、粒子為虛、虛實相結合的方法來生成海面航跡,基于CUDA實現(xiàn)網(wǎng)格與粒子模型的并行化運算,結合GLSL實現(xiàn)GPU中的海面及航跡渲染。本發(fā)明將所有核心計算和渲染全部在GPU中進行,將模型計算和渲染在GPU中構成一個整體流程,減少了內(nèi)存和顯存之間的通信,充分發(fā)揮GPU并行處理能力。經(jīng)過發(fā)明人試驗驗證表明,本發(fā)明能夠在保證良好仿真效果的情況下,顯著提升仿真效率。
文檔編號G06T15/00GK102789650SQ20121025196
公開日2012年11月21日 申請日期2012年7月19日 優(yōu)先權日2012年7月19日
發(fā)明者呂品, 徐永志, 石書浩, 鄭昌文 申請人:中國科學院軟件研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
英德市| 克拉玛依市| 吉木乃县| 林芝县| 渭南市| 南康市| 华池县| 大名县| 定远县| 即墨市| 峨山| 邹城市| 巴中市| 宝丰县| 赤城县| 南部县| 寻乌县| 县级市| 读书| 新晃| 环江| 京山县| 东兴市| 玛纳斯县| 乌拉特后旗| 紫金县| 都江堰市| 利辛县| 关岭| 南岸区| 楚雄市| 云南省| 保定市| 小金县| 凤台县| 武安市| 额敏县| 光山县| 墨玉县| 泰州市| 隆回县|