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

        ?

        基于粒子系統(tǒng)的實時模糊場景實現(xiàn)

        2011-05-08 02:09:08顧大曄
        電子科技 2011年8期
        關(guān)鍵詞:粒子系統(tǒng)坦克像素

        顧大曄

        (西安電子科技大學(xué)電子工程學(xué)院,陜西西安 710071)

        從 Reeves在 1983年首先提出粒子系統(tǒng)的概念到現(xiàn)在,基于粒子系統(tǒng)的圖形生成算法,在計算機(jī)圖形學(xué)的發(fā)展中做出了較大貢獻(xiàn)[1]。尤其在不規(guī)則模糊景物生成方面,粒子系統(tǒng)的最大優(yōu)點就是,采用單個粒子形式的基本圖像實體的大量組合來描述不規(guī)則景物,由于可以對每個粒子進(jìn)行有效控制,所以較易實現(xiàn)雨、雪、煙、霧等模糊的自然場景,而這些是傳統(tǒng)計算機(jī)圖形學(xué)難以構(gòu)造的復(fù)雜形體,同時具有較強(qiáng)的真實感和實時性。

        本文旨在完成DSP平臺下的場景模擬,由于硬件的限制,無法完成較復(fù)雜的算法運(yùn)算,以及使用時下很多流行的圖像API獲得更好的效果。本文選用了兩個典型的不規(guī)則場景,飛機(jī)干擾彈和坦克干擾彈爆炸進(jìn)行討論,重點介紹一些既快又能較真實地實現(xiàn)場景的方法。本文在 PC機(jī)上,使用 Watcom C進(jìn)行了C語言編程實現(xiàn)。

        1 粒子系統(tǒng)簡述

        粒子系統(tǒng)是由大量粒子組成,每個粒子都是一個獨(dú)立的圖元實體。它具有一定的屬性,這些屬性一般有速度、位置、加速度、灰度、存活時間等,對于不同的系統(tǒng),粒子還有其自己相應(yīng)的屬性[2]。

        粒子系統(tǒng)中每一個粒子都要經(jīng)歷產(chǎn)生、發(fā)展、運(yùn)動到消亡的過程。粒子系統(tǒng)使用大量粒子按一定規(guī)則運(yùn)動模擬自然場景,它所要解決的問題基本上有:粒子怎樣生成,即粒子初始化的問題;粒子如何變化,也就是粒子的運(yùn)動問題;運(yùn)動過程中的粒子如何退出,粒子的消亡問題??偨Y(jié)起來,粒子系統(tǒng)的內(nèi)部運(yùn)動可由下面的框圖說明,如圖 1所示。

        圖1 粒子系統(tǒng)結(jié)構(gòu)框圖

        2 飛機(jī)紅外干擾彈的生成

        (1)觀察場景。飛機(jī)通過發(fā)射紅外干擾彈來干擾敵方導(dǎo)彈的導(dǎo)引頭。它的作用原理不是本文討論范圍,主要觀察紅外干擾彈從發(fā)射開始的運(yùn)動場景。在現(xiàn)實場景中,紅外干擾彈從飛機(jī)上發(fā)射,剛開始是一個快速燃燒的燃燒體。燃燒體燃燒時候很亮,而且產(chǎn)生濃煙。此外,燃燒體從飛機(jī)上釋放,具有一定向前的速度,而且受重力影響不斷下落。同時,燃燒體和其尾部拖起的煙隨著時間不斷消失。

        (2)建模詳述。根據(jù)觀察,可以用粒子系統(tǒng)建模。模擬干擾彈的運(yùn)動要使用大量粒子。這些粒子可分為兩類:一類是組成燃燒體的粒子;一類是組成尾煙的粒子。這兩類粒子并不是不同的粒子,而是粒子運(yùn)動過程中的兩個部分。當(dāng)粒子剛生成時,其產(chǎn)生于干擾彈的頭部,是組成燃燒體的粒子。組成燃燒體粒子的最重要屬性是像素值最大。這是模擬干擾彈頭部亮度高的關(guān)鍵。為模擬燃燒過程,粒子的像素從生成后逐漸降低。粒子群具有一定的初速度,同時又由于重力的影響,粒子群又具有向下的加速度。

        (3)根據(jù)步驟(2)中的詳述,可以進(jìn)行粒子的運(yùn)動建模:

        首先可得粒子運(yùn)動的方程為

        (4)粒子系統(tǒng)建模。運(yùn)動方程建立后,可以確定粒子系統(tǒng)的初始化,粒子初始化所要求的屬性。此干擾彈的形成可用一個粒子系統(tǒng)來建模。粒子的結(jié)構(gòu)體可定義如下:

        (5)貼圖處理。在此之前定義的粒子系統(tǒng)中每個粒子只是確定了那個粒子當(dāng)前位置的像素以及速度的變化,如果僅把這樣的粒子繪制出來,得到的只是一些離散像素點的運(yùn)動,沒有任何真實感和模糊感。因此采用貼圖的方法來解決這個問題。采用簡單的貼圖方法:取貼圖大小為 4×4,設(shè)粒子位置為(x,y),則以粒子為中心給出 4×4區(qū)域大小的像素值。計算方法為

        其中,P(i)為粒子像素值;Ptex為貼圖中像素值;(x0,y0)為粒子位置。算出閾值為 255。

        (6)代碼實現(xiàn)。飛機(jī)干擾彈場景計算實現(xiàn)由以下幾個函數(shù)實現(xiàn):void Particle SysInit(PARTICLESYS * particlesys)進(jìn)行粒子系統(tǒng)的初始化;void SysMotion-Update(PARTICLESYS * particlesys,short timedelta)完成粒子系統(tǒng)的運(yùn)動更新;void Particle Sys Update(PARTICLESYS* particlesys,short timedelta)完成粒子系統(tǒng)屬性的更新,主要是活動粒子數(shù)的更新;char Particle Update(PARTICLES*particle,short timedelta)完成粒子屬性的更新。

        3 坦克干擾彈的生成

        (1)觀察場景。坦克干擾彈不同于飛機(jī)干擾彈。坦克干擾彈發(fā)射后通過在坦克前方爆炸形成霧墻來干擾敵方。觀察其爆炸過程可以分成 3個階段。第一個階段是燃燒占主導(dǎo)地位,此時的干擾彈快速燃燒,形成很亮很小的圓形區(qū)域;第二階段是爆炸為主導(dǎo),此時的干擾彈內(nèi)部膨脹,快速向四周擴(kuò)散,形成很大的煙霧區(qū)域;第三階段主要是爆炸動作完成,煙霧慢慢消散的階段。前兩個階段都為快速突變實現(xiàn)階段,后一個為慢速漸變階段。

        (2)建模詳述。要用粒子系統(tǒng)模擬(1)中觀察到的場景,需要大量的粒子。在第一階段,產(chǎn)生的粒子一開始要具有最大的像素值,但像素衰減很快,具有一定大小向任意方向的加速度,模擬干擾彈的快速燃燒,形成小的亮斑。組成第二階段的粒子由于要模擬干擾彈從小到大的快速膨脹,所以此時的粒子一產(chǎn)生就要具有很大的向任意方向加速度,并且在較短的時間內(nèi)降低為 0。由于形成的霧墻消散慢,因此,這個階段的粒子的像素衰減慢。第三階段,在此過程中的粒子只要具有較小的運(yùn)動速度,一定的像素衰減,而沒有加速運(yùn)動。

        (3)運(yùn)動建模。根據(jù)步驟(1)的觀察和步驟(2)中的分析,將坦克干擾彈的運(yùn)動建模分為 3個階段。

        第一個階段:亮斑形成和慢慢消散階段。此階段在此階段中粒子運(yùn)動方程為

        ax(t),ay(t)先是在一定范圍內(nèi)生成一個隨機(jī)值,經(jīng)過短時間變?yōu)檩^小。vp(t)先是保持較小的值,然后變?yōu)橐粋€較大的值,保證亮斑很快消失。

        第二階段:迅速爆炸和形成霧墻階段。此階段的粒子運(yùn)動方程為

        ax(t),ay(t)先是在一個大范圍內(nèi)生成的隨機(jī)值,經(jīng)過一定時間,爆炸完成后變?yōu)榱恪?/p>

        第三階段:爆炸完成,煙霧慢慢擴(kuò)散的過程。此階段的運(yùn)動方程為

        (4)粒子系統(tǒng)的建模。由于此爆炸分為 3個階段,而且實現(xiàn)需要大量的粒子。如果使用一個粒子系統(tǒng)則無法很好地控制爆炸過程,而且會造成大量粒子貼圖的重合,不僅不能很好地表達(dá)場景,而且使得運(yùn)算量加大。為解決上述問題,采用多粒子系統(tǒng)的方案。具體實現(xiàn)如下,針對第一階段,構(gòu)建一個粒子系統(tǒng),完成第一階段后,由第一個粒子系統(tǒng)觸發(fā) N個粒子系統(tǒng),而第一個系統(tǒng)死亡。觸發(fā)方式是由第一個粒子系統(tǒng)中選用 N個向不同方向運(yùn)動的粒子,根據(jù)這N個粒子的不同屬性來生成具有不同初始值的 N個粒子系統(tǒng)。然后由這 N個粒子系統(tǒng)完成第二階段。進(jìn)入第三階段,這 N個粒子系統(tǒng)開始衰減,直到死亡。粒子與粒子系統(tǒng)的結(jié)構(gòu)體定義飛機(jī)干擾彈的基本相同,但加入了初始化標(biāo)志和觸發(fā)粒子系統(tǒng)的補(bǔ)償速度。

        (5)貼圖處理。針對坦克干擾彈的分階段爆炸,采用分階段貼圖。在第一階段,由于爆炸范圍小,使用小貼圖,在第二和第三階段,使用的是大貼圖。設(shè)貼圖的大小為 m×n,具體貼圖方式如下

        其中:P(i)為粒子像素值;Ptex為貼圖中像素值;(x0,y0)為粒子位置算出,閾值為 255;α為像素衰減因子。

        (6)代碼實現(xiàn)。坦克干擾彈的代碼實現(xiàn)所需的函數(shù)與飛機(jī)干擾彈的函數(shù)基本相同,只是由于使用二級粒子系統(tǒng),所以每個函數(shù)都是一對,針對不同的粒子系統(tǒng)完成不同的功能。

        4 場景的實現(xiàn)效果

        以下是在 PC機(jī)上,使用WATCOM C編譯器編譯生成的幾幀圖像。

        5 結(jié)束語

        從場景觀察,運(yùn)動建模、粒子建模等幾方面介紹了粒子系統(tǒng)實現(xiàn)要求場景的步驟。這也是使用粒子系統(tǒng)模擬模糊、不規(guī)則場景的一般步驟。從圖 4可以看出粒子系統(tǒng)很好地完成了干擾彈爆炸的模擬。但文中所要求平臺是在嵌入式 DSP平臺,而非實現(xiàn)上述圖像幀的 PC平臺。因此,在移植過程中,要考慮到算法的復(fù)雜度、粒子數(shù)、貼圖大小等開銷因素。

        [1]高穎,金巖通,楊永強(qiáng),等.虛擬視景系統(tǒng)中粒子系統(tǒng)的接口設(shè)計與實現(xiàn)[J].系統(tǒng)仿真學(xué)報,2006,18(2):384-386.

        [2]EDWARD A.交互式計算機(jī)圖形學(xué)——基于OpenGL的自頂向下的方法[M].5版.張榮華,譯.北京:電子工業(yè)出版社,2009.

        [3]彭群生,鮑虎軍,金小剛.計算機(jī)真實感圖形的算法基礎(chǔ)[M].北京:科學(xué)出版社,1999.

        [4]王兆紅.基于云模型與粒子系統(tǒng)自然雨模擬[J].計算機(jī)應(yīng)用與軟件,2009,26(12):102-104.

        [5]李松維,周曉光,王潤杰,等.基于粒子系統(tǒng)煙霧的模擬[J].計算機(jī)仿真,2007,24(9):199-201,231.

        猜你喜歡
        粒子系統(tǒng)坦克像素
        趙運(yùn)哲作品
        藝術(shù)家(2023年8期)2023-11-02 02:05:28
        第一輛現(xiàn)代坦克的“前世今生”
        學(xué)與玩(2022年8期)2022-10-31 02:41:58
        像素前線之“幻影”2000
        利用GPU加速的粒子系統(tǒng)全球流場可視化系統(tǒng)設(shè)計與實現(xiàn)
        T-90 坦克
        “像素”仙人掌
        UE 4粒子系統(tǒng)與外部數(shù)據(jù)通信研究
        超級坦克大亂斗
        高像素不是全部
        CHIP新電腦(2016年3期)2016-03-10 14:22:03
        基于粒子系統(tǒng)的建模與仿真綜述
        国产精品女同久久久久久| 波多野结衣乳巨码无在线| 国产精品国产自产拍高清| 日本视频在线播放一区二区| 国产中文字幕免费视频一区| 国产情侣亚洲自拍第一页| 中文字幕av伊人av无码av| 亚洲av无码一区二区一二区| 好紧好爽免费午夜视频| 亚洲精品成人片在线观看精品字幕| 久久久亚洲精品无码| 人妻少妇精品无码专区二区| 日韩插啊免费视频在线观看| 婷婷第四色| 91极品尤物国产在线播放| av熟女一区二区久久| 一本久道视频无线视频试看| 亚洲天堂一区二区三区| 男女av一区二区三区| 人妻丰满熟妇av无码区app| 色噜噜av亚洲色一区二区| 丰满少妇被猛烈进入| 国产午夜精品久久久久99 | 1精品啪国产在线观看免费牛牛| 日本在线中文字幕一区| 日韩成人高清不卡av| 久久99人妖视频国产| 日本中文一区二区在线| 亚洲av福利院在线观看| 少妇人妻综合久久中文字幕| 亚洲第一页综合图片自拍| 毛茸茸的中国女bbw| 国产午夜亚洲精品理论片不卡| 精品不卡久久久久久无码人妻| 91蜜桃精品一区二区三区毛片| 久久老熟女一区二区三区| 亚洲网站一区在线播放| 一边摸一边做爽的视频17国产| 男女猛烈无遮挡免费视频| 99热久久这里只精品国产www| 精品囯产成人国产在线观看|