999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2020-10-09 02:48:18俞俊程
關(guān)鍵詞:方法

俞俊程

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

1 引言

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

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

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

2 螺旋法

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

圖1 粒子受力分析圖

粒子運(yùn)動(dòng)軌跡滿足圓錐螺旋線方程:

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

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

圖2 粒子運(yùn)動(dòng)軌跡圖

圖3 旋渦粒子速度矢量圖

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

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

3 矢量場(chǎng)方法

3.1 場(chǎng)和矢量場(chǎng)

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

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

3.2 旋渦場(chǎng)

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

其中ω 表示流體微團(tuán)的平均角速度。

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

這就是渦線方程。

圖4 漩渦場(chǎng)示意圖

圖5 渦線示意圖

圖6 渦管示意圖

圖7 旋渦強(qiáng)度示意圖

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

對(duì)有限面積,則通過(guò)這一面積的渦通量為

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

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

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

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

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

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

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

圖8 普通粒子圖

圖9 螺旋法粒子圖

圖10 矢量場(chǎng)法粒子圖

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

圖11 普通火焰圖

圖12 螺旋法渦流圖

圖13 矢量場(chǎng)法渦流圖

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

表1 對(duì)比分析表

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

5 結(jié)語(yǔ)

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

猜你喜歡
方法
中醫(yī)特有的急救方法
中老年保健(2021年9期)2021-08-24 03:52:04
高中數(shù)學(xué)教學(xué)改革的方法
化學(xué)反應(yīng)多變幻 “虛擬”方法幫大忙
變快的方法
兒童繪本(2020年5期)2020-04-07 17:46:30
學(xué)習(xí)方法
用對(duì)方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
最有效的簡(jiǎn)單方法
山東青年(2016年1期)2016-02-28 14:25:23
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 久久这里只有精品国产99| 婷婷伊人久久| 成色7777精品在线| 2021国产v亚洲v天堂无码| av在线无码浏览| 国产精品欧美激情| 成人在线不卡视频| 国产毛片片精品天天看视频| 在线观看亚洲成人| 中文字幕亚洲无线码一区女同| 中文字幕精品一区二区三区视频| 亚洲第一黄片大全| 国产精品大白天新婚身材| 精品国产91爱| 亚洲成a人片在线观看88| 青青热久免费精品视频6| 色婷婷狠狠干| 亚洲无码高清一区| 国产97区一区二区三区无码| 久草网视频在线| 黄片一区二区三区| 欧亚日韩Av| 18禁色诱爆乳网站| 国模视频一区二区| 欧美亚洲国产一区| a级毛片一区二区免费视频| 国产日韩欧美在线视频免费观看| 国产亚洲男人的天堂在线观看| www.精品国产| av一区二区无码在线| 一本综合久久| 97一区二区在线播放| 日本亚洲欧美在线| 国产免费福利网站| 国产精品va免费视频| 亚洲综合18p| 亚洲永久精品ww47国产| 青青青国产在线播放| 99re热精品视频中文字幕不卡| 91av国产在线| 日韩在线播放中文字幕| 蜜臀AV在线播放| 欧美精品三级在线| 任我操在线视频| 国产激情第一页| 亚洲有无码中文网| 自拍偷拍欧美| 国产精品制服| 国产精品永久不卡免费视频| 国产成人亚洲精品蜜芽影院| 日韩免费毛片| 国产精品七七在线播放| 极品性荡少妇一区二区色欲| 国产18在线| 欧美视频二区| 最新国产高清在线| a级毛片在线免费观看| 国产在线视频二区| h网站在线播放| 免费视频在线2021入口| 色网站在线视频| 国产精品va| 色综合成人| 欧美不卡视频在线观看| 精品偷拍一区二区| 毛片一区二区在线看| 亚洲天堂久久| 蜜芽国产尤物av尤物在线看| 97久久免费视频| 国产美女视频黄a视频全免费网站| 91小视频在线观看免费版高清| 鲁鲁鲁爽爽爽在线视频观看 | 亚洲精品欧美日韩在线| 免费国产小视频在线观看| 国产成人凹凸视频在线| 人人爱天天做夜夜爽| yjizz国产在线视频网| 亚洲va欧美va国产综合下载| 日本在线免费网站| 国产激爽大片在线播放| 91啦中文字幕| 亚洲天堂成人|