• 
    

    
    

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

      ?

      計(jì)算機(jī)基于粒子系統(tǒng)的煙花模擬

      2022-04-25 08:36:10郝學(xué)娟
      電子元器件與信息技術(shù) 2022年2期
      關(guān)鍵詞:粒子系統(tǒng)煙花形狀

      郝學(xué)娟

      (山西運(yùn)城農(nóng)業(yè)職業(yè)技術(shù)學(xué)院信息技術(shù)系,山西 運(yùn)城 044000)

      0 引言

      在圖形學(xué)領(lǐng)域中,自然景物的圖像模擬一直以來(lái)都是一個(gè)重要的研究課題,然而自然景物并非表面上看到的那么簡(jiǎn)單,可以說(shuō)是千變?nèi)f化,形態(tài)各異,而且是時(shí)刻變化著的,基本模型肯定無(wú)法實(shí)現(xiàn),還有一些自然現(xiàn)象必須追溯到現(xiàn)象本身的物理根源,才能再現(xiàn)自然現(xiàn)象。

      1 研究背景及意義

      對(duì)于游戲開(kāi)發(fā)者和電影導(dǎo)演來(lái)說(shuō),他們希望不借助物理算法就能達(dá)到真實(shí)自然景物的效果。因?yàn)樽匀痪拔锏膬?nèi)部結(jié)構(gòu)非常復(fù)雜,所以很難通過(guò)手動(dòng)制作動(dòng)畫(huà)。伴隨著計(jì)算機(jī)技術(shù)的發(fā)展,個(gè)人計(jì)算機(jī)也隨之能夠完成更多更復(fù)雜的算法,這便出現(xiàn)了各個(gè)領(lǐng)域的自然景物模擬,比如廣告、電腦游戲、影視特技、動(dòng)畫(huà)以及可視化的科學(xué)計(jì)算等等。

      2 粒子系統(tǒng)的國(guó)內(nèi)外研究現(xiàn)狀

      從20世紀(jì)80年代開(kāi)始就有人研究粒子系統(tǒng)了,第一次提出粒子系統(tǒng)概念的人叫Reeves W.T.,他于1983年提出并使用粒子系統(tǒng)非常成功地模擬了五彩繽紛的煙花及煙霧爆炸等效果[1];1985年,Reeves W.T.與Blau兩人合作進(jìn)一步發(fā)展了粒子系統(tǒng),他們主要是利用“volumefilling”生成隨時(shí)間推移而改變其形狀的實(shí)體,而該實(shí)體基本上保持不變,即沒(méi)有本質(zhì)的變化,就比如隨風(fēng)搖擺的花草樹(shù)葉[2];此后,Reeves W.T.又提出了關(guān)于粒子系統(tǒng)的消隱繪制算法,也可稱其為“近似概率性算法”,該算法從理論到技術(shù)各個(gè)方面都得到了非常大的發(fā)展,主要用于解決可見(jiàn)面以及陰影問(wèn)題,從而取得更加真實(shí)的三維效果;Fournier等人利用粒子系統(tǒng)模擬了海浪浪花,并提出浪花在什么條件下才會(huì)產(chǎn)生,即當(dāng)粒子運(yùn)動(dòng)速度同海浪曲面?zhèn)鞑ニ俣鹊牟町惓^(guò)了一定的閥值時(shí)才會(huì)產(chǎn)生浪花,否則只能產(chǎn)生泡沫[3];Karl Sims利用粒子系統(tǒng)所具有的并行特點(diǎn),提出了一個(gè)全新的并行粒子繪制系統(tǒng),進(jìn)而研究了粒子動(dòng)畫(huà),該繪制系統(tǒng)能繪制各種各樣的粒子,比如形狀不同的、顏色不同的、大小不同的或者透明度不同的粒子等,而且還能進(jìn)行各種各樣的處理,比如消隱的處理、反走樣的處理、運(yùn)動(dòng)模糊的處理等;Reynolds又進(jìn)一步擴(kuò)展了粒子系統(tǒng)的功能,即將其作為一種建模工具,當(dāng)很多粒子在一起共同存在時(shí),他提出了某一粒子與其他粒子之間以及粒子與其環(huán)境之間如何進(jìn)行交互的思想,還詳細(xì)說(shuō)明了當(dāng)大量的簡(jiǎn)單圖元進(jìn)行交互作用時(shí)會(huì)產(chǎn)生更加復(fù)雜的行為;Miller&Pearce、Tonnesen等人為了模擬像流體一樣的物體開(kāi)發(fā)了雙粒子系統(tǒng)??偠灾?,我們可以利用粒子系統(tǒng)創(chuàng)建各種各樣的自然景物的動(dòng)畫(huà)效果,它已經(jīng)被廣泛地應(yīng)用到各種可視化虛擬場(chǎng)景中。

      近些年來(lái),國(guó)內(nèi)也有許多大學(xué)都在研究、探索以及應(yīng)用粒子系統(tǒng)模型構(gòu)建自然景物,而且還獲得了不小的成果。比如徐迎慶等人通過(guò)粒子系統(tǒng)模擬了自然景物的水沫以及碰撞時(shí)所產(chǎn)生的水花等效果;再如宋萬(wàn)壽等人利用粒子系統(tǒng)技術(shù)在個(gè)人計(jì)算機(jī)上開(kāi)發(fā)了樹(shù)木模擬以及煙花模擬;徐利明與姜顯明兩人合作實(shí)現(xiàn)了雨、雪飄落的效果[4];張芹、吳慧中等人根據(jù)粒子系統(tǒng)具有的動(dòng)態(tài)性以及隨機(jī)性的特點(diǎn),模擬了火焰、煙霧等效果;王靜秋、錢志峰等人利用粒子系統(tǒng)實(shí)現(xiàn)了對(duì)焰火的動(dòng)態(tài)模擬,其根據(jù)不同焰火的細(xì)節(jié)和特點(diǎn)實(shí)現(xiàn)了不同形狀的焰火,并主要介紹了旋轉(zhuǎn)、星狀等顯示效果的模擬,隨后還詳細(xì)介紹了焰火的各種特性,比如焰火的顏色、焰火的透明度、焰火的形狀以及生命周期等等。這些模擬相比國(guó)外還是相差甚遠(yuǎn),所以國(guó)內(nèi)的關(guān)于粒子系統(tǒng)的研究仍需要在今后作進(jìn)一步的探索、研究與實(shí)踐[5-6]。

      3 煙花粒子的研究分析

      現(xiàn)如今,國(guó)內(nèi)外已有很多學(xué)者都研究過(guò)基于粒子系統(tǒng)技術(shù)的煙花模擬,故關(guān)于煙花粒子系統(tǒng)模型已有了一定的基礎(chǔ),而且其模型結(jié)合紋理貼圖或是Bill Boarding技術(shù),只需簡(jiǎn)單的改變其紋理參數(shù)便可產(chǎn)生各種不同的煙花模型,所以非常通用,可以滿足人們對(duì)煙花的各種審美需求。實(shí)際生活中,關(guān)于煙花的基本模型主要有下面幾類。

      眾所周知,煙花的形狀可以說(shuō)是千姿百態(tài),不同的人喜歡不同的煙花形態(tài),我們最常見(jiàn)的最典型的煙花形狀有圓形的、菊花狀的、環(huán)狀的、椰樹(shù)形的,像錦冠、牡丹、大麗就屬于圓形的煙花,彗星、菊花、花蕾則屬于菊花狀的煙花,而紅雙環(huán)、綠雙環(huán)屬于環(huán)狀的煙花。

      煙花在燃放時(shí)都會(huì)具有一定的危險(xiǎn)性,那是因?yàn)槲覀儾恢罒熁ㄔ诤螘r(shí)炸開(kāi)產(chǎn)生禮花,根據(jù)該特點(diǎn),我們利用初始屬性來(lái)隨機(jī)控制炸開(kāi)的高度。炸開(kāi)的形狀我們也可以進(jìn)行控制,煙花的外表形狀有些是有序排列的,有些是無(wú)序的組合,有序排列的煙花炸開(kāi)類似于我們看到的球體、五星、心形等預(yù)先已經(jīng)設(shè)計(jì)好的造型,而無(wú)序排列則可以炸出像彗星、椰樹(shù)、柳樹(shù)等造型的煙花。

      用粒子模擬煙花,整個(gè)煙花運(yùn)動(dòng)的過(guò)程有兩個(gè)發(fā)射處,一個(gè)是粒子的燃放點(diǎn),另一個(gè)是粒子的炸點(diǎn)處。通過(guò)觀察發(fā)現(xiàn),大部分煙花其燃放點(diǎn)低而炸點(diǎn)處高,且二者的位置是不同的,所以我們分兩段來(lái)處理。第一段,在燃放點(diǎn)只有一個(gè)粒子沖向天空去,我們可以通過(guò)隨機(jī)函數(shù)設(shè)置幾個(gè)隨機(jī)的燃放點(diǎn),從而產(chǎn)生不同的效果。第二段也是最關(guān)鍵的一部分即炸開(kāi)點(diǎn),這個(gè)炸點(diǎn)必須在合適的位置才可爆炸,也就是說(shuō)它只能在某一幀或是某一時(shí)間段才可產(chǎn)生。

      4 煙花粒子的屬性分析

      為了能模擬出更加逼真的煙花效果,必須仔細(xì)地觀察與分析煙花顯示的各種細(xì)節(jié)及特點(diǎn)。比如:煙花種類和顏色、形狀,而且有的煙花綻放快、有的煙花綻放慢,各有其特點(diǎn)。

      煙花整個(gè)燃放過(guò)程有兩個(gè)粒子發(fā)射處,一個(gè)是粒子的燃放點(diǎn),它是在一定范圍內(nèi)隨機(jī)產(chǎn)生的;另一個(gè)是粒子的炸開(kāi)點(diǎn),它也是通過(guò)隨機(jī)函數(shù)隨機(jī)產(chǎn)生的,一般煙花的形狀主要通過(guò)炸開(kāi)點(diǎn)來(lái)控制。下面將設(shè)計(jì)幾個(gè)最基本的模型,并通過(guò)這些模型來(lái)合成形狀各異的煙花。基于粒子系統(tǒng)技術(shù)和紋理貼圖模擬各式煙花,主要是研究合理的數(shù)據(jù)結(jié)構(gòu)和代碼,從而借助其模擬出所需效果。下面就煙花的基本特性著重分析一下:如煙花顏色、形狀與大小、衰減度以及其空間位置等。

      (1)煙花顏色特性:它是最重要的一個(gè)特性。煙花在綻放時(shí),主要依賴于其內(nèi)部所使用的化學(xué)元素才使其呈現(xiàn)出不同顏色,最常用的元素有鋇(可顯示出綠色的煙花)、鈉(可顯示出黃色的煙花)、銅(可顯示出藍(lán)色的煙花)、鍶(可顯示出桔紅色的煙花)等。我們?cè)谥圃鞜熁〞r(shí),通過(guò)控制上面各種元素的比例,在其綻放時(shí)就會(huì)得到五彩繽紛的煙花?;诹W酉到y(tǒng)的煙花模擬,為了使設(shè)計(jì)的煙花表現(xiàn)得更具真實(shí)性,需要用較多的粒子來(lái)描述,而且每個(gè)粒子根據(jù)位置特點(diǎn)單獨(dú)地分配其各自的顏色值,通常用三原色(紅、綠、藍(lán))來(lái)表示。本文所設(shè)計(jì)的煙花模擬,是讓煙花的顏色一開(kāi)始鮮艷明亮,慢慢變得暗淡下去,最終消失。

      (2)煙花的衰減度特性:煙花顯示的另一個(gè)重要特性就是衰減度,本文用fade表示粒子的衰減度。煙花的每個(gè)粒子都有其生命周期,本設(shè)計(jì)中規(guī)定所有粒子的生命周期都是1s。粒子經(jīng)過(guò)上升、爆炸后就要消亡,然后再產(chǎn)生新粒子。

      (3)煙花的形狀特性:也就是各種外部形狀,比如圓形、椰樹(shù)形等。一般通過(guò)爆炸區(qū)域來(lái)控制煙花所顯示的形狀。我們?cè)趯W(xué)高等數(shù)學(xué)時(shí)都知道,通過(guò)各種數(shù)學(xué)函數(shù),例如sin、cos、tin等函數(shù)能產(chǎn)生各種不同曲線,本設(shè)計(jì)就是運(yùn)用了這個(gè)原理。

      (4)煙花的外觀屬性:外觀屬性也是煙花的重要特征之一,它能給人最直接的視覺(jué)效果。首先,煙花基本粒子的外觀。在以往的煙花模擬程序中,其煙花粒子的外觀大多采用圓形。而在實(shí)際中,煙花都是一條條鏈狀的“蝌蚪形”,所以在本設(shè)計(jì)中將通過(guò)數(shù)學(xué)公式用一組源粒子組成鏈狀的煙花粒子。其次,煙花爆炸后形成各種形狀的外觀。由于本設(shè)計(jì)是在三維空間中完成的,所以在視圖上采用透視投影,即遠(yuǎn)處的煙花看起來(lái)會(huì)比較小,而近處的則比較大。

      5 煙花運(yùn)動(dòng)模型

      煙花粒子運(yùn)動(dòng)狀態(tài)的變化包括粒子的空間位置、形態(tài)顏色以及運(yùn)動(dòng)速度等方面的變化。通過(guò)這些變化動(dòng)態(tài)地描述煙花的變化過(guò)程。在現(xiàn)有的煙花模擬過(guò)程中,重力也會(huì)影響煙花的軌跡,粒子的質(zhì)量也要相應(yīng)地考慮進(jìn)參數(shù)中,而其他的煙花釋放的顏色、煙花可見(jiàn)性以及運(yùn)動(dòng)形態(tài)的變化等,通過(guò)調(diào)整相應(yīng)的參數(shù)即可實(shí)現(xiàn)。

      所有新產(chǎn)生的煙花粒子,系統(tǒng)都要賦予其一定的屬性,其初始屬性可以描述如下:我們假設(shè)粒子的初始位置為(x,y,z)。粒子的初始位置和初速度定義如下:

      如果只考慮粒子受重力加速度的影響,則粒子在x軸和z軸方向上的加速度賦為0,只給它們一個(gè)合適的y方向加速度,且是常量值,如Vy acc=a,a=-2.0。

      對(duì)于新生粒子,我們都給它們統(tǒng)一生命值1.0f。但它們的衰減值不一樣,定義如下:fade=(float)(rand()%100)/20000+0.0023f。為了建立煙花所在的空間坐標(biāo)系,我們令重力方向?yàn)閅軸,水平方向?yàn)閄軸,垂直于XY平面的軸即為Z軸。生命期的衰減:Life=Life-fade

      其中可以用數(shù)學(xué)上的一些曲線方程的參數(shù)來(lái)控制Xspeed、Zspeed的值,來(lái)達(dá)到改變爆炸煙花形狀的目的。

      6 煙花粒子的生命歷程

      每個(gè)煙花粒子都有三個(gè)生命歷程:產(chǎn)生新粒子、活動(dòng)狀態(tài)和粒子消亡,整個(gè)過(guò)程煙花粒子經(jīng)過(guò)不斷的更新,始終保持一種相對(duì)的平衡,這種平衡保證煙花粒子的數(shù)量恒定。再具體地說(shuō),就是當(dāng)新煙花粒子一旦產(chǎn)生,系統(tǒng)就會(huì)賦予該粒子生命值life=1.0,生命值根據(jù)其運(yùn)動(dòng)變化逐漸地減少,當(dāng)life=0時(shí),我們認(rèn)為該煙花粒子消亡。煙花粒子消亡后,系統(tǒng)會(huì)將其刪除,結(jié)束其生命歷程,隨后系統(tǒng)再補(bǔ)充新煙花粒子,開(kāi)始新生命歷程。在應(yīng)用過(guò)程中,度量煙花粒子是否死亡還可以有其他的一些標(biāo)準(zhǔn)。例如當(dāng)煙花粒子的顏色與背景色相同或煙花粒子的透明度減少至零時(shí),或者煙花粒子的運(yùn)動(dòng)超出了顯示區(qū)域或者超出了初始化所設(shè)定的區(qū)域時(shí),系統(tǒng)會(huì)根據(jù)情況認(rèn)為煙花粒子已經(jīng)死亡,從而結(jié)束其生命歷程。

      7 發(fā)展前景

      實(shí)際中,煙花具有動(dòng)態(tài)隨機(jī)性而且外形非常不規(guī)則,要模擬出更真實(shí)的煙花模型,值得更深入地去探討。所以計(jì)算機(jī)基于粒子系統(tǒng)的煙花模擬到目前為止都有非常廣闊的發(fā)展前景。

      8 結(jié)語(yǔ)

      為了繪制更加貼近現(xiàn)實(shí)生活的煙花,還需要繼續(xù)改進(jìn)以下方面:第一,一些不可抗因素的影響,比如風(fēng)力、浮力等因素的存在;第二,大量粒子組合在一起產(chǎn)生煙花效果,越復(fù)雜的煙花效果,煙花粒子會(huì)更多,它們之間產(chǎn)生碰撞、作用是不可避免的,但當(dāng)他們互相作用時(shí)會(huì)產(chǎn)生什么樣的效果,需要進(jìn)一步分析。

      猜你喜歡
      粒子系統(tǒng)煙花形狀
      國(guó)慶煙花秀
      挖藕 假如悲傷有形狀……
      利用GPU加速的粒子系統(tǒng)全球流場(chǎng)可視化系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
      放煙花
      煙花
      你的形狀
      煙花
      UE 4粒子系統(tǒng)與外部數(shù)據(jù)通信研究
      看到的是什么形狀
      基于粒子系統(tǒng)的建模與仿真綜述
      洮南市| 虹口区| 广德县| 仙居县| 周宁县| 营山县| 吴江市| 湖州市| 雷山县| 镇江市| 谷城县| 邯郸市| 读书| 多伦县| 浮山县| 阿拉善左旗| 青阳县| 香港 | 葫芦岛市| 九龙坡区| 石景山区| 晋中市| 通州区| 马边| 云龙县| 延寿县| 泊头市| 习水县| 祁连县| 玛沁县| 囊谦县| 新郑市| 阳朔县| 个旧市| 运城市| 新田县| 陆良县| 吴堡县| 饶河县| 凌云县| 余干县|