趙柏宇 全吉成 王平
【摘 要】介紹了粒子系統(tǒng)特點(diǎn),建模原理,基本模型和對(duì)于物理方法的優(yōu)越性。并闡述了粒子系統(tǒng)中粒子的一些屬性,并給出了粒子產(chǎn)生的流程圖
【關(guān)鍵詞】粒子;粒子系統(tǒng);建模;流程圖
如今,計(jì)算機(jī)圖形學(xué)技術(shù)發(fā)展迅速,自然場(chǎng)景景物的模擬漸漸的成為人們關(guān)注的交點(diǎn),利用物理模型進(jìn)行模擬可以達(dá)到較好的繪制效果,但是會(huì)消耗大量的時(shí)間。相反的粒子系統(tǒng)的提出很好的解決了耗時(shí)的問題,但是對(duì)于復(fù)雜的場(chǎng)景運(yùn)用粒子系統(tǒng)模擬會(huì)丟失一些細(xì)節(jié),使模擬效果不夠真實(shí),因此本章先對(duì)粒子系統(tǒng)和物理模型分別進(jìn)行介紹,再將粒子系統(tǒng)與物理方法相結(jié)合建立模型。
1 粒子系統(tǒng)建模原理
1.1 粒子系統(tǒng)理論概述
為了解決由大量小顆粒組成的自然場(chǎng)景在電腦屏幕顯示的模擬[1]與顯示的問題,在1983年Reeves[2]提出粒子系統(tǒng)這一重要理論,該理論有效的利用簡(jiǎn)單的算法來實(shí)現(xiàn)具有不規(guī)則形狀且變化復(fù)雜的自然場(chǎng)景[3],例如大規(guī)模爆炸、煙霧[4-5]、火焰、雨雪及云的模擬都可以利用粒子系統(tǒng)來模擬完成。
粒子系統(tǒng)具有很大的隨機(jī)性,是由大量的粒子元素構(gòu)成的,這恰好滿足了自然場(chǎng)景隨機(jī)運(yùn)動(dòng)以及擴(kuò)散的條件,隨著時(shí)間的推移,粒子數(shù)目不斷增多,從自然場(chǎng)景的局部構(gòu)建到整體構(gòu)建,形成了完整的建模過程。
1.2 粒子系統(tǒng)的特點(diǎn)和缺點(diǎn)
與傳統(tǒng)的物理方法建模相比,粒子系統(tǒng)有著自身獨(dú)特的優(yōu)勢(shì):
(1)選擇靈活性:粒子系統(tǒng)是通過大量的粒子或幾何圖元組合在一起形成大規(guī)模的自然場(chǎng)景,對(duì)于場(chǎng)景的不同,粒子數(shù)量和粒子基本圖元的選擇都具有很大的靈活性,我們可以使用點(diǎn)作為基本圖元,也可以使用多變性作為基本圖元,這樣就可以不必按照傳統(tǒng)圖形學(xué)的嚴(yán)格用多邊形的方法來描述。當(dāng)然,我們可以選擇用10000粒子模擬戰(zhàn)場(chǎng)中的大規(guī)模爆炸,也可以用3000粒子模擬蠟燭的火焰,粒子數(shù)目的多少取決與場(chǎng)景的大小,這些靈活的處理會(huì)在算法上得到簡(jiǎn)化,提高實(shí)時(shí)性。
(2)動(dòng)態(tài)靈活性:與傳統(tǒng)的建模方法不同,粒子系統(tǒng)的建模是一個(gè)動(dòng)態(tài)的過程,摒棄了原有的靜態(tài)系統(tǒng)。粒子系統(tǒng)可以模擬物體的動(dòng)態(tài)特征,粒子都是隨著時(shí)間的推移而發(fā)生變化,位移的變化,速度的變化,顏色的變化以及形狀的變化等等,粒子屬性的不斷變化使得整體系統(tǒng)形態(tài)發(fā)生變化。
(3)隨機(jī)靈活性:粒子系統(tǒng)的運(yùn)行符合隨機(jī)過程,粒子的各種屬性值是在一定范圍內(nèi)通過隨機(jī)過程隨機(jī)產(chǎn)生的數(shù)值,并且隨著時(shí)間的推移各種屬性都在進(jìn)行隨機(jī)的變化,通過調(diào)整參數(shù)可以改變視覺效果。
盡管粒子系統(tǒng)在模擬不規(guī)則物體方面有著很大的優(yōu)越性,但是還是有一定不足之處:
(1)粒子系統(tǒng)中粒子的數(shù)量直接影響渲染的實(shí)時(shí)性,一些大規(guī)模的場(chǎng)景需要大量的粒子繪制,這樣整個(gè)系統(tǒng)的開銷十分龐大,降低了實(shí)時(shí)性。因此,在模擬大規(guī)模場(chǎng)景的物體時(shí)需要把握粒子的數(shù)量,使得真實(shí)性和實(shí)時(shí)性達(dá)到平衡,這也需要大量的實(shí)驗(yàn)來驗(yàn)證完成。
(2)粒子系統(tǒng)的模擬主要針對(duì)的是不規(guī)則的物體,相比模擬規(guī)則形狀的物體,粒子系統(tǒng)方法就不一定能達(dá)到最好的效果,相反可能會(huì)丟失一些細(xì)節(jié)。因此在模擬不規(guī)則物體的時(shí)候,細(xì)節(jié)的變化的模擬將是一大挑戰(zhàn)。
2 粒子系統(tǒng)的基本模型
粒子系統(tǒng)是由大量稱為粒子的簡(jiǎn)單體素組成的,這些粒子都有屬于自己的一組屬性,位置、速度、顏色、大小、生命周期等。每一個(gè)粒子都要經(jīng)歷完整的生命周期:產(chǎn)生,運(yùn)動(dòng)和死亡。粒子通常在指定的區(qū)域又隨機(jī)過程產(chǎn)生[6],并不斷更新屬性,最后死亡。由于粒子的不斷運(yùn)動(dòng),使得模擬的場(chǎng)景具有一定的動(dòng)態(tài)性,因此用粒子系統(tǒng)模擬戰(zhàn)場(chǎng)煙霧,爆炸以及火焰會(huì)有獨(dú)特的效果。
通常粒子系統(tǒng)模擬自然場(chǎng)景時(shí)的基本步驟如下:
(1)產(chǎn)生粒子并初始化屬性。根據(jù)所要繪制的場(chǎng)景選擇產(chǎn)生粒子的位置,數(shù)量并對(duì)這些粒子進(jìn)行初始化屬性賦值,最后將粒子加入粒子系統(tǒng)中。
(2)粒子屬性的更新。根據(jù)模擬物體的運(yùn)動(dòng)規(guī)律及時(shí)更新粒子的運(yùn)動(dòng)位置、速度、生命周期等屬性。
(3)將“死亡”粒子從系統(tǒng)中刪除。隨著粒子屬性的不斷更新,一些粒子已經(jīng)達(dá)到了自己的生命周期,或者顏色與背景重合,為了提高整個(gè)系統(tǒng)的性能,需要將“死亡”粒子從系統(tǒng)中除去。
(4)繪制圖像。對(duì)于系統(tǒng)中尚存在的那些粒子,選擇一定的繪制算法將其繪制成圖像并通過屏幕顯示出來。
粒子系統(tǒng)產(chǎn)生的流程圖模型如圖1所示:
圖1所示的是粒子生成的流程,但是在粒子系統(tǒng)中,不同粒子屬性的更新方式不盡相同,一般粒子都會(huì)具有以下幾種屬性:
1.粒子所在位置:Position
2.粒子的速度:Velocity
3.粒子的大小:Size
4.粒子的透明度:Alpha
5.粒子的顏色:Color
6.粒子的生命周期:Lifetime
為了方便管理每個(gè)粒子,我們?cè)诰帉懗绦蛑锌梢詫⒘W託w為一個(gè)類ParticleGroup。相應(yīng)的偽代碼如下所示:
Class ParticleGroup
{
int ParticleCount;//粒子數(shù)量
Init();//初始化粒子屬性
Update();//粒子屬性更新
Void delete(int i);//刪除死亡粒子
Bool Add();//增加新的粒子
Render();//渲染粒子系統(tǒng)
Shutdown()//關(guān)閉粒子系統(tǒng)
}
在粒子系統(tǒng)的基本模型中可以分為三個(gè)部分:層次結(jié)構(gòu)部分,粒子繪制部分,粒子系統(tǒng)控制機(jī)制。在本節(jié)中提到的4個(gè)步驟中,步驟(1)(2)(3)共同組成了粒子系統(tǒng)的控制機(jī)制,而步驟
(4)是粒子繪制部分。在實(shí)際的模擬場(chǎng)景中,根據(jù)不同的模擬場(chǎng)景的特點(diǎn)來確定以上基本步驟。
3 結(jié)束語
粒子系統(tǒng)可以在各種各樣的環(huán)境下對(duì)不規(guī)則的自然場(chǎng)景進(jìn)行建模,粒子的隨機(jī)性可以模擬動(dòng)態(tài)的場(chǎng)景,并且可以達(dá)到較好的效果,通過粒子屬性的不斷更新來完成粒子的運(yùn)動(dòng)狀態(tài),最后將死亡的粒子從系統(tǒng)中刪除,運(yùn)用粒子系統(tǒng)建模將是近年來學(xué)者們研究的重點(diǎn)方向。
【參考文獻(xiàn)】
[1]龐新,王相海.基于0penGL的禮花粒子系統(tǒng)模擬研究[J].計(jì)算機(jī)科學(xué),2008,35(5):216-219.
[2]Reeves W T .Particle System-a Technique for Modeling a Class of Fuzzy Object [J].ACM Computer Graphics (SIGGRAPH83)(S0730-0301),1983,17(30):359-376.
[3]徐陽東.基于粒子系統(tǒng)不規(guī)則景物建模研究[D].濟(jì)南:山東師范大學(xué),2009.
[4]張海山,吳家鑄.基于粒子系統(tǒng)的火箭發(fā)射煙霧特效實(shí)現(xiàn)[J].微計(jì)算機(jī)信息(管控一體化卷,2008,24(12-3):248-249.
[5]趙春霞,張艷,戰(zhàn)守義.基于粒子系統(tǒng)方法的三維火焰模擬[J].計(jì)算機(jī)工程與應(yīng)用,2004,40(28):73-75.
[6]汪繼文,張妍妍,陸和軍一種基于改進(jìn)的粒子系統(tǒng)的煙花模擬[J].電腦知識(shí)與技術(shù),2009(12):9805-9807.
[責(zé)任編輯:王偉平]