• 
    

    
    

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

      ?

      基于粒子系統(tǒng)的三維降雪場景仿真

      2017-02-22 07:06:53汪繼文
      關(guān)鍵詞:粒子系統(tǒng)降雪雪景

      周 強(qiáng),汪繼文

      (安徽大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 合肥 230039)

      基于粒子系統(tǒng)的三維降雪場景仿真

      周 強(qiáng),汪繼文

      (安徽大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 合肥 230039)

      通過研究粒子系統(tǒng)方法,結(jié)合面向?qū)ο蟮腃++語言,建立粒子系統(tǒng)的過程模型,分析實(shí)際降雪物理運(yùn)動(dòng)過程,建立雪粒子系統(tǒng)三維模型,簡化雪花下降過程中的運(yùn)動(dòng)模型,省去對速度的實(shí)時(shí)每幀控制。通過控制雪粒子位移來模擬受風(fēng)力影響的實(shí)際宏觀降雪雪景,同時(shí)通過參數(shù)控制實(shí)現(xiàn)風(fēng)力強(qiáng)弱的影響效果和大雪小雪的景觀控制,并在笛卡爾三維坐標(biāo)系的z軸上引入指數(shù)函數(shù)F=ex作為控制因子,使雪粒子滿足近大遠(yuǎn)小的透視投影視點(diǎn)效果,具有三維景觀效果,并結(jié)合OpenGL圖形接口對降雪場景進(jìn)行渲染。實(shí)驗(yàn)結(jié)果表明,該方法具有逼真的三維仿真效果且代碼具有良好的可擴(kuò)展性。

      粒子系統(tǒng);雪景模擬;OpenGL;紋理映射

      1 概 述

      隨著現(xiàn)代社會(huì)的發(fā)展,人們對虛擬現(xiàn)實(shí)的需求越來越大,在計(jì)算機(jī)游戲、動(dòng)畫以及影視廣告中都有著廣泛的應(yīng)用需求。而自然景物諸如海浪、云、煙、火焰、雨、雪的虛擬模擬,因其運(yùn)動(dòng)的不規(guī)則性和動(dòng)態(tài)性,成為計(jì)算機(jī)圖形模擬中的難點(diǎn)問題。

      粒子系統(tǒng)(particle system)作為模擬不規(guī)則物體最成功的算法之一,被研究應(yīng)用至今。自Reeves W T[1-2]于1983年首次提出粒子系統(tǒng),并成功模擬了火焰、爆炸等效果以來,國內(nèi)外專家已經(jīng)用粒子系統(tǒng)方法的思想成功模擬出了許多自然景物,并不斷對模擬進(jìn)行改進(jìn),以追求更高的真實(shí)性和實(shí)時(shí)性。Coutinho等[3]在他們的研究中用粒子系統(tǒng)方法生成雨滴。Latta L等[4]采用GPU進(jìn)行粒子系統(tǒng)模擬,能實(shí)時(shí)處理超過100萬個(gè)粒子,使得大規(guī)模粒子模擬變成了可能,也使越來越多的人開始關(guān)注并研究基于GPU的粒子系統(tǒng)動(dòng)畫模擬。國內(nèi)的袁霞和張玉啄[5]對粒子系統(tǒng)的方法及應(yīng)用作了較為詳盡、系統(tǒng)的闡述。金小進(jìn)等[6]利用粒子系統(tǒng)模擬了火焰,并在渲染過程中分別從實(shí)時(shí)性和真實(shí)感兩方面對粒子系統(tǒng)進(jìn)行了優(yōu)化。汪繼文等[7]利用粒子系統(tǒng)進(jìn)行了煙花仿真,并實(shí)現(xiàn)了對煙花形狀的控制。潘秋羽等[8]提出了基于粒子系統(tǒng)的快速的云三維仿真算法,能快速地產(chǎn)生形狀各異的真實(shí)感較強(qiáng)的三維云。何亮等[9]基于粒子系統(tǒng)模擬了動(dòng)態(tài)雪景,但是所建物理模型較簡單并沒有考慮環(huán)境因素。徐利明等[10]提出了一種在大型場景漫游系統(tǒng)中實(shí)時(shí)模擬雨、雪的方法。單在雪粒子的模擬中,對粒子系統(tǒng)的方法就有不同的研究方向。劉金瑄等[11]基于粒子系統(tǒng)和XNA平臺(tái)工作原理,利用C#語言在XNA平臺(tái)下對飄雪進(jìn)行了仿真。許金生和宋萬忠[12]基于OpenGL的OSG圖形庫對雪景進(jìn)行模擬,真實(shí)地分析了雪粒子的受力情況。劉小玲等[13]則利用GPU的高速運(yùn)算性能模擬了大規(guī)模的雨雪場景。除此之外,也有學(xué)者基于Vega(MultiGen-Paradigm公司工業(yè)軟件)對雪粒子系統(tǒng)進(jìn)行模擬,楊述華等[14]基于粒子系統(tǒng)和Vega對雨雪進(jìn)行了模擬。

      綜上,基于粒子系統(tǒng)的模擬要建立合適的物理模型且盡可能滿足模擬的真實(shí)性,同時(shí)也需要對粒子更新的過程盡可能優(yōu)化使得程序滿足實(shí)時(shí)性要求。文中在分析研究粒子系統(tǒng)的方法的基礎(chǔ)上,利用VS開發(fā)工具在Windows平臺(tái)下進(jìn)行降雪雪景模擬,建立出粒子系統(tǒng)和雪花系統(tǒng)模型,對雪花的運(yùn)動(dòng)進(jìn)行簡化,優(yōu)化模擬過程,模擬出受風(fēng)力影響的實(shí)際降雪雪景,并能實(shí)現(xiàn)對風(fēng)力大小和大小雪的景觀控制,引入初等函數(shù)F=ex作為控制因子控制粒子大小使得雪粒子具有近大遠(yuǎn)小的透視投影的三維效果,最后利用OpenGL渲染[15]模擬出降雪雪景。

      2 粒子系統(tǒng)的基本原理

      ReevesWT于1983年首次提出粒子系統(tǒng),并成功模擬了火焰、爆炸等效果。其基本思想是用許多基本形狀的微小圖元粒子來描述不規(guī)則的模糊物體,這些微小粒子具有形狀、大小、顏色、位置、速度矢量、生命周期等屬性,對這些屬性進(jìn)行初始化并施加控制函數(shù)進(jìn)行動(dòng)態(tài)改變,體現(xiàn)出被模擬物體的運(yùn)動(dòng)的動(dòng)態(tài)性。同時(shí),為了體現(xiàn)出不規(guī)則模糊物體運(yùn)動(dòng)的隨機(jī)性,對相關(guān)的粒子屬性設(shè)置隨機(jī)控制。所有的粒子都經(jīng)過產(chǎn)生—活動(dòng)—消亡這樣的過程。鑒于粒子系統(tǒng)這樣的特性,它能很好地模擬海浪、云、煙、火焰、雨、雪等這樣隨機(jī)運(yùn)動(dòng)的模糊自然景物。

      粒子系統(tǒng)實(shí)現(xiàn)的基本步驟大致如下:

      (1)產(chǎn)生新粒子;

      (2)對新粒子屬性進(jìn)行初始化;

      (3)更新粒子屬性;

      (4)刪除已經(jīng)超過其生命周期的粒子;

      (5)渲染繪制粒子。

      根據(jù)粒子系統(tǒng)的算法思想,可以模擬降雪的雪景。每一片雪花作為單個(gè)粒子,賦予其相關(guān)屬性,定義好其數(shù)據(jù)結(jié)構(gòu),并根據(jù)粒子系統(tǒng)原理的實(shí)現(xiàn)步驟架構(gòu)出粒子系統(tǒng)的過程函數(shù)。

      利用C++語言編寫過程函數(shù),結(jié)合OpenGL圖形接口對雪花進(jìn)行渲染。

      3 雪粒子系統(tǒng)模型

      基于粒子系統(tǒng)算法的基本理論及其過程性,用C++語言可以編寫出粒子系統(tǒng)的類,并編寫出粒子系統(tǒng)類的過程方法,如InitializeSystem()初始化函數(shù)、Update()粒子運(yùn)動(dòng)更新函數(shù)、Render()粒子渲染函數(shù)、Emit()粒子發(fā)射函數(shù),再添加一些粒子數(shù)、時(shí)間等這樣的成員變量。用面向?qū)ο蟮乃枷肴ヌ幚淼暮锰幱泻芏?,在具體模擬不同物體的時(shí)候,只要繼承粒子系統(tǒng)抽象類,根據(jù)模擬物體的具體情況去覆蓋父類的虛函數(shù)即可,具有良好的擴(kuò)展性。粒子一般都具有形狀、大小、顏色、位置、速度矢量、生命周期這樣的屬性,用這樣一些基本類型的數(shù)據(jù)去描述定義粒子的數(shù)據(jù)結(jié)構(gòu),根據(jù)所要模擬的物體不同,需要不同的屬性描述。

      3.1 雪粒子屬性

      首先分析雪粒子的運(yùn)動(dòng)過程,確定雪粒子的屬性。雪花在下落過程中,受重力、空氣浮力以及風(fēng)力的影響,從視覺上呈現(xiàn)出左右飄動(dòng)徐徐下落的狀態(tài)。雪花在下落過程中,受外力影響,加速度和速度都發(fā)生了變化,導(dǎo)致位移也發(fā)生變化。在進(jìn)行三維模擬時(shí),將三維坐標(biāo)投影到二維表面(電腦屏幕),在二維平面建立三維笛卡爾坐標(biāo)系,二維平面具有x,y,z三分量。在x軸上雪花受到風(fēng)力影響位置左右飄動(dòng),在y軸上雪花受到重力和空氣浮力影響做下降運(yùn)動(dòng),在z軸上雪花有深淺之分,表示離視點(diǎn)的遠(yuǎn)近,在這種透視投影中,遠(yuǎn)處的物體看上去比近處的物體更小一些,所以在z軸上的粒子深淺程度影響雪粒子的大小屬性。當(dāng)飄落到地面后,雪粒子融化消失,粒子死亡被刪除。

      綜上,雪粒子的大體結(jié)構(gòu)為:

      structparticle_t

      {

      vector3_tp_pos; //粒子當(dāng)前位置

      vector3_tp_prevPos;//粒子的上一幀位置

      vector3_tp_velocity;//粒子的速度矢量

      vector3_tp_acceleration;//粒子的加速度

      floatp_life;//粒子的生命周期

      floatp_size;//粒子大小

      floatp_sizeDelta;//隨時(shí)間的粒子大小改變量

      };

      其中定義三維矢量的數(shù)據(jù)類型vector3_t,包含x,y,z三坐標(biāo)軸分量參數(shù)。

      3.2 雪粒子系統(tǒng)模型初始化

      雪粒子系統(tǒng)模型構(gòu)建好后,就可以編寫雪景系統(tǒng)類了。雪景類繼承粒子系統(tǒng)抽象父類,并對粒子系統(tǒng)類的虛函數(shù)如Update()和Render()進(jìn)行覆蓋,根據(jù)具體降雪過程來實(shí)現(xiàn)粒子系統(tǒng)各個(gè)過程函數(shù)。

      雪花從空中飄向地面,粒子源定義在整個(gè)輸出窗口上部,其y值高度是固定的,為窗口高度m_height,在x軸和表示離視點(diǎn)遠(yuǎn)近的z軸上初始粒子位置則是隨機(jī)的,用隨機(jī)函數(shù)控制。第i個(gè)粒子的初始位置公式描述如下:

      ParticleList[i].pos.y=m_height

      ParticleList[i].pos.x=m_origin.x+FRAND*m_width

      ParticleList[i].pos.z=m_origin.z+FRAND*m_depth

      其中,F(xiàn)RAND定義為(((float)rand()-(float)rand())/RAND_MAX),是一個(gè)(-1,1)之間的隨機(jī)數(shù)。m_origin.x和m_origin.y是坐標(biāo)軸原點(diǎn)分量,m_width表示窗口寬度,m_depth則是z軸上的深淺值。

      初始粒子的大小是固定的,可以設(shè)為固定值。同時(shí)對雪粒子的初始運(yùn)動(dòng)速度狀態(tài)進(jìn)行設(shè)置。在這里,為了簡化之后的雪粒子更新步驟,提高系統(tǒng)的實(shí)時(shí)性,對每個(gè)雪粒子的初始加速度添加一個(gè)隨機(jī)控制函數(shù),使得每個(gè)粒子的初始速度狀態(tài)不一致,而這個(gè)速度狀態(tài)在之后的每一幀更新中不再改變。雖然是勻速狀態(tài),但是通過大量速度狀態(tài)不一致的雪粒子,同樣可以營造出雪花左右飄動(dòng)徐徐下落的視覺效果。這樣,在傳統(tǒng)的雪粒子模擬中,需要在每一幀中更新的速度和位移信息,只需要更新位移屬性即可,而且這樣的簡化并不影響模擬的真實(shí)性,并且提高了系統(tǒng)的實(shí)時(shí)性,提升了程序效率。在x軸上的初始加速度表示雪粒子受風(fēng)力影響速度的改變,通過隨機(jī)函數(shù)控制,不同的雪粒子在該軸上的加速度不同,通過粒子相互間速度的不同表明所受風(fēng)力場的變化,同理,在y軸上加速度的不同表明所受重力和浮力的變化,z軸上加速度的不同表明不同雪花飄離視點(diǎn)的遠(yuǎn)近。雖然在每一幀更新中速度將不再變化,但是通過整體大量的粒子與粒子之間的速度差異模擬表現(xiàn)出所受外力場的隨機(jī)變化。第i個(gè)粒子的初始速度描述公式如下:

      ParticleList[i].m_velocity.x=SNOW_VELOCITY.x+FRAND*V_VARIATION.x

      ParticleList[i].m_velocity.y=SNOW_VELOCITY.y+FRAND*V_VARIATION.y

      ParticleList[i].m_velocity.z=SNOW_VELOCITY.z+FRAND*V_VARIATION.z

      其中,SNOW_VELOCITY是雪粒子的初速度,是一個(gè)定義好的三維常矢量,初始速度簡化為自由落體,即z軸和x軸初始速度為0,只有豎直下落的y軸初速度。V_VARIATION也是定義好的初始加速度三維常矢量。在x軸上加速度受風(fēng)力影響隨機(jī)改變,通過對它參數(shù)絕對值的大小進(jìn)行設(shè)置可以表示風(fēng)力強(qiáng)弱,通過對正負(fù)的方向設(shè)置可以表示所受風(fēng)力方向。通過對z軸上的加速度隨機(jī)變化表示隨時(shí)間的推移離視點(diǎn)的遠(yuǎn)近,從而影響粒子的大小,達(dá)到近大遠(yuǎn)小的透視投影三維效果。

      粒子的初始屬性設(shè)置完畢,雪粒子從窗口上部產(chǎn)生。由Emit()粒子發(fā)射函數(shù)產(chǎn)生,只要粒子數(shù)小于程序定義的最大粒子數(shù),就不斷循環(huán)粒子初始化函數(shù)產(chǎn)生粒子。這里對最大粒子數(shù)也進(jìn)行可控設(shè)置,從而根據(jù)需要可以模擬大雪還是小雪的降雪場景。

      3.3 雪粒子運(yùn)動(dòng)更新

      粒子初始化后,就是粒子的運(yùn)動(dòng)更新了。對每個(gè)雪粒子個(gè)體來說其下降過程中速度將不再改變,但每個(gè)雪粒子速度狀態(tài)不盡相同,通過雪粒子個(gè)體間的隨機(jī)狀態(tài)差異模擬出實(shí)際降雪的隨機(jī)運(yùn)動(dòng)狀態(tài)效果。通過對運(yùn)動(dòng)模型的簡化,從而在Update()中省去了對速度的實(shí)時(shí)每幀控制,提高了系統(tǒng)的實(shí)時(shí)性,提升了程序效率,優(yōu)化了模擬。位置的每幀數(shù)學(xué)模型公式為:

      S=S0+∫vdt

      第i個(gè)粒子的位置描述公式如下:

      ParticleList[i].pos=ParticleList[i].pos+ParticleList[i].velocity*Time

      在z軸上引入指數(shù)函數(shù)F=ex作為控制因子,F(xiàn)=ex在(-∞,+∞)上單調(diào)遞增且在原點(diǎn)的函數(shù)值為1,其值域恒大于0。指數(shù)函數(shù)的數(shù)學(xué)模型特征可用來粗略控制隨時(shí)間推移雪粒子離視點(diǎn)的近大遠(yuǎn)小變化,從而模擬出降雪的三維效果。第i個(gè)雪粒子的大小描述公式為:

      f=Particle[i].pos.z

      Particle[i].size=ef*Particle[i].size

      當(dāng)z值改變到超過一個(gè)定值范圍時(shí),即表明該粒子離視點(diǎn)過遠(yuǎn)或者過近,將不在顯示它。而當(dāng)y軸的值下降到一個(gè)定值(即程序中設(shè)定的地面y值)時(shí),表明雪花降落到地面,刪除釋放雪粒子,并產(chǎn)生新雪粒子發(fā)射。

      這樣雪粒子系統(tǒng)對粒子系統(tǒng)函數(shù)Update()進(jìn)行了覆蓋。

      3.4 雪粒子的渲染

      如果要使所模擬的物體更加逼真,一般采用紋理貼圖的方式。OpenGL的紋理映射(Texture Mapping)功能支持將一些像素?cái)?shù)據(jù)經(jīng)過變換(不規(guī)則變化也支持)將其附著到多邊形表面,使得模擬更加逼真。比如將真實(shí)的地板圖像紋理映射到矩形上,就可以逼真地模擬出地面效果,而且在變換多邊形時(shí),多邊形上的紋理圖案也隨之變化,也匹配透視投影的近大遠(yuǎn)小效果。OpenGL作為目前主流的圖形API之一,與C語言結(jié)合緊密,并且有強(qiáng)大的可移植性和渲染效果,提供了強(qiáng)大的庫函數(shù)進(jìn)行調(diào)用,支持一維紋理、二維紋理和三維紋理。文中啟用二維紋理將雪花紋理映射到雪粒子上對雪粒子進(jìn)行渲染。

      紋理映射的基本操作步驟如下:

      (1)圖像準(zhǔn)備:既可以在程序中生成圖像,也可以讀取圖像文件。

      (2)生成紋理號(hào):適用于多個(gè)紋理反復(fù)切換時(shí),一個(gè)紋理時(shí)不需要。

      (3)設(shè)置當(dāng)前紋理:切換紋理,也稱為紋理綁定。

      (4)定義紋理:指定當(dāng)前紋理的圖像。

      (5)設(shè)置紋理參數(shù):指定紋理的重疊方式和插值方式。

      (6)設(shè)置紋理環(huán)境參數(shù):決定怎樣使用紋理顏色,例如是否與光照色合成。

      (7)啟動(dòng)紋理功能,繪制場景,給出頂點(diǎn)的紋理坐標(biāo)和幾何坐標(biāo)(紋理坐標(biāo)可以直接參數(shù)指定,也可啟用自動(dòng)計(jì)算紋理坐標(biāo)功能)。

      (8)退出前刪除紋理。

      文中采用32×32的bmp格式雪粒子紋理圖片,如圖1所示。

      圖1 雪粒子紋理

      通過調(diào)用Bitmap類中LoadBitmapFileWithAlpha()函數(shù)讀取圖像,并將其初始化渲染到雪粒子上。

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

      實(shí)驗(yàn)硬件環(huán)境為主頻為3.20 GHz的i5CPU,內(nèi)存4 GB,顯卡為ATI Radeon HD 5450的PC機(jī),選擇VS開發(fā)工具在Windows平臺(tái)下,利用OpenGL圖形庫進(jìn)行模擬。參數(shù)如表1所示。

      表1 參數(shù)設(shè)置

      通過表1的參數(shù)設(shè)置進(jìn)行模擬,分別得到圖2、圖3兩種視覺模擬效果。圖2為受東風(fēng)影響的大雪降雪雪景,圖3為無風(fēng)的小雪降雪雪景,均滿足視覺效果,可按照參數(shù)設(shè)置自行選擇所需模擬的降雪場景。

      5 結(jié)束語

      根據(jù)粒子系統(tǒng)的算法思想,結(jié)合面向?qū)ο蟮腃++語言,建立出粒子系統(tǒng)的過程模型,分析了降雪過程,建立了雪粒子系統(tǒng)的三維模型,在簡化雪花下降過程中的運(yùn)動(dòng)模型的情況下,通過控制雪粒子位移來模擬實(shí)際降雪雪景,簡化了粒子更新控制步驟,并在z軸上引入控制因子控制雪粒子大小滿足近大遠(yuǎn)小的透視投影效果,結(jié)合OpenGL圖形接口成功渲染出了3D降雪場景。同時(shí),對大小雪以及風(fēng)力強(qiáng)弱實(shí)行了參數(shù)可控,可以根據(jù)需要模擬不同的降雪場景,實(shí)驗(yàn)結(jié)果也表明其具有逼真的三維仿真效果。

      圖2 大雪有風(fēng)實(shí)驗(yàn)效果圖

      圖3 小雪無風(fēng)實(shí)驗(yàn)效果圖

      文中代碼具有良好的可擴(kuò)展性,在此基礎(chǔ)上,可以將其應(yīng)用于各種其他不規(guī)則物體(如煙花、雨水等)的模擬。模擬場景也可更加豐富多元化,同時(shí)考慮更加復(fù)雜的天氣情況。

      [1]ReevesWT.Particlesystems-atechniqueformodelingaclassoffuzzyobjects[J].ACMSIGGRAPHComputerGraphics,1983,17(3):359-375.

      [2]ReevesWT,BlauR.Approximateandprobabilisticalgorithmsforshadingandrenderingstructuredparticlesystems[J].ACMSIGGRAPHComputerGraphics,1985,19(3):313-322.

      [3]CoutinhoBB,OliveiraAAF,AtencioYP,etal.RainsceneanimationthroughparticlesystemsandsurfaceflowsimulationbySPH[C]//SIBGRAPIconferenceongraphics,patternsandimages.[s.l.]:IEEEComputerSociety,2010:255-262.

      [4]KolbA,LattaL,Rezk-SalamaC.Hardware-basedsimulation

      andcollisiondetectionforlargeparticlesystems[C]//ProceedingsoftheACMSIGGRAPH/EUROGRAPHICSconferenceongraphicshardware.[s.l.]:ACM,2004:123-131.

      [5] 袁 霞,張玉啄.粒子系統(tǒng)方法及其應(yīng)用[J].云南師范大學(xué)學(xué)報(bào):自然科學(xué)版,2003,23(3):14-16.

      [6] 金小進(jìn),馬堯海.基于粒子系統(tǒng)的火焰模擬與優(yōu)化[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(5):1118-1120.

      [7] 汪繼文,胡文平,金余峰.基于粒子系統(tǒng)的8字動(dòng)態(tài)煙花仿真[J].計(jì)算機(jī)仿真,2010,27(10):211-214.

      [8] 潘秋羽,畢碩本,陸良虎,等.基于粒子系統(tǒng)三維動(dòng)態(tài)云的快速仿真算法[J].系統(tǒng)仿真學(xué)報(bào),2014,26(1):85-89.

      [9] 何 亮,巴力登.基于粒子系統(tǒng)的動(dòng)態(tài)雪景模擬[J].西北大學(xué)學(xué)報(bào):自然科學(xué)版,2010,40(4):603-606.

      [10] 徐利明,姜昱明.基于粒子系統(tǒng)與OpenGL的實(shí)時(shí)雨雪模擬[J].計(jì)算機(jī)仿真,2005,22(7):242-245.

      [11] 劉金瑄,吳頻頻.XNA環(huán)境下粒子系統(tǒng)的飄雪仿真[J].西安科技大學(xué)學(xué)報(bào),2013,33(4):436-443.

      [12] 許金生,宋萬忠.基于OSG粒子系統(tǒng)的雪景模擬[J].計(jì)算機(jī)工程與設(shè)計(jì),2012,33(4):1509-1513.

      [13] 劉小玲,楊紅雨,郭虎奇.基于GPU粒子系統(tǒng)的大規(guī)模雨雪場景實(shí)時(shí)模擬[J].計(jì)算機(jī)工程與設(shè)計(jì),2012,33(6):2398-2401.

      [14] 楊述華,廖守億,王仕成,等.基于粒子系統(tǒng)和Vega的實(shí)時(shí)雨雪模擬[J].計(jì)算機(jī)應(yīng)用,2008,28:238-240.

      [15]WrightRS,HaemelN,SellersG,etal.OpenGL超級寶典[M].第5版.北京:人民郵電出版社,2012:208-229.

      Three-dimensional Simulation of Snowing Based on Particle System

      ZHOU Qiang,WANG Ji-wen

      (College of Computer Science and Technology,Anhui University,Hefei 230039,China)

      A falling snow algorithmic structure is proposed based on particle system,incorporating the object-oriented C++ language.A 3D model of particle system is built by analyzing the falling process of snow,simplified the motion model of the snowflakes falling process and saved each frame of real-time control for speed.The realistic snowing is simulated which affected by wind through controlling the particles displacement.And on thezaxisofthree-dimensionalCartesiancoordinatesystem,theindexfunctionF=exisintroducedasthecontrollingfactorsothatthesimulationmatchestheperspectiveeffectofperspectiveprojection.ThesimulationiscombinedwithOpenGLgraphicinterface.Theexperimentalresultsshowthatthismethodhasarealistic3Dsimulationeffectandthecodesenableagoodscalability.

      particle system;snowscape simulation;OpenGL;texture mapping

      2016-03-07

      2016-06-15

      時(shí)間:2017-01-04

      安徽省省級重點(diǎn)自然科學(xué)研究項(xiàng)目(KJ2013A009)

      周 強(qiáng)(1991-),男,碩士研究生,研究方向?yàn)橛?jì)算機(jī)仿真、圖形圖像處理;汪繼文,博士,教授,博士研究生導(dǎo)師,研究方向?yàn)橛?jì)算流體力學(xué)、計(jì)算機(jī)仿真、圖像處理、智能算法等。

      http://www.cnki.net/kcms/detail/61.1450.TP.20170104.1028.046.html

      TP

      A

      1673-629X(2017)01-0130-04

      10.3969/j.issn.1673-629X.2017.01.029

      猜你喜歡
      粒子系統(tǒng)降雪雪景
      利用GPU加速的粒子系統(tǒng)全球流場可視化系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
      《雪景山水圖軸》
      《雪景寒林圖》
      UE 4粒子系統(tǒng)與外部數(shù)據(jù)通信研究
      川西高原東部兩次連續(xù)強(qiáng)降雪過程對比分析
      2016年1月19~21日山南地區(qū)南部一次降雪過程分析
      西藏科技(2016年10期)2016-09-26 09:02:08
      雪夜遇熊
      基于粒子系統(tǒng)的建模與仿真綜述
      GPU支持下基于粒子系統(tǒng)編輯器的特效技術(shù)研究
      人工降雪
      密云县| 慈溪市| 苏尼特右旗| 蒙山县| 新泰市| 柯坪县| 当涂县| 东宁县| 庆安县| 灵丘县| 靖西县| 阜平县| 育儿| 六枝特区| 田东县| 河北省| 遂溪县| 布拖县| 故城县| 凤翔县| 高台县| 建始县| 浑源县| 阜南县| 临潭县| 东丽区| 武乡县| 浦北县| 大洼县| 阳朔县| 广平县| 罗城| 龙岩市| 凤山县| 黄冈市| 宾川县| 远安县| 休宁县| 兴安县| 甘泉县| 南充市|