• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于矢量場的火焰渦流現(xiàn)象模擬方法研究?

      2020-10-09 02:48:18俞俊程
      計算機與數(shù)字工程 2020年7期
      關(guān)鍵詞:粒子系統(tǒng)旋渦渦流

      俞俊程

      (江蘇科技大學(xué)計算機學(xué)院 鎮(zhèn)江 212001)

      1 引言

      火焰是無規(guī)則物體的典型代表,具有無規(guī)則和實時多變的特征。它們沒有一般幾何物體光滑的表面和突出的棱角,外觀形狀極不規(guī)則,這就讓經(jīng)典幾何學(xué)很難對其進行描述。近年來,經(jīng)過人們的不斷研究,已經(jīng)提出了多種火焰模擬的方法。通過對前人研究成果的總結(jié),可以將計算機火焰模擬的方法分成三種類型:基于2D 紋理的火焰模擬[2]、基于數(shù)學(xué)物理模型的火焰模擬[3]以及基于粒子系統(tǒng)的火焰模擬。基于2D紋理的火焰模擬方法采用紋理貼圖的方式進行模擬,這種方法雖然簡單方便,但人工痕跡極大,模擬的真實性也有待提高。而用數(shù)學(xué)物理模型進行火焰模擬,其模擬效果比較真實,但是模擬需要的運算量很大,往往需要多次的迭代計算,這也一定程度上限制了這種模擬方法的使用。相比而言,運用粒子系統(tǒng)進行火焰模擬是最合適最經(jīng)得起考驗的方法[4~7],它的模擬效果比2D紋理方法好得多,同時運算量也沒有數(shù)學(xué)物理方法那么大。

      所謂粒子系統(tǒng)就是將一定數(shù)量的基本粒子組成粒子群體,用這種粒子群體來表示不規(guī)則的運動物體,然后通過控制這些粒子的基本屬性如運動、大小、顏色等來模擬不規(guī)則物體的運動變化特征的技術(shù)。W.T.Reeves 等首次系統(tǒng)地提出了粒子系統(tǒng)方法[8],隨后,這種方法得到了很大的發(fā)展。Sims利用粒子系統(tǒng)的并行特點,在CM-2 超級并行計算機上實現(xiàn)了并行的粒子動畫和繪制系統(tǒng)[9]。Richard 和David 引入有向粒子的概念,為可變形的物體表面進行建模[10],實現(xiàn)變形物體表面斷開、連接或延伸等效果。Miroslav Sabo 對粒子系統(tǒng)作了進一步擴展[11],將粒子屬性的轉(zhuǎn)折點引入了粒子生命周期以保持系統(tǒng)結(jié)構(gòu)的完整。2010 年,唐勇等采用粒子系統(tǒng)與物理模型相結(jié)合的方法在復(fù)雜環(huán)境中進行煙霧模擬[12],并利用有限粒子數(shù)生成了滿足真實性的煙霧場景。此方法被認為是迄今為止模擬不規(guī)則模糊物體,最為成功的一種圖形生成算法[13~14]。

      火焰在傳播的過程中受到空氣阻力、熱浮力、風(fēng)力和重力等因素的影響,由于粒子體積很小,其受到重力的影響可以忽略不計。熱浮力的大小由火焰的溫度決定,火焰內(nèi)部溫度高,火焰粒子受到的熱浮力較大,粒子上升速度快,相反,火焰外部溫度較低,粒子受到的熱浮力較小,上升速度慢。同時,火焰受到風(fēng)力的影響,當風(fēng)出動火焰的時候,火焰粒子在水平方向以接近風(fēng)速的速度移動,在豎直方向受熱浮力影響向上運動。當火焰粒子以一定速度進入空氣時,由于火焰粒子與空氣的摩擦,火焰粒子受到空氣的剪切力作用而產(chǎn)生旋轉(zhuǎn)變形,產(chǎn)生渦流效果。另外,風(fēng)吹動火焰時也會產(chǎn)生渦流效果,本文將兩者綜合考慮,在分析和研究當前模擬火焰渦流現(xiàn)象的主要方法螺旋法的基礎(chǔ)上,提出了一種基于矢量場的火焰渦流模擬方法。

      2 螺旋法

      火焰粒子在進入空氣中時,首先火焰粒子與空氣的摩擦,火焰粒子受到空氣的剪切力作用而產(chǎn)生旋轉(zhuǎn)變形,產(chǎn)生渦流現(xiàn)象[15]。同時受到熱浮力的影響產(chǎn)生豎直向上的運動,螺旋法就是在綜合考慮火焰粒子受力情況下,采用隨機粒子在場景中做螺旋向上運動來模擬火焰渦流現(xiàn)象。

      圖1 粒子受力分析圖

      粒子運動軌跡滿足圓錐螺旋線方程:

      其中,k 表示螺旋線的初始半徑,p 表示螺距。

      旋渦粒子速度矢量隨時間變化規(guī)律如圖3 所示。

      圖2 粒子運動軌跡圖

      圖3 旋渦粒子速度矢量圖

      螺旋法原理較為簡單,將一部分粒子從火焰粒子中獨立出來,用這部分粒子的螺旋運動來模擬火焰的渦流現(xiàn)象,這部分粒子稱為螺旋粒子。但是在實際模擬過程中,發(fā)射器向一定方向發(fā)射出的普通粒子肯定會有一部分運動到做螺旋運動的粒子所在的空間位置,在此空間位置上,既有按照螺旋線方程作螺旋上升運動的粒子,又存在按照粒子發(fā)射器給定的初始狀態(tài)運動,這就導(dǎo)致了在視覺效果上火焰粒子運動狀態(tài)沖突。另外,粒子發(fā)射器產(chǎn)生的粒子其初始狀態(tài)都不相同,CPU需要按照螺旋線方程分別計算每個粒子的運動狀態(tài),這樣增加了CPU的負擔,造成大量的內(nèi)存消耗。

      在螺旋法的基礎(chǔ)上,要想保障火焰粒子的連續(xù)性,消除粒子運動狀態(tài)沖突的現(xiàn)象,需要將火焰粒子作為一個整體來處理,而不能將其分割成普通粒子和螺旋粒子兩個部分分別進行火焰模擬,因此,本文提出使用矢量場的方法,對粒子系統(tǒng)中處于矢量場中的粒子的運動狀態(tài)進行控制,以達到模擬火焰渦流現(xiàn)象的目的。

      3 矢量場方法

      3.1 場和矢量場

      物理學(xué)中把某個物理量在空間的一個區(qū)域內(nèi)的分布稱為場,如溫度場、密度場、引力場、電場、磁場等。如果形成場的物理量只隨空間位置變化,不隨時間變化,這樣的場稱為定常場;如果不僅隨空間位置變化,而且還隨時間變化,這樣的場稱為不定常場。依據(jù)場在時空中每一點的量的類型可以將場分為標量場、矢量場和張量場三種。

      如果形成場的物理量是矢量,則將這種場稱為矢量場(vector field),矢量場是由一個矢量對應(yīng)另一個矢量的函數(shù)[16]。建立坐標系(x,y,z),空間中每一點(x0,y0,z0)都可以用由原點指向該點的向量表示。因此,如果空間在所有點對應(yīng)一個唯一的向量(a,b,c),那么時空中存在向量場F:(x0,y0,z0)→(a,b,c)。在實際中,一般的場都是不定常的場,矢量場也是一種不定常場。但為了研究方便,可以把在一段時間內(nèi)物理量變化很小的場近似地看作定常場。矢量場通常被用來模擬例如流體在整個空間中的速度和方向,或者某個力的強度和方向,比如磁力或者引力,隨著它從一個點到另一個點的變化。在本文中,火焰粒子可以看作是一種流體,可以用矢量場來模擬其在空間中的運動狀態(tài)。

      3.2 旋渦場

      在矢量場的全部或部分存在角速度的場稱為漩渦場,漩渦場是一種特殊的矢量場。本文中采用旋渦場模擬火焰渦流現(xiàn)象,火焰粒子在旋渦場中按照旋渦場受力方向運動。渦量是描寫旋渦運動最重要的物理量之一,定義為流體速度矢量的旋度,渦量的單位是秒分之一。渦量的定義如下:

      其中ω 表示流體微團的平均角速度。

      漩渦場中用渦線來表示流體微團的運動路徑,渦線的定義為:某一瞬時漩渦場中的一條曲線,曲線上任意一點的切線方向與改點流體微團的旋轉(zhuǎn)角速度一致。由定義推導(dǎo)出其微分方程,設(shè)某一點上流體微團的瞬時角速度為取過該點渦線上的微元矢量,根據(jù)定義這兩個矢量方向一致,矢量叉乘積為0,即

      這就是渦線方程。

      圖4 漩渦場示意圖

      圖5 渦線示意圖

      圖6 渦管示意圖

      圖7 旋渦強度示意圖

      某一瞬時,在渦量場中取一封閉曲線c(不是渦線),通過曲線上每一點作渦線,這些渦線形成的封閉的管型曲面稱為渦管。如果曲面c 構(gòu)成的是微小截面,那么這些渦管并與其中所有渦線垂直的斷面稱為渦管斷面,在微小斷面上,各點的旋轉(zhuǎn)角速度相同。渦管中充滿著的作旋轉(zhuǎn)運動的流體稱為渦束,微元渦管的渦束稱為微元渦束或者渦絲。在微元渦管中,兩倍角速度與渦管斷面面積dA 的乘積稱為微元渦管的渦通量(旋渦強度),即:

      對有限面積,則通過這一面積的渦通量為

      如果A 是渦束的某一橫截面積,就稱為渦束旋渦強度,它也是角速度矢量的通量,旋渦強度不僅僅取決于旋度Ω,而且取決于面積A。在流場的某封閉周線上,流體速度矢量沿周線的線積分定義為速度環(huán)量,用符號Γ 表示,即:

      Stokes 定理:在渦量場中,沿任意封閉周線的速度環(huán)量等于過該周線所包圍曲面面積的旋渦強度,即:

      這一定理將旋渦強度與速度環(huán)量關(guān)聯(lián)起來,給出了通過速度環(huán)量計算旋渦強度的方法。

      矢量場方法通過建立漩渦場改變火焰粒子運動狀態(tài)從而模擬火焰的渦流現(xiàn)象。旋渦場只對進入其中的火焰粒子作用,不會影響其他粒子的正常運動,也不存在同一空間位置出現(xiàn)不同運動狀態(tài)的粒子的情況,消除了斷層現(xiàn)象。同時,矢量場方法采用GPU Sprites Emitter 來模擬火焰渦流,將模擬粒子運動的計算放在GPU 端執(zhí)行。相比CPU 端模擬粒子運動,它的優(yōu)勢是減少了CPU 端的開銷,減少了內(nèi)存消耗,借助GPU 的高性能并行計算,能夠支持更多的粒子數(shù)目。

      4 實驗結(jié)果與分析

      本文實驗環(huán)境:Intel Core i5-6300HQ,8G 內(nèi)存,NVIDIA GeForce GTX 960M,2G獨顯。

      本文在Unreal Engine 4.15.3 軟件平臺上,同一個第三人稱視角項目的同一個關(guān)卡中對螺旋法和矢量場方法火焰渦流現(xiàn)象模擬情況進行比較。兩種方法實現(xiàn)的具體粒子效果以及火焰效果如圖8~13所示。

      圖8 普通粒子圖

      圖9 螺旋法粒子圖

      圖10 矢量場法粒子圖

      比較兩種方法對應(yīng)的實驗效果圖12 和圖13,圖12 中同一位置有作螺旋運動的火焰粒子以及作上升運動的普通火焰粒子,出現(xiàn)火焰粒子運動狀態(tài)沖突的現(xiàn)象。而圖13 中用矢量場法實現(xiàn)的火焰則不存在在同一位置火焰粒子運動狀態(tài)沖突的現(xiàn)象,從視覺效果上看,矢量場方法所生成的火焰渦流要比螺旋法更好。

      圖11 普通火焰圖

      圖12 螺旋法渦流圖

      圖13 矢量場法渦流圖

      兩種方法在同一場景環(huán)境下所占系統(tǒng)資源以及實時場景數(shù)據(jù)如表1所示。

      表1 對比分析表

      從上表中可以清楚地看出,矢量場方法在相同粒子數(shù)的情況下,其所消耗的內(nèi)存遠遠小于螺旋法,矢量場法FPS 相對于螺旋法有17%的提升,其粒子渲染時間也比螺旋法更少。所以本文提出的矢量場方法更加適合于火焰渦流現(xiàn)象的模擬。

      5 結(jié)語

      本文從虛擬仿真的真實性角度出發(fā),在介紹和分析螺旋法模擬火焰渦流的基礎(chǔ)上,提出了一種基于矢量場的火焰渦流模擬方法,這種方法彌補了螺旋法消耗大量內(nèi)存,容易出現(xiàn)火焰粒子運動狀態(tài)沖突的缺點,運用矢量場來控制粒子的運動狀態(tài),達到降低內(nèi)存占用,高真實性的目的。同時,本文中的方法還有更大的提升空間,比如利用粒子系統(tǒng)的交互來實現(xiàn)更加復(fù)雜的火焰粒子運動等,后續(xù)還會繼續(xù)加深研究。

      猜你喜歡
      粒子系統(tǒng)旋渦渦流
      基于CFD仿真分析的各缸渦流比一致性研究
      利用GPU加速的粒子系統(tǒng)全球流場可視化系統(tǒng)設(shè)計與實現(xiàn)
      小心,旋渦來啦
      大班科學(xué)活動:神秘的旋渦
      旋渦笑臉
      山間湖
      揚子江(2019年1期)2019-03-08 02:52:34
      渦流傳感器有限元仿真的研究與實施
      UE 4粒子系統(tǒng)與外部數(shù)據(jù)通信研究
      關(guān)于CW-系列盤式電渦流測功機的維護小結(jié)
      汽車科技(2014年6期)2014-03-11 17:46:08
      電渦流掃描測量的邊沿位置反演算法研究
      丹巴县| 阳江市| 永寿县| 通河县| 肇东市| 界首市| 石楼县| 安图县| 栾城县| 岢岚县| 上虞市| 平顺县| 拜城县| 玉屏| 河西区| 西林县| 阿荣旗| 广州市| 南昌市| 高雄县| 襄垣县| 临汾市| 阿克苏市| 班玛县| 谢通门县| 宜章县| 沛县| 襄城县| 沙雅县| 兴文县| 白朗县| 克东县| 青海省| 青神县| 苍梧县| 华亭县| 镇宁| 宣化县| 富裕县| 延寿县| 开原市|