亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于改進(jìn)粒子系統(tǒng)的池火災(zāi)實(shí)時(shí)渲染方法

        2018-10-18 02:19:08郭銳鋒王麗麗王鴻亮馬元婧趙玉彬
        關(guān)鍵詞:模型

        蘇 謨,郭銳鋒,王麗麗,王鴻亮,馬元婧,趙玉彬

        1(中國(guó)科學(xué)院大學(xué),北京 100049)

        2(中國(guó)科學(xué)院 沈陽(yáng)計(jì)算技術(shù)研究所, 沈陽(yáng) 110168)

        1 引 言

        池火災(zāi)是一種常見的火災(zāi)形式,是可燃液體的自然燃燒.可燃液體(如汽油、柴油等)泄露后流到地面形成液池,遇到火源燃燒而成池火災(zāi)[1].隨著石油、化工等行業(yè)的發(fā)展,可燃性液體的生產(chǎn)、使用、存儲(chǔ)等過程越來越多.可燃性液體一旦發(fā)生泄漏,很容易形成池火災(zāi)并發(fā)生嚴(yán)重的事故[2].本文以環(huán)境空氣質(zhì)量預(yù)警平臺(tái)項(xiàng)目為背景,研究池火災(zāi)實(shí)時(shí)模擬對(duì)事故后果模擬分析及事故風(fēng)險(xiǎn)評(píng)估尤為重要,同時(shí)實(shí)時(shí)地模擬真實(shí)感火焰一直是計(jì)算機(jī)圖形學(xué)的難點(diǎn)之一.

        目前,池火的模擬方法主要有三種途徑,分別是基于粒子系統(tǒng)、數(shù)學(xué)物理模型和紋理貼圖方式.基于數(shù)學(xué)物理模型模擬是將火焰視為一種特殊的流體,采用NS(Navier-Stokers)方程求解火焰運(yùn)動(dòng),這類方法需要求解一系列復(fù)雜的非線性NS方程,但求解計(jì)算量大,難以滿足實(shí)時(shí)性要求[3].郭燕[4]等人,采用外形輪廓與紋理貼圖相結(jié)合的方法生成燃燒的效果,這種方法僅構(gòu)造一個(gè)二維的符合一定規(guī)律的火焰效果,但很難與周圍的環(huán)境發(fā)生交互作用及影響火焰動(dòng)態(tài)變化的呈現(xiàn).粒子系統(tǒng)理論是迄今為止用于描述不規(guī)則物體最成熟的理論之一.許多國(guó)內(nèi)外研究學(xué)者采用基于粒子系統(tǒng)的火焰模擬方法,但粒子的控制過程過于隨機(jī),單純使用粒子系統(tǒng)無法精確描述燃燒的池火.張亮[5]等人將火焰運(yùn)動(dòng)模擬函數(shù)融入到粒子系統(tǒng)中實(shí)現(xiàn)較好的火焰模擬效果.但未考慮環(huán)境因素且影響火焰模擬效果的物理參數(shù)有限.劉剛[6]等人采用CUDA平臺(tái)加速粒子屬性的更新速度,降低CPU和GPU之間頻繁通信,提高了渲染速度,但粒子運(yùn)動(dòng)模型未考慮邊界碰撞檢測(cè),而這部分需要消耗大量的計(jì)算資源,本文采用CUDA的并行計(jì)算架構(gòu)對(duì)粒子狀態(tài)更新加速并對(duì)池火邊界碰撞檢測(cè)進(jìn)行優(yōu)化加速.

        綜上,基于數(shù)學(xué)物理模型的方法難以保證池火實(shí)時(shí)模擬,而紋理貼圖技術(shù)受紋理選擇的影響易造成模擬缺乏真實(shí)感.本文提出一種基于改進(jìn)粒子系統(tǒng)的池火災(zāi)實(shí)時(shí)渲染方法,針對(duì)粒子系統(tǒng)模擬火焰過于隨機(jī)的缺點(diǎn),綜合文獻(xiàn)[1,2]構(gòu)建池火數(shù)學(xué)模型(考慮了環(huán)境影響因素),借鑒文獻(xiàn)[4]思路,將池火數(shù)學(xué)模型融入粒子系統(tǒng),形成了改進(jìn)的粒子系統(tǒng)模型,引入基于自適應(yīng)二叉樹的剖分算法對(duì)燃液碰撞檢測(cè),通過CPU-GPU協(xié)同及GPU并行加速實(shí)現(xiàn)實(shí)時(shí)渲染真實(shí)感的池火災(zāi),本文為池火災(zāi)的模擬提供了新思路,具有實(shí)際應(yīng)用價(jià)值.

        2 池火災(zāi)模型

        在傳統(tǒng)的研究池火災(zāi)模擬分析過程中,形成了很多理論與經(jīng)驗(yàn)的數(shù)據(jù),運(yùn)用池火災(zāi)數(shù)學(xué)模型,模擬池火燃燒速率、火災(zāi)發(fā)生時(shí)的液池半徑、火焰高度、火焰燃燒時(shí)間等物理量隨時(shí)間、距離的變化過程.

        2.1 池火燃燒速率

        Babrauskas在進(jìn)行大規(guī)模池火實(shí)驗(yàn)基礎(chǔ)上,提出了池火的燃燒速率估算公式[1],考慮了液池大小后如公式(1)所示:

        mf=mmax[1-exp(-2σβR)]

        (1)

        其中:mf—可燃液體的質(zhì)量燃燒速率,kg/(m2·s);mmax—可燃液體的最大質(zhì)量燃燒速率(mmax),kg/(m2·s);σ—火焰的吸收衰減系數(shù),(m-1);β—平均光線長(zhǎng)度校正系數(shù);R—液池半徑.幾種常見油品的mmax和σβ值如表1所示.

        表1 常見燃液的mmax和σβ值Table 1 Value of mmax and σβ of fuel

        2.2 液池半徑

        考慮到液體的部分流出,假設(shè)液體的泄露點(diǎn)為中心呈扁圓柱形的光滑平面上擴(kuò)散,這時(shí)液池半徑R用一下公式計(jì)算:

        1)瞬時(shí)泄漏(泄漏時(shí)間不超過30s)時(shí),半徑見公式(2):

        (2)

        2)連續(xù)泄漏時(shí)半徑如公式(3)所示:

        (3)

        式中:R—液池半徑,m;M—泄漏的液體量,kg;ρ—液體的密度,kg/m3;g—重力加速度,g=9.8m/s2;t—泄漏時(shí)間,s;部分可燃液體密度:

        表2 部分可燃液體密度Table 2 Some fuel density

        對(duì)于無邊界阻擋的連續(xù)泄露,隨著液池面積擴(kuò)大燃燒速度加快,當(dāng)燃燒速度等于泄露速度時(shí),液池半徑達(dá)到最大,具體公式(4)如下:

        (4)

        其中Rmax—液池半徑,(m);Q液體泄漏流量,(km/s);mf液池單位面積燃燒速率, (kg/(m2·s)).

        2.3 池火高度

        計(jì)算池火高度,通常使用Thomas關(guān)系式,它是以物理原理和實(shí)驗(yàn)量為基礎(chǔ)的[2],公式(5)如下:

        (5)

        其中:L—火焰高度,(m);R—液池半徑,(m);ρa(bǔ)—空氣密度,ρ0=1.297(kg/m3);g—引力常數(shù),g=9.8m/s2;mf—燃料的燃燒速率, (kg/m2·s).

        2.4 池火持續(xù)時(shí)間

        (6)

        公式(6)中,W為剩余燃料的質(zhì)量,kg.

        3 改進(jìn)的粒子系統(tǒng)模型

        池火災(zāi)在燃燒過程中與傳統(tǒng)火焰燃燒存在一定程度的差異.在使用傳統(tǒng)粒子系統(tǒng)模擬池火災(zāi)燃燒過程基礎(chǔ)上,本文結(jié)合池火災(zāi)模型,融入池火災(zāi)燃燒過程的特點(diǎn),通過對(duì)發(fā)射器發(fā)射面的形狀與面積、發(fā)射器發(fā)射粒子的高度、發(fā)射器發(fā)射粒子的速度變化、火焰的顏色、粒子的初始位置重新定義,并考慮了池火與環(huán)境障礙物碰撞檢測(cè),建立了改進(jìn)的粒子系統(tǒng)模型.

        3.1 粒子系統(tǒng)的定義

        定義1.單個(gè)粒子定義為在實(shí)數(shù)域的一個(gè)s維向量,表示為:

        Ps={prop1,prop2,…,propi,…,props|s∈N}

        (7)

        其中prop1,prop2,…,propi,…,props是粒子的s個(gè)屬性,通常粒子的屬性包括空間位置,粒子大小、形狀、運(yùn)動(dòng)速度和加速度、顏色、亮度、生存周期等.單個(gè)粒子是組成粒子系統(tǒng)的基本元素.

        定義2.粒子映射是單個(gè)粒子到正整數(shù)集的關(guān)系映射,每個(gè)粒子都具有唯一的索引,表示為It到ps的映射:

        S(t)={It→Ps|It?Z+,s∈N,t∈R+}

        (8)

        其中,W(i)=Ps表示索引為i的粒子的狀態(tài)和性質(zhì).

        定義3.粒子系統(tǒng)是粒子映射集的有限集合,表示為:

        F(t)={S(t)|t∈{t0,t1,…,tm}}

        (9)

        公式(9)中,F(xiàn)為粒子在系統(tǒng)時(shí)刻在t0,t1,…,tm的狀態(tài)集合,S(t0)是初始狀態(tài)下粒子系統(tǒng)狀態(tài)[7].

        3.2 基于池火災(zāi)的粒子系統(tǒng)模型

        根據(jù)粒子系統(tǒng)的特點(diǎn),結(jié)合池火災(zāi)模型,建立池火燃燒速率、液池半徑、火焰高度及火焰持續(xù)時(shí)間等物理量與粒子系統(tǒng)渲染池火災(zāi)關(guān)鍵參數(shù)的關(guān)系,形成基于池火災(zāi)的粒子系統(tǒng)模型.

        中共中央黨校(國(guó)家行政學(xué)院)教授車文輝以《生態(tài)文明視域下的鄉(xiāng)村振興》為題,重點(diǎn)闡述了鄉(xiāng)村振興戰(zhàn)略實(shí)施過程中的生態(tài)文明建設(shè)問題,指出了鄉(xiāng)村建設(shè)、經(jīng)濟(jì)開發(fā)進(jìn)程中忽視生態(tài)、破壞生態(tài)的現(xiàn)象以及帶來的嚴(yán)重后果,提出生態(tài)建設(shè)、生態(tài)保護(hù)是鄉(xiāng)村振興題中應(yīng)有之義,生態(tài)文明好不好決定著鄉(xiāng)村振興的質(zhì)量。

        3.2.1 發(fā)射器發(fā)射面的形狀與面積

        在池火災(zāi)發(fā)生的時(shí)候,整個(gè)液池都會(huì)持續(xù)的燃燒,此時(shí)火焰是包圍在整個(gè)液池的表面,液池表面的面積和形狀作為發(fā)射器發(fā)射面的形狀和面積約束依據(jù),基于假設(shè)液池周圍沒有狹長(zhǎng)縫隙等特殊地形,采用圓柱形液池模擬液池形狀,發(fā)射面面積S為公式(10)所示:

        S=πR2+Cs(0≤R≤Rmax)

        (10)

        其中R為池火災(zāi)模型中液池的半徑,CS液池與周邊環(huán)境發(fā)生碰撞檢測(cè)時(shí)所影響液池的面積.

        3.2.2 發(fā)射器發(fā)射粒子的高度

        發(fā)射器發(fā)射粒子的高度如公式(11)所示:

        H=βLmaxβ∈(0,1]

        (11)

        其中Lmax為當(dāng)液池半徑為R時(shí)通過mmax求得的火焰最大高度值.通過β值的分布函數(shù)計(jì)算火焰在燃池中的高度變化.考慮到火焰的收攏趨勢(shì),即大部分火焰在不受外界干擾的情況下,均向中心收攏且中心點(diǎn)的火焰高度最高,向四周方向高度遞減.本文使用正態(tài)分布函數(shù)來設(shè)定β值,使用正態(tài)分布計(jì)算β,則β值可以使用公式(12)得到:

        (12)

        其中xp和yp為粒子在初始化點(diǎn)的坐標(biāo)x和y值,λ跟火焰的燃燒時(shí)間有關(guān),y是正態(tài)分布函數(shù).由公式(6)可知,池火繼續(xù)燃燒時(shí)間跟火焰高度的關(guān)系可以使用公式(13)進(jìn)行控制:

        λ=1-e-?t

        (13)

        3.2.3 發(fā)射器發(fā)射粒子的速度變化

        池火粒子的運(yùn)動(dòng)與受力分析基于如下假設(shè):

        1) 池火粒子可以被視為理想的質(zhì)點(diǎn).

        2) 風(fēng)力在整個(gè)模擬過程中保持不變.

        3) 池火粒子受到的力僅包括重力、風(fēng)力及空氣阻力的影響(非主要作用力忽略不計(jì)).

        根據(jù)流體力學(xué)和空氣動(dòng)力學(xué),池火粒子在空氣中受到空氣阻力的作用,包括牛頓阻力、摩擦力和粘滯力三個(gè)力,計(jì)算空氣阻力的經(jīng)驗(yàn)公式(14)如下[10]:

        (14)

        其中,S為粒子的投影面積(取1cm2),ρ表示空氣密度(取1.29kg/m3),Cd表示阻力系數(shù)(取0.47),為方便微分方程求解,采用空氣阻力與速度系數(shù)的正比關(guān)系式為公式(15)所示.

        F=kv

        (15)

        其中k為空氣阻力系數(shù)(通過經(jīng)驗(yàn)公式計(jì)算空氣阻力的比例系數(shù)k≈3.03×10-6),v為粒子運(yùn)動(dòng)速度.

        根據(jù)牛頓第二定律,分析池火粒子的受力情況和加速度可得公式(16):

        ma=-mg-kv

        (16)

        分量表達(dá)形式:

        (17)

        通過積分計(jì)算的粒子各個(gè)分量上的速度變化可得:

        (18)

        為了體現(xiàn)粒子運(yùn)動(dòng)的隨機(jī)性,在初始速度基礎(chǔ)是添加一定的隨機(jī)偏移:

        V0=Vinit·rand(0.9,1.1)

        (19)

        其中Vinit是通過動(dòng)量守恒定理求得的速度近似下限,粒子速度在上升的過程中粒子遵循動(dòng)量守恒原則,粒子的初始速度需要達(dá)到一個(gè)下限的值之后才能運(yùn)動(dòng)到最高點(diǎn),求解空氣阻力做功較復(fù)雜,可以使用近似解來求出空氣阻力做功,具體可由動(dòng)量守恒公式(20)所得.

        (20)

        綜上,最終加上風(fēng)的效果,粒子的速度變化如公式(21)所示結(jié)果:

        V′(t)=V(t)+Vwind

        (21)

        3.2.4 池火顏色模型

        顏色是一個(gè)非常重要的物理屬性,通過建立池火顏色模型來提高池火渲染真實(shí)感,采用線性插值和顏色漸變兩種方式混合來設(shè)定池火粒子的顏色.選擇粒子上升階段總高度的0→α范圍內(nèi)使用顏色的線性插值,設(shè)定α(0,1)值(常用的α值可根據(jù)應(yīng)用渲染需要形成配置策略).在粒子上升總高度的α→1的范圍內(nèi)使用顏色漸變,顏色模型使用RGBA模型,其中R、G、B分別代表紅、綠、藍(lán)分量,A代表透明度.

        在粒子上升總高度0→α的范圍內(nèi)線性插值計(jì)算為公式(22):

        (22)

        在公式(22)中,O(r,g,b)池火最底部,即初始池火粒子時(shí)的顏色值,M(r,g,b)是在火焰高度α處取得的顏色值減去O(r,g,b)得到的顏色的變化范圍,L為粒子根據(jù)位置計(jì)算得到的能上升的最大高度.h為粒子當(dāng)前的高度粒子在上升總高度.α→1的范圍內(nèi)使用顏色漸變,改變A的值從1→0,從而最終消失計(jì)算為公式(23):

        (23)

        3.2.5 池火粒子初始數(shù)量

        池火粒子數(shù)量決定了池火的密度,池火粒子數(shù)量也是影響可視化實(shí)時(shí)性的重要因素,池火粒子數(shù)量過小池火渲染會(huì)失真,本文采用公式(24)來確定池火粒子的數(shù)量:

        (24)

        其中meannum是屏幕單位區(qū)域內(nèi)產(chǎn)生單位粒子數(shù)目的平均值,方差為varnum,Area為顯示區(qū)域, 為粒子大小.

        3.2.6 池火粒子初始位置

        池火粒子的初始位置決定了粒子表現(xiàn)火焰的密度分布,經(jīng)典粒子系統(tǒng)中,粒子位置初始化的方法具有普遍性而不具有針對(duì)性,針對(duì)池火焰的邊界粒子稀疏,中心密集的特點(diǎn),并且成正態(tài)分布,本文采用高斯分布(正態(tài)分布)與隨機(jī)數(shù)相結(jié)合的方法確定新粒子的初始位置.設(shè)粒子的初始位置為

        I(t0)=Position={Xi(t0),Yi(t0),Zi(t0)},1≤I≤numb0

        粒子的分布,燃點(diǎn)位于XOZ平面,從該平面向上燃燒(y正方向),R′為燃燒區(qū)域半徑,則火焰粒子的分布可用公式(25)表示:

        (25)

        3.3 池火與環(huán)境障礙物碰撞檢測(cè)

        池火與環(huán)境障礙物的碰撞檢測(cè)需要檢測(cè)粒子在運(yùn)動(dòng)過程中是否與環(huán)境障礙物發(fā)生碰撞,該問題可以轉(zhuǎn)化為粒子在時(shí)間間隔內(nèi)所經(jīng)過的路徑是否與環(huán)境障礙物發(fā)生碰撞.由于時(shí)間間隔比較短,因此粒子的運(yùn)動(dòng)軌跡可近似為一條線段.因此將粒子與環(huán)境障礙物的碰撞檢測(cè)問題轉(zhuǎn)化為線段與三角面片的相交檢測(cè)問題.假設(shè)場(chǎng)景有M個(gè)三角面片,N個(gè)粒子,其時(shí)間復(fù)雜度為O(M×N).

        圖1 池火與環(huán)境障礙物碰撞檢測(cè)流程圖Fig.1 Collision test between pool fire and environmental obstacle

        為了提高碰撞檢測(cè)算法的效率,本文根據(jù)粒子與環(huán)境障礙物的空間相關(guān)性,采用ABT空間剖分算法和層次包圍盒技術(shù),ABT空間剖分算法在分割平面(由一個(gè)考慮了多種不同參數(shù)如分割面的數(shù)量和位置等的評(píng)分系統(tǒng)決定)的選擇上更科學(xué)、合理,從而減少需要檢測(cè)的三角面數(shù),節(jié)省內(nèi)存空間,提高算法的效率.算法流程如圖1所示.

        4 基于GPU的粒子系統(tǒng)實(shí)現(xiàn)模型

        在改進(jìn)的粒子系統(tǒng)模型的基礎(chǔ)上,本文采用基于GPU的粒子系統(tǒng)實(shí)現(xiàn)模型,利用CPU-GPU協(xié)同及GPU并行加速滿足實(shí)時(shí)性渲染的要求.

        4.1 基于GPU的改進(jìn)粒子系統(tǒng)

        本文圍繞粒子系統(tǒng)構(gòu)造過程,即粒子產(chǎn)生、粒子屬性更新、粒子銷毀和粒子繪制4個(gè)階段[8],提出基于GPU的改進(jìn)粒子系統(tǒng)模型,如圖2所示,通過CPU和GPU協(xié)同方式實(shí)現(xiàn)池火實(shí)時(shí)渲染,能夠減少CPU和GPU之間的頻繁通信及系統(tǒng)內(nèi)存和顯存間的頻繁數(shù)據(jù)傳送,降低CPU負(fù)擔(dān)[9].在CPU端主要任務(wù)包括粒子系統(tǒng)初始化參數(shù)設(shè)置,建立基于池火災(zāi)的粒子系統(tǒng)模型,粒子產(chǎn)生及銷毀.鑒于GPU的高并行性和可編程性,將池火粒子屬性更新、池火與環(huán)境障礙物的碰撞檢測(cè)和池火粒子繪制在GPU端實(shí)現(xiàn),以滿足實(shí)時(shí)性渲染要求.

        4.2 基于GPU的算法實(shí)現(xiàn)框架

        為了提高池火實(shí)時(shí)渲染效率,并結(jié)合基于GPU的改進(jìn)粒子系統(tǒng)模型,本文提出了具體的基于GPU的算法實(shí)現(xiàn)框架,減少CPU和GPU的通信,實(shí)現(xiàn)GPU通用計(jì)算和渲染的結(jié)合,達(dá)到實(shí)時(shí)渲染池火的目的.如圖3所示,在CPU端主要實(shí)現(xiàn)初始化粒子系統(tǒng)參數(shù)、分配存儲(chǔ)空間(標(biāo)量/矢量等)及圍繞交互應(yīng)用的粒子系統(tǒng)邏輯控制工作.通過將粒子初始數(shù)據(jù)傳輸至GPU顯存后,由GPU端完成重要的計(jì)算和繪制工作.在GPU端主要實(shí)現(xiàn)基于池火災(zāi)的粒子系統(tǒng)模型的計(jì)算、迭代更新池火粒子運(yùn)行狀態(tài)、池火邊界碰撞檢測(cè)以及池火繪制工作.將計(jì)算的頂點(diǎn)數(shù)據(jù)直接用于GPU的渲染,利用CUDA架構(gòu)的并行計(jì)算能力,將每個(gè)粒子映射到GPU處理器的每個(gè)線程,將粒子屬性數(shù)據(jù)存放在全局存儲(chǔ)器,每個(gè)線程塊中的各個(gè)線程唯一對(duì)應(yīng)于全局存儲(chǔ)器中對(duì)應(yīng)的一個(gè)粒子屬性數(shù)據(jù),不同線程塊中的不同線程讀取顯存中全局存儲(chǔ)器中對(duì)應(yīng)粒子的屬性數(shù)據(jù)進(jìn)行更新計(jì)算[10].通過著色器紋理、頂點(diǎn)、光源等數(shù)據(jù)整合處理后進(jìn)行粒子的繪制.

        圖2 基于GPU的改進(jìn)粒子系統(tǒng)模型圖Fig.2 GPU-based improved particle system model

        5 實(shí)驗(yàn)結(jié)果與分析

        本實(shí)驗(yàn)硬件配置:CPU Intel Core(TM)i3-4160 3.6GHz,四核處理器,內(nèi)存為8GB,顯卡型號(hào)為NVIDIA GeForce 9600 GT,顯存為1GB.

        軟件平臺(tái)為Windows 7旗艦版64位操作系統(tǒng),開發(fā)語言為C++,開發(fā)工具為Visual Studio 2013,OpenGL 4.3版本,OSG3.2.3版本,NVIDIA驅(qū)動(dòng)版本號(hào)為174.16.

        圖4給出了采用本文池火災(zāi)實(shí)時(shí)渲染方法的效果圖,采用實(shí)驗(yàn)數(shù)據(jù)(保留一幀的截圖),當(dāng)前池火燃燒速率為0.39(kg/m2·s)、燃燒物質(zhì)為煤油、池火半徑為17.21m、池火高度12.32m.經(jīng)典粒子系統(tǒng)模擬火焰的過程,粒子的隨機(jī)運(yùn)動(dòng)一定程度上影響了火焰的真實(shí)感,本文通過引入池火災(zāi)模型作為粒子系統(tǒng)構(gòu)造的基礎(chǔ),通過建立基于池火災(zāi)的粒子系統(tǒng)模型對(duì)粒子運(yùn)行狀態(tài)控制,更貼近池火應(yīng)用場(chǎng)景.本文基于GPU的粒子系統(tǒng)實(shí)現(xiàn)模型,確保池火實(shí)時(shí)渲染效率,當(dāng)前渲染的頂點(diǎn)數(shù)1.8M,三角形面數(shù)1.6M,幀率達(dá)到53.6fps.

        圖3 基于GPU的算法實(shí)現(xiàn)框架圖Fig.3 GPU-based algorithm implementation framework

        圖4 池火災(zāi)模擬效果圖Fig.4 Pool fire simulation results

        圖5 采用文獻(xiàn)[5]方法模擬出池火災(zāi)效果圖Fig.5 Pool fire effect via literature[5]

        圖6 改進(jìn)粒子系統(tǒng)的池火效果圖Fig.6 Improved particle system pool fire effect

        圖5是采用文獻(xiàn)[5]方法模擬池火災(zāi)效果圖,由于未考慮環(huán)境因素且影響火焰模擬效果的物理參數(shù)有限,火焰效果粗糙.圖6是采用改進(jìn)的粒子系統(tǒng)模型后池火災(zāi)效果圖,本文構(gòu)建的池火災(zāi)模型引入池火燃燒過程的關(guān)鍵物理量,并考慮環(huán)境因素影響如風(fēng)力對(duì)池火的影響,在燃燒過程中出現(xiàn)火焰聚攏效應(yīng),火焰真實(shí)感增強(qiáng),池火的形態(tài)會(huì)隨風(fēng)力變化而實(shí)時(shí)渲染.

        圖7是采用文獻(xiàn)[4]算法模擬池火邊界碰撞效果圖,采用層次包圍盒算法來進(jìn)行碰撞檢測(cè),圖8為采用本文算法模擬池火邊界碰撞效果圖,由于采用了ABT空間剖分算法和層次包圍盒算法相結(jié)合方式,可有效進(jìn)行邊界檢測(cè)并作出碰撞反應(yīng).

        圖7 文獻(xiàn)[4]算法的池火邊界碰撞效果圖Fig.7 Boundary collision effect via literature[4]

        圖8 本文算法的池火邊界碰撞效果圖Fig.8 Boundary collision effectvia our method

        在文獻(xiàn)[6,8]僅使用CUDA架構(gòu)加速粒子屬性的更新,本文在GPU端實(shí)現(xiàn)迭代更新池火粒子運(yùn)行狀態(tài)和計(jì)算池火邊界碰撞檢測(cè).分別用35000、400000個(gè)池火粒子來驗(yàn)證本文算法同使用 CPU 計(jì)算在性能上的差異,渲染速度結(jié)果如表3所示.

        表3 渲染速度對(duì)比圖 Table 3 Rendering speed comparison

        從表3可以看出,在幀率和每幀繪制的三角面片數(shù)量上,本文提出的池火渲染方法比傳統(tǒng)CPU實(shí)現(xiàn)池火渲染效果更好.在渲染35000個(gè)池火粒子時(shí)傳統(tǒng)CPU平臺(tái)下可達(dá)到平均 30.4幀/秒,基本滿足實(shí)時(shí)交互能力.但當(dāng)池火粒子數(shù)增加至400000個(gè)時(shí),傳統(tǒng)CPU平臺(tái)下的 FPS 減少到了平均14.1幀/秒.而采用本文的算法在CUDA平臺(tái)下仍然可以達(dá)到平均 64.4幀/秒,計(jì)算速度是傳統(tǒng)CPU平臺(tái)的4倍多.因此,與傳統(tǒng)CPU實(shí)現(xiàn)的算法相比較,本文提出的算法CPU的占用率大大降低,降低CPU計(jì)算負(fù)載,滿足實(shí)時(shí)性的要求.

        6 結(jié)束語

        本文提出一種基于改進(jìn)粒子系統(tǒng)的池火災(zāi)實(shí)時(shí)渲染方法,將池火災(zāi)數(shù)學(xué)模型融入到粒子系統(tǒng),建立了改進(jìn)的粒子系統(tǒng)模型,并綜合考慮外力環(huán)境因素及池火邊界的碰撞檢測(cè).采用基于GPU的粒子系統(tǒng)實(shí)現(xiàn)模型,利用GPU強(qiáng)大的并行計(jì)算能力對(duì)粒子狀態(tài)更新加速,并使用基于自適應(yīng)二叉樹的剖分算法對(duì)池火邊界碰撞檢測(cè)進(jìn)行優(yōu)化實(shí)現(xiàn)加速,有效減少了內(nèi)存和顯存之間的數(shù)據(jù)傳輸,從而實(shí)現(xiàn)池火災(zāi)實(shí)時(shí)渲染過程優(yōu)化,使性能得到顯著提高,解決了池火災(zāi)模擬難以實(shí)現(xiàn)實(shí)時(shí)性和真實(shí)感的問題.

        猜你喜歡
        模型
        一半模型
        一種去中心化的域名服務(wù)本地化模型
        適用于BDS-3 PPP的隨機(jī)模型
        提煉模型 突破難點(diǎn)
        函數(shù)模型及應(yīng)用
        p150Glued在帕金森病模型中的表達(dá)及分布
        函數(shù)模型及應(yīng)用
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
        3D打印中的模型分割與打包
        小sao货水好多真紧h视频| 久久精品国产av麻豆五月丁| 精品日韩亚洲av无码| 黑人巨茎大战欧美白妇| jjzz日本护士| av网站免费线看| 国产精品久久无码免费看| 青青草手机在线免费视频| 精品国产天堂综合一区在线| 成人黄色网址| 最新国产女主播福利在线观看| 国产成人亚洲综合二区| 在线观看人成视频免费| 337人体做爰大胆视频| 在线观看国产三级av| 中文字幕亚洲乱码熟女1区2区 | 免费大学生国产在线观看p| 日本老熟妇五十路一区二区三区| 亚洲毛片在线免费视频| 国产一区二区三区免费观看在线| 中国一级毛片在线观看| 91亚洲最新国语中文字幕| 国产主播一区二区三区蜜桃| 无码少妇一区二区性色av | 无码毛片视频一区二区本码| 人妻无码中文专区久久综合| 日韩av一区二区无卡| 欧美精品欧美人与动人物牲交| 国产精品美女一区二区三区| 国产精品自线在线播放| 精华国产一区二区三区| 久久人人爽人人爽人人片av高请 | 亚洲欧洲偷自拍图片区| 亚洲男人天堂2017| 在线视频日韩精品三区| 7194中文乱码一二三四芒果| 成人精品综合免费视频| 国产桃色精品网站| 亚洲视频免费一区二区| 国产一区二区三精品久久久无广告| 久草热这里只有精品在线|