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

基于粒子系統(tǒng)的3D動(dòng)態(tài)火焰模擬

2018-02-08 09:46:37魏碧云孔樣紅
關(guān)鍵詞:風(fēng)速

魏碧云,孔樣紅,李 暉

武漢工程大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,湖北 武漢 430205

虛擬現(xiàn)實(shí)技術(shù)[1]是利用計(jì)算機(jī)的圖形功能模擬世界上的各種真實(shí)物體、自然場(chǎng)景及光照產(chǎn)生的各種特效,甚至可以將想象中的世界真實(shí)地模擬出來(lái),給人們的視覺(jué)帶來(lái)不一樣的沖擊效果。近年來(lái)隨著計(jì)算機(jī)圖形學(xué)技術(shù)的發(fā)展,對(duì)自然景物的模擬逐漸成為一個(gè)研究熱點(diǎn),如對(duì)火焰、噴泉、云霧、閃電、雪花、浪花等自然景物[2]的模擬。這些模擬在軍事科技、影視設(shè)計(jì)、航空航天等領(lǐng)域中發(fā)揮了重要作用。

由于自然景物擁有豐富的紋理和不規(guī)則的幾何外形,以及自然因素對(duì)它的影響,如風(fēng)力、氣流等,因此其運(yùn)動(dòng)軌跡是不能確定的。傳統(tǒng)數(shù)學(xué)工具無(wú)法對(duì)該類(lèi)物體外在表現(xiàn)形式進(jìn)行正確地描述,所以自然景物的模擬相對(duì)困難。因此,如何利用虛擬現(xiàn)實(shí)技術(shù)使這些景物在計(jì)算機(jī)屏幕上呈現(xiàn)更加真實(shí)的效果,成為許多研究者不斷努力奮斗的課題。無(wú)規(guī)則模糊物體模擬技術(shù),在學(xué)者們多年的探索和研究下,取得了一定程度的成就,而在多種模擬方法中,粒子系統(tǒng)又具有明顯的優(yōu)勢(shì)。

粒子系統(tǒng)的起源,可追溯到 1983 年,Reeves[3]提出的粒子系統(tǒng)的概念。系統(tǒng)中每個(gè)粒子都有屬于自身的一組屬性,例如粒子的位置、形狀、加速度、顏色、生命周期、衰減速度等。這些屬性隨著時(shí)間不斷地進(jìn)行更新,從而使整體的外觀變化以及運(yùn)動(dòng)狀態(tài),相對(duì)于傳統(tǒng)的模擬方法更具有真實(shí)感。該系統(tǒng)尤其突出的一個(gè)優(yōu)點(diǎn),就是利用簡(jiǎn)單的圖元去模擬一些很復(fù)雜的物體,同時(shí)又不失模擬物體的真實(shí)性和實(shí)時(shí)性。這是單純的使用傳統(tǒng)方法和數(shù)學(xué)工具所無(wú)法比擬的,因此,粒子系統(tǒng)逐漸成為國(guó)內(nèi)外眾多學(xué)者的研究重點(diǎn)。本文將結(jié)合粒子系統(tǒng)和 OpenGL[4-6],同時(shí)引入風(fēng)場(chǎng),對(duì)火焰模擬進(jìn)行改進(jìn)和創(chuàng)新。

1 火焰系統(tǒng)中生存運(yùn)動(dòng)場(chǎng)的構(gòu)建

基于傳統(tǒng)的粒子系統(tǒng)的火焰模擬圖形已經(jīng)不能滿足如今社會(huì)計(jì)算機(jī)圖形領(lǐng)域的需求,且其真實(shí)性和實(shí)時(shí)性都不能在日常應(yīng)用中充分體現(xiàn),因此需要進(jìn)一步的改進(jìn)。本文主要探討如何增強(qiáng)火焰的真實(shí)性和實(shí)時(shí)性,改進(jìn)方法如下:

1)在傳統(tǒng)的粒子系統(tǒng)火焰模擬中引入重力和空氣浮力,實(shí)現(xiàn)火焰的動(dòng)態(tài)效果,體現(xiàn)火焰實(shí)時(shí)性特性;

2)在傳統(tǒng)的粒子系統(tǒng)火焰模擬中增加三維場(chǎng)景,展現(xiàn)火焰的真實(shí)性。

改進(jìn)的火焰模擬流程如圖1所示。

圖1 火焰模擬流程圖Fig.1 Flowchart of flame simulation

1.1 重力的引入

重力在動(dòng)態(tài)火焰模擬中起到了重要的作用。采用Gyarmathy模型[7],通過(guò)人工引入的重力場(chǎng)模擬重力的作用。該模型的優(yōu)點(diǎn)在于:插值操作可在自由粒子間和連續(xù)介質(zhì)兩種極端情況下進(jìn)行,其表達(dá)式為:

從式(1)中可以看出,溫度對(duì)粒子的受力有很大的影響,這里采取介于T0和T∞之間的溫度:

粒子在發(fā)射和碰撞過(guò)程中會(huì)產(chǎn)生瞬間的內(nèi)部熱量,方程表示如下:

其中,P=ρ(r,t)為顆粒的輻射傳熱,ρ表示顆粒密度,c表示熱容,k表示熱導(dǎo)。

1.2 風(fēng)場(chǎng)的引入

1.2.1 全域風(fēng)場(chǎng) 全域風(fēng)場(chǎng)的風(fēng)源可設(shè)為無(wú)限大,其模型可隨時(shí)間的變化而隨機(jī)變化,風(fēng)源與火焰之間的距離對(duì)風(fēng)速變化沒(méi)有影響。全域風(fēng)場(chǎng)模型中任何時(shí)刻的風(fēng)速都可表示為平均風(fēng)速和一個(gè)隨機(jī)數(shù)之和,該隨機(jī)數(shù)是由Perlin噪音函數(shù)產(chǎn)生的隨機(jī)數(shù),其表達(dá)式為:

vp(t)是一個(gè)采用Perlin噪音函數(shù)產(chǎn)生的隨機(jī)數(shù),其表達(dá)式為:

αPerlinNoise(t)是一個(gè)以時(shí)間t為變量的Per?lin噪音函數(shù)。通過(guò)改變 v0(t),w,β,α這些常量就可以產(chǎn)生不同的風(fēng)速。

1.2.2 火焰模擬中的Perlin噪音 Perlin噪音[8]是一個(gè)隨機(jī)數(shù)生成器,在火焰模擬中,Perlin函數(shù)用一個(gè)整數(shù)作為參數(shù),并返回一個(gè)基于參數(shù)的隨機(jī)數(shù)。同樣的參數(shù)傳遞兩次,對(duì)于普通的隨機(jī)函數(shù)來(lái)說(shuō),兩次傳遞相同的參數(shù)可能會(huì)產(chǎn)生不同的結(jié)果,而Perlin函數(shù)不同,它會(huì)產(chǎn)生相同的隨機(jī)數(shù)。如圖2所示,在X軸上,對(duì)每一個(gè)值賦予[0,1]的隨機(jī)噪聲值。通過(guò)每個(gè)離散的噪聲值進(jìn)行平滑插值操作后,可得到一個(gè)平滑的連續(xù)函數(shù)。

圖2 插值對(duì)噪聲值的影響(a)離散噪聲值;(b)平滑插值后的噪聲值Fig.2 Effect of interpolation on noise values(a)Discrete noise values;(b)Smoothing noise values

將火焰模擬中不同頻率和振幅的平滑函數(shù)疊加在一起,按式(7)可構(gòu)造出若干新的噪聲函數(shù)Noisei(x):

構(gòu)造模擬火焰的Perlin噪聲函數(shù)方法如下:

1)構(gòu)造一個(gè)1個(gè)單位長(zhǎng)度的噪聲生成器,(float)rand()/RAND_MAX;

2)對(duì)任一點(diǎn)(x,z),假設(shè)其落在4個(gè)相鄰噪聲控 制點(diǎn) (x0,z0)、(x0,z1)、(x1,z0) 和 (x1,z1) 所圍 城的區(qū)域內(nèi)。計(jì)算每個(gè)控制點(diǎn)到點(diǎn)(x,z)的向量與該控制點(diǎn)梯度的點(diǎn)積,得到它們對(duì)點(diǎn)(x,z)處噪聲的影響值。

1.2.3 計(jì)算風(fēng)力 風(fēng)場(chǎng)模型[9]確定后,為了模擬出火焰搖曳的效果,必須計(jì)算出作用在火焰上的風(fēng)力,作用在火焰上的風(fēng)力由拖曳力和升浮力組成,其表達(dá)式為:

其中,CL(α),CD(α)分別是攻角為 α 時(shí)的升浮力和拖曳力系數(shù),ρa(bǔ)為空氣密度,其值為2.37×10-3g/m3,v是建立的風(fēng)場(chǎng)模型得到的風(fēng)速,S表示迎風(fēng)面積。它們?cè)诖怪狈较蛏系淖饔昧椋?/p>

2 火焰及其場(chǎng)景建模

2.1 火焰建模

粒子系統(tǒng)控制機(jī)將火焰粒子從發(fā)射孔不斷發(fā)射出來(lái)進(jìn)行動(dòng)態(tài)模擬,每個(gè)火焰粒子在生成時(shí)都有自己的初始化屬性。隨著時(shí)間的推移,火焰粒子必然經(jīng)過(guò)“生成”、“運(yùn)動(dòng)”和“消亡”三個(gè)階段[10]。火焰粒子系統(tǒng)的實(shí)現(xiàn)過(guò)程如下:

1)產(chǎn)生一定數(shù)量的新結(jié)構(gòu)化粒子加入系統(tǒng);

2)賦予每一個(gè)新的結(jié)構(gòu)化粒子一定的初始屬性;

3)對(duì)整個(gè)系統(tǒng)進(jìn)行更新,刪除隨著衰減速率生命周期為0的粒子;

4)根據(jù)粒子的運(yùn)動(dòng)規(guī)律對(duì)結(jié)構(gòu)化粒子進(jìn)行變換及改變屬性;

5)繪制并顯示由已有生命的結(jié)構(gòu)化粒子組成的圖形。

其流程如圖3所示。

圖3 粒子系統(tǒng)流程圖Fig.3 Flowchart of particle system

2.2 紋理映射

在大規(guī)模的三維場(chǎng)景仿真中,目前的技術(shù)不能直接模擬每一個(gè)火焰粒子的運(yùn)動(dòng)過(guò)程,所以紋理映射技術(shù)[11]被引入到三維場(chǎng)景中,給三維場(chǎng)景添加真實(shí)感。在現(xiàn)實(shí)生活中,這些大大小小均比較接近于真實(shí)事物的貼圖都是基于物體紋理識(shí)別得到的。

紋理貼圖技術(shù)直接關(guān)系到三維場(chǎng)景的真實(shí)效果,是體現(xiàn)真實(shí)感場(chǎng)景的重要步驟。

紋理貼圖包括一維紋理、二維紋理、三維紋理三種體現(xiàn)形式,它們的紋理是根據(jù)其變量的定義不同而劃分。其中二維紋理貼圖是最常用的方法,之后將二維紋理映射到三維場(chǎng)景的表面,這樣就獲得了具有紋理貼圖的三維場(chǎng)景,增加了其真實(shí)感。假設(shè)二維紋理函數(shù)定義在(s,r)平面上,一般認(rèn)為二維紋理函數(shù)的定義域是單位方正的,表現(xiàn)形式如下:

采用球面紋理映射[12],具體參數(shù)方程如下:對(duì)于球面上的任意一點(diǎn)(x,y,z),求解參數(shù)

(s,r),表達(dá)式如下:

在OpenGL中紋理映射的流程如圖4所示。

圖4 紋理映射流程圖Fig.4 Flowchart of texture mapping

3 結(jié)果與討論

3.1 實(shí)現(xiàn)效果

通過(guò)前幾節(jié)的描述,粒子系統(tǒng)基本上達(dá)到了預(yù)期的效果,可以較為逼真地模擬火焰效果,并添加一些簡(jiǎn)單的三維模擬場(chǎng)景。在該場(chǎng)景中,可實(shí)現(xiàn)漫游效果。此外,還增加了按鍵功能,使火焰呈現(xiàn)出不同的變化,如增加風(fēng)向,調(diào)整重力加速度的數(shù)值;插入不同的位圖轉(zhuǎn)換成不同的紋理,改變顏色分量(R,G,B)的數(shù)值,使得火焰呈現(xiàn)不同的形態(tài)。最終生成的火焰如圖5所示。圖5中的火焰場(chǎng)景,紋理貼圖使火焰擁有立體效果,在X軸上添加的重力加速度使火焰體現(xiàn)出搖曳的效果。

圖5 三維場(chǎng)景中的火焰Fig.5 Flame in 3D scene

3.2 火焰實(shí)現(xiàn)結(jié)果分析

圖6 不同溫度下各參數(shù)的變化Fig.6 Changes of parameters at different temperatures

同時(shí),為了使所觀察到的圖像具有3D立體效果,利用 glEnable()和 glDisable()繪制場(chǎng)景圖,并啟用三維紋理GL_TEXTURE_3D作為參數(shù)設(shè)置3D背景圖,對(duì)普通的模擬火焰進(jìn)行紋理渲染,如圖7所示。

圖7 添加紋理渲染的模擬火焰(a)紋理渲染之前;(b)紋理渲染之后Fig.7 Simulated flame by adding texture rendering(a)before texture rendering;(b)after texture rendering

對(duì)溫度為0℃(即無(wú)溫度參數(shù)的引入)和330℃兩個(gè)不同溫度值時(shí)的火焰形態(tài)進(jìn)行分析,同時(shí)引入紋理渲染增加可觀度,如圖8所示。

圖8 不同溫度對(duì)火焰的影響(a)0℃;(b)330℃Fig.8 Effects of different temperatures on flame(a)0 ℃;(b)330 ℃

3.2.2 風(fēng)力對(duì)火焰的影響 當(dāng)火焰粒子所示風(fēng)力產(chǎn)生了α=2的振動(dòng)頻率時(shí),可以將 Fy在α=2處對(duì)α進(jìn)行一階泰勒展開(kāi)式[13]:

其中,F(xiàn)y(0)是不隨時(shí)間變化的,在動(dòng)態(tài)相應(yīng)分析中可以忽略不計(jì),Δ(α2)表示高階項(xiàng),也可以忽略,則:

由式(9)可得:

將式子(15)帶入式子(14)中,可得到最終空氣動(dòng)力表達(dá)式[14]:

Fy在α=2處的風(fēng)速和風(fēng)力變化如圖9所示。

圖9 火焰粒子的風(fēng)速和力變化(a)火焰粒子的風(fēng)速變化;(b)火焰粒子的受力變化Fig.9 Change of wind speed and power of flame particles(a)Change of wind speed of flame particles;(b)Change of wind speed of flame particles

由圖9(a)和圖9(b)可得結(jié)論:Perlin噪聲函數(shù)利用噪聲生成器(float)rand()/RAND_MAX引入的參數(shù)增加了實(shí)驗(yàn)隨機(jī)性和自然模擬性,因此,由vp(t)=αPerlinNoise(t)知隨著時(shí)間t的增加,風(fēng)速不斷增大,而從式(8)中可得出拖曳力 Fd和升浮力Fl也不斷增大。圖9(b)反映了升浮力增加的速率遠(yuǎn)高于拖曳力增加的速率。因此,渲染時(shí)間t不能過(guò)長(zhǎng),否則將會(huì)使火焰動(dòng)態(tài)效果失真。由此可知,火焰在模擬過(guò)程中,總是呈上升狀態(tài),焰身在拖曳力Fd和升浮力Fl的共同作用下向某一方向偏移,這一現(xiàn)象真實(shí)模擬出風(fēng)對(duì)火焰的影響。

圖10為無(wú)風(fēng)力作用和時(shí)間t=4 s時(shí)的風(fēng)力作用的對(duì)比圖,風(fēng)場(chǎng)的引入使火焰在場(chǎng)景中產(chǎn)生一定的偏移,風(fēng)速、拖曳力以及升浮力隨渲染時(shí)間的推移而改變。因此,入眼的火焰擺動(dòng)頻率和方向都將有所不同,如圖10所示。

圖10 風(fēng)場(chǎng)對(duì)模擬火焰的影響:(a)無(wú)風(fēng)場(chǎng);(b)有風(fēng)場(chǎng)Fig.10 Effect of wind field on simulated flame(a)Without wind field;(b)With wind field

4 結(jié)語(yǔ)

以上主要對(duì)傳統(tǒng)的粒子系統(tǒng)繪制火焰進(jìn)行了改進(jìn),并解決了粒子系統(tǒng)實(shí)時(shí)性和逼真性的問(wèn)題。同時(shí),在了解模擬景物的自然特性及其相關(guān)自然因素后,利用簡(jiǎn)單的幾何圖元對(duì)整個(gè)系統(tǒng)進(jìn)行了數(shù)學(xué)建模,對(duì)每個(gè)粒子進(jìn)行了紋理貼圖及渲染處理。在解決系統(tǒng)實(shí)時(shí)性等問(wèn)題方面,選擇了四角面片[15]繪制粒子的方法與動(dòng)態(tài)生成視點(diǎn)替用特效技術(shù),這樣不僅可降低系統(tǒng)計(jì)算量,還可提高實(shí)時(shí)性。通過(guò)引入風(fēng)力和重力場(chǎng)模型,進(jìn)一步增強(qiáng)動(dòng)態(tài)火焰的逼真性。重力場(chǎng)可動(dòng)態(tài)展現(xiàn)火焰粒子消亡的規(guī)律;風(fēng)力場(chǎng)則可模擬出火焰粒子的運(yùn)動(dòng)情況。這不僅使火焰粒子的運(yùn)動(dòng)更加靈活,也更體現(xiàn)火焰的真實(shí)效果。

[1] 蘇美玲,馮正勇.虛擬現(xiàn)實(shí)技術(shù)[J].數(shù)字技術(shù)與應(yīng)用,2015(5):83-84.

[2] 郝學(xué)娟.基于粒子系統(tǒng)的煙霧模擬[J].現(xiàn)代計(jì)算機(jī)(專業(yè)版),2014(15):19-23.

[3] REEVES W T. Particle systems-a technique for modeling a class of fuzzy objects[J].Computer Graphics,1983,17(3):359-376

[4] 張曉,劉培玉.OpenGL技術(shù)在虛擬顯示三維重建中的應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(18):4875-4876.

[5] 葉帥,游有鵬,邢永彥.基于OpenGL的三維模型交互控制研究[J].機(jī)械設(shè)計(jì)與制造工程,2015(1):15-18.

[6] 董鴻鵬,姜本清,方偉.基于OpenGL的三維模型渲染技術(shù)研究[J].艦船電子工程,2015(10):114-116.

[7] STAM J.Stochastic dynamics:simulating the effects of turbulence on flexible structures [J]. Computer Graphics Forum,2010,16(3):159-164.

[8] 項(xiàng)予,許森.基于Perlin噪聲的動(dòng)態(tài)水面實(shí)時(shí)渲染[J].計(jì)算機(jī)工程與設(shè)計(jì),2013,34(11):3966-3970.

[9] 趙鵬飛.基于IFS的樹(shù)木搖曳的動(dòng)態(tài)模擬方法研究[D].咸陽(yáng):西北農(nóng)林科技大學(xué),2013.

[10] ZHANG J L,QIU J Y ,GUO H W,et al.Simulation of particle flow in a bell-less type charging system of a blast furnace using the discrete element method[J].Particuology,2014,16(5):167-177.

[11] ZHANG W,ZHANG C H,ZHANG Y.On application of texture mapping technology in simulation [J].Advanced Materials Research,2014,989/990/991/992/993/994:1981-1984.

[12] TAKAHASHI T,F(xiàn)UJII H,KUNIMATSU A,et al.Realistic animation of fluid with splash and foam[J].Computer Graphics Forum,2010,22(3):391-400.

[13] 陳思潭.基于基波模型的風(fēng)場(chǎng)驅(qū)動(dòng)海面場(chǎng)景仿真研究[D].武漢:華中科技大學(xué),2013.

[14] SELLE A,RASMUSSEN N,F(xiàn)EDKIW R.A vortex particle method for smoke,water and explosions[J].Acm Transactions on Graphics,2005,24(3):910-914.

[15] 王雙雙,許化強(qiáng),白成杰.基于數(shù)學(xué)物理方法和紋理作用的火焰模擬[J].計(jì)算機(jī)與數(shù)字工程,2016(2):197-199.

猜你喜歡
風(fēng)速
邯鄲市近46年風(fēng)向風(fēng)速特征分析
基于Kmeans-VMD-LSTM的短期風(fēng)速預(yù)測(cè)
基于最優(yōu)TS評(píng)分和頻率匹配的江蘇近海風(fēng)速訂正
基于時(shí)間相關(guān)性的風(fēng)速威布爾分布優(yōu)化方法
陜西黃土高原地區(qū)日極大風(fēng)速的統(tǒng)計(jì)推算方法
陜西氣象(2020年2期)2020-06-08 00:54:38
基于GARCH的短時(shí)風(fēng)速預(yù)測(cè)方法
快速評(píng)估風(fēng)電場(chǎng)50年一遇最大風(fēng)速的算法
風(fēng)能(2016年11期)2016-03-04 05:24:00
考慮風(fēng)切和塔影效應(yīng)的風(fēng)力機(jī)風(fēng)速模型
GE在中國(guó)發(fā)布2.3-116低風(fēng)速智能風(fēng)機(jī)
考慮風(fēng)速分布與日非平穩(wěn)性的風(fēng)速數(shù)據(jù)預(yù)處理方法研究
主站蜘蛛池模板: 亚洲V日韩V无码一区二区| 国产香蕉国产精品偷在线观看| 国产精选小视频在线观看| 天天色综网| 亚洲一区毛片| 亚洲国产av无码综合原创国产| 国产欧美中文字幕| 国产高清在线丝袜精品一区| 久久黄色小视频| 国产久操视频| 91麻豆精品国产91久久久久| 99尹人香蕉国产免费天天拍| 免费毛片在线| 日本免费福利视频| 亚洲免费毛片| 丁香综合在线| 久久公开视频| 91成人试看福利体验区| AⅤ色综合久久天堂AV色综合| 伊人91在线| 久一在线视频| 2048国产精品原创综合在线| 亚洲男人天堂久久| 午夜精品福利影院| 国产欧美日韩视频一区二区三区| 无码网站免费观看| 国产成人精品一区二区三区| 老司国产精品视频91| 免费不卡在线观看av| 2021亚洲精品不卡a| 亚洲人成网站色7799在线播放| 国产成人综合久久精品下载| 午夜一区二区三区| 亚洲第一区在线| 四虎国产永久在线观看| 亚洲自拍另类| 黄色网页在线播放| 色综合久久综合网| 亚洲AV无码久久天堂| 国产小视频a在线观看| 国产男人的天堂| 中文无码精品a∨在线观看| 亚洲中文久久精品无玛| 毛片免费观看视频| 天堂久久久久久中文字幕| 亚洲品质国产精品无码| 国产另类视频| 久久国产免费观看| 久久综合九九亚洲一区| 中文国产成人久久精品小说| 久久这里只有精品8| 国产区91| 国产本道久久一区二区三区| 色有码无码视频| 日韩毛片免费视频| 色精品视频| 国产迷奸在线看| 亚洲精品片911| 人妻精品全国免费视频| 日本久久网站| 8090午夜无码专区| 91精品国产91欠久久久久| 666精品国产精品亚洲| 狠狠色综合久久狠狠色综合| 亚洲精品无码AⅤ片青青在线观看| 毛片在线播放a| 亚洲精品国产综合99| 制服丝袜一区二区三区在线| 日韩精品无码一级毛片免费| 国产女人18水真多毛片18精品| 丰满人妻久久中文字幕| 欧美成人日韩| 国产99视频免费精品是看6| 亚洲中文字幕无码爆乳| 欧美成人第一页| 日韩成人高清无码| 欧美成人第一页| 国产精品一区二区无码免费看片| 久热99这里只有精品视频6| 91精品专区国产盗摄| 激情亚洲天堂| 久久国产拍爱|