




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于粒子系統(tǒng)的實時火焰繪制方法研究摘 要:設(shè)計了粒子系統(tǒng)火焰模型,詳細討論了模型中粒子的屬性及其變化。為了提高系統(tǒng)運行效率,采用四邊形面片代替點光源粒子,結(jié)合紋理映射、Billboarding和alpha混合技術(shù),使得火焰模型在實際應(yīng)用中能滿足實時性要求,同時保持較好的逼真效果。關(guān)鍵詞:粒子系統(tǒng);紋理映射;公告板;alpha混合Research of real-time fire rending method based on particle systemAbstract: A fire model based on particle system is proposed. Particle
2、s attributes and their evolvements are discussed. Several methods are used to promote the efficiency of system, such as adopting quadrangle to substituting particle of point light source, applying texture mapping technique, utilizing Billboarding and alpha amalgamation technology. The model can meet
3、 real-time and reality requirement in practical application.Key words:particle system ; texture mapping ; Billboarding ; alpha amalgamation火焰、云霧、浪花、雨雪等自然景物的模擬一直是計算機圖形學(xué)領(lǐng)域的研究熱點和難點。這些物體都具有不斷運動變化的特征,形狀變化沒有固定規(guī)律, 很難用傳統(tǒng)的造型方法來表現(xiàn)。粒子系統(tǒng)是迄今為止用于描述不規(guī)則物體最成熟的理論之一。其基本思想是通過一定數(shù)量的粒子組成的粒子群體來表示不規(guī)則物體,然后通過控制粒子的運動變化來模擬不規(guī)則物體
4、的運動變化特征。傳統(tǒng)粒子系統(tǒng)包含成千上萬個粒子,需要大量的計算時間,難以滿足實時性要求。為了解決仿真中的實時性問題,本文設(shè)計了粒子系統(tǒng)火焰模型,模型中采用四邊形面片代替點光源粒子,結(jié)合紋理映射、Billboarding和alpha混合技術(shù)來實現(xiàn)火焰特效。實驗證明,采用該模型模擬的火焰效果真實且能在普通的PC機上滿足實時性要求。1基于粒子系統(tǒng)的火焰模型 火焰的分析火焰具有如下的顯示細節(jié)和特點: (1) 具有持續(xù)性。(2) 形狀的變化。火焰會有特殊的顯示效果,如搖曳等;(3) 顏色的變化?;鹧鎻难嫘牡酵庋骖伾尸F(xiàn)從亮白色到黃色、紅色的變化。 火焰粒子系統(tǒng)模型 火焰粒子系統(tǒng)的初始狀態(tài)初始時刻火焰粒子
5、系統(tǒng)狀態(tài)包括粒子的數(shù)量、位置、運動速度及加速度、顏色、大小、形狀以及生存期。(1) 初始粒子數(shù)量要在給定屏幕顯示區(qū)域內(nèi)產(chǎn)生一定數(shù)量的火焰粒子, 初始數(shù)量的定義很關(guān)鍵, 它決定了火焰的密度和規(guī)模, 數(shù)目過小無法滿足真實感要求;數(shù)目過大要占用系統(tǒng)大量的時間, 實時性受到影響。本文設(shè)計的粒子系統(tǒng)中粒子數(shù)量可根據(jù)要模擬的火焰規(guī)模由用戶指定。(2) 初始位置粒子的初始位置由粒子的產(chǎn)生區(qū)域決定,同時,產(chǎn)生區(qū)域也決定粒子的初始運動方向。產(chǎn)生區(qū)域為矩形或圓形時,粒子以一定的噴射角離開所在的平面向外運動。產(chǎn)生區(qū)域為球形時,粒子從球的中心沿球徑向外運動。通常產(chǎn)生區(qū)域位于某一平面(如xoz平面),火焰沿該面向上燃燒
6、。區(qū)域中心粒子密集,邊界稀疏,且呈正態(tài)分布3。由于采用正態(tài)分布為新粒子的初始位置賦值不是根據(jù)火焰的物理性質(zhì)得出,從而不過分要求物理上和數(shù)學(xué)上的精確性,所以為了進一步加快系統(tǒng)的運行速度,本文采用簡化的方法計算新粒子的初始位置: (1) (2) (3)其中為火焰燃燒的中心位置,、分別表示粒子產(chǎn)生區(qū)域在方向的變化范圍。為-1,1上均勻分布的隨機函數(shù)。(3) 初始速度和加速度每個粒子都有一個隨機產(chǎn)生的初始速度和加速度,粒子的初始速度和加速度是實現(xiàn)動態(tài)火焰必不可少的因素。 InitialSpeed=MeanSpeed+Rand()×VarSpeed (4)InitialAcceleration
7、=MeanAcceleration+Rand()×VarAcceleration (5)其中,MeanSpeed ,VarSpeed ,MeanAcceleration ,VarAcceleration是粒子系統(tǒng)中四個參數(shù),分別表示平均速度、速度變化范圍、平均加速度、加速度變化范圍。其中Rand()為-1到+1之間的隨機函數(shù)。(4) 初始顏色和透明度火焰粒子的顏色采用RGBA模型,其中A代表粒子的透明度,用于表現(xiàn)粒子顏色漸漸消退,最終與背景融為一體的效果。InitialColor(R ,G ,B)=MeanColor(R ,G ,B)+ Rand() × VarColor(
8、R ,G ,B) (6)InitialAlpha=255 (7)MeanColor是基本色,VarColor是顏色的變化范圍。粒子的透明度初始值InitialAlpha設(shè)為255,即不透明。 (5) 初始形狀和大小每一個火焰粒子產(chǎn)生時即被設(shè)有一定的形狀和大小, 火焰粒子的初始形狀為四邊形面片,在火焰燃燒過程中粒子形狀保持不變,其大小可控。 火焰系統(tǒng)的變化在利用粒子系統(tǒng)方法模擬火焰過程中,每一個“活躍”的粒子在其生存期間都要顯示出動態(tài)的效果,這就意味著不僅粒子的位置和速度是變化的,而且它們的顯示屬性(尺寸、顏色)也是變化的。(1) 粒子的運動在粒子誕生時,被賦予了初始位置和初始速度,隨著時間的推
9、移,粒子將到達新的位置,得到新的速度。假設(shè)第幀與第幀的時間間隔為t,火焰粒子的位移矢量為,粒子的速度矢量和加速度矢量分別為和,則火焰粒子的運動方程為: (8)火焰在垂直方向上受到重力和熱浮力的共同作用,有一個運動速度,通過建立速度場來存儲粒子垂直方向的運動速度,本文用湍流函數(shù)建立速度場,湍流函數(shù)既保證粒子有一定的運動速度,又保證了一定的隨機性。t時刻粒子Y軸運動速度為:湍流函數(shù)由一系列三維噪聲函數(shù)疊加而成,其中,p表示粒子中心位置,k是滿足不等式的最小整數(shù),sizepixel為象素邊長。通過選取滿足上述條件的求和上限值k,可以避免采樣湍流函數(shù)時的走樣現(xiàn)象。 粒子Y軸速度確保火焰向上運動,在水平
10、方向上,主要是風(fēng)力影響火焰粒子的運動。風(fēng)向在微觀上有一定的任意性,本文把風(fēng)場分解為X方向和Z方向,分別用一個隨機過程來模擬這一任意性。從而使火焰粒子產(chǎn)生飄忽不定的運動。(2) 粒子屬性的變化顏色是火焰顯示中重要的屬性之一。在現(xiàn)實中,火焰的顏色依賴于燃燒的化學(xué)元素,通過控制各種元素的比例,即可得到五彩繽紛的效果。而在對火焰進行計算機模擬時,則用R(紅)、G(綠)、B(藍)三個變量來描述每個粒子的基本顏色特征。單個粒子的顏色在生命周期內(nèi)由亮度較高的黃色漸變?yōu)榧t色,然后變?yōu)楹捅尘跋嘟念伾?,這種顏色過渡平滑,增強了真實感。在同一個位置上可能同時要對幾個粒子進行渲染,所以要對這些粒子進行混色。設(shè)
11、置混色函數(shù),采用GL_SRC_ALPHA(源),GL_ONE_MINUS_SRC_ALPHA (目標(biāo))的方法,即,目標(biāo)色為源顏色與源alpha相乘加上當(dāng)前顏色乘以(255-源alpha),所以:目標(biāo)色源色×源alpha當(dāng)前色×(255-alpha)/255 (10) alpha為透明度,根據(jù)需要設(shè)定。在粒子系統(tǒng)中,火焰的中心位置產(chǎn)生的粒子較多,經(jīng)過多個粒子的混色,在焰心部分火焰為亮白色,外焰部分粒子數(shù)逐漸減少,變?yōu)榱咙S色,最后邊緣部分變?yōu)榧t色、黑色。這樣的混色過程也符合火焰的顏色變化特性?;鹧媪W酉鲇袃煞N情形:一種是生命到了盡頭,另一種是當(dāng)粒子的顏色低于某個限定值,兩種情
12、況之一出現(xiàn)時,粒子就會死亡,并被刪除。2火焰特效建模本文采用了以下一些實現(xiàn)特效和加快實時顯示速度的方法。(1) 粒子的四邊形化經(jīng)典粒子系統(tǒng)理論模擬火焰等不規(guī)則物體時,每個粒子都被視為點光源,并根據(jù)光照模型計算畫面上每一像素的光亮度值。采用這種方法繪制一幀畫面需要大量的粒子,一旦粒子的總數(shù)達到一定的數(shù)目,系統(tǒng)的運行速度將會受到限制。本系統(tǒng)采用四邊形面片代替點光源繪制粒子。這樣一個面片可以代替幾百個粒子,大大提高了系統(tǒng)的運行速度。 (2) Billboarding技術(shù)的應(yīng)用用四邊形面片代替粒子有一個缺點,就是隨著觀察者視點的移動,有時會正好處在面片的側(cè)面,這時觀察者看到的會是一層層像紙片狀的東西。
13、為了避免這種現(xiàn)象的出現(xiàn),本文采用了Billboarding技術(shù)。Billboarding技術(shù)使二維紋理或者面元經(jīng)過旋轉(zhuǎn)后總是朝向觀察者,它的思想是:首先把一幅靜態(tài)圖像作紋理映射到簡單的幾何平面上,然后根據(jù)視點的位置變換平移或旋轉(zhuǎn)該平面,使視點始終與該平面正交。設(shè)空間四邊形的中心,視點位置,假定四邊形的初始法向量與Z軸重合,即, 則四邊形與觀察者之間的方向矢量,四邊形的法線要想與sight重合,即:粒子面片正對視點,則四邊形必須做適當(dāng)?shù)男D(zhuǎn),下面以O(shè)penGL坐標(biāo)系和VC+語言給出旋轉(zhuǎn)軸和旋轉(zhuǎn)角度的計算方法: (11) (12)其中,Axis是旋轉(zhuǎn)軸,Angle是旋轉(zhuǎn)角度,Normalize是矢
14、量單位化函數(shù),Length是取模函數(shù)。旋轉(zhuǎn)后四邊形的法向量為,從而保證四邊形正對視點V,如圖1所示。圖1Billboarding技術(shù)原理這種方法比用大量粒子節(jié)約了很多計算時間和存儲空間。(3) alpha混合技術(shù)在紋理貼圖方面的應(yīng)用為了模擬火焰的效果每個四邊形都貼上紋理,但四邊形由于有分明的棱角,不能表現(xiàn)一些邊界模糊的景象。為了消去四邊形的明顯邊界,應(yīng)用了OpenGL的alpha混合技術(shù),再加上紋理和顏色的調(diào)節(jié),能模擬出一些特殊效果。使用alpha混合技術(shù)時需要一個alpha通道,alpha通道指的是一個圖像,這個圖像上的數(shù)據(jù)并不是表示該處的顏色,而是表示透明度(0表示完全透明,255表示完全
15、不透明)。alpha通道不能獨立的顯示出來,它必須與某一幅圖像進行混合,即alpha混合。文中用photoshop將粒子的紋理圖像制作成黑白位圖映射到四邊形上,同時將紋理圖像作為alpha通道(見圖2)與其它粒子和背景混合。alpha通道中黑色是0,白色是255,進行alpha混合的時候,做如下運算。目標(biāo)色=背景與其它粒子的混合色×(255-alpha)/255+源色×alpha (13)圖2粒子的紋理(alpha 通道)在使用alpha混合功能以前,要開啟混合方式,取消深度測試,以避免各粒子的互相遮擋,在OpenGL的混合效果下,各個粒子相互作用和影響,加上顏色的變化,能
16、產(chǎn)生與基于傳統(tǒng)方法實現(xiàn)的粒子系統(tǒng)同樣的效果,但實時效果更好。3 結(jié) 論根據(jù)設(shè)計的粒子系統(tǒng)火焰模型,在集成開發(fā)環(huán)境下,采用OpenGL圖形工具包實現(xiàn)了火焰模擬。圖3是火焰模擬效果。實驗結(jié)果表明,用該模型實現(xiàn)的火焰效果具有較強的真實感,且能在普通的PC 機上滿足實時性要求。本文作者創(chuàng)新點:在粒子系統(tǒng)模型中采用四邊形面片代替點光源粒子,結(jié)合紋理映射、Billboarding和alpha混合技術(shù)實現(xiàn)了火焰模型,使得火焰模型在實際應(yīng)用中能滿足實時性要求,同時保持較好的逼真效果。圖3 火焰模擬效果圖參考文獻:1 William T Revees. Particle systemsA technique for modeling a class of fuzzy objectsJ. ACM Computer Graphics(SIGGRPH83), 1983, 17 (3) : 359- 376.2 Jos Stam, Eugene F iume. Depicting fire
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四海省廣元市蒼溪縣2024-2025學(xué)年九年級上學(xué)期期末質(zhì)量監(jiān)測數(shù)學(xué)試題 (原卷版+解析版)
- 《跨境電商》課件-9.跨境店鋪優(yōu)化
- 《Linux操作系統(tǒng)》課件-1.認識Linux(全)
- 景區(qū)開發(fā)石子運輸合同樣本
- 項目協(xié)作與會議記錄會議紀(jì)要
- 廣告行業(yè)廣告投放手冊
- 《建設(shè)項目設(shè)計概算編審規(guī)范》
- 大數(shù)據(jù)分析在企業(yè)決策中的實踐應(yīng)用報告
- 網(wǎng)吧包工裝修合同
- 交通運輸交通規(guī)劃與管理練習(xí)題
- 工藝部述職報告
- 供貨交貨進度計劃及保證措施
- 第17課《學(xué)習(xí)中的煩心事》課件
- 規(guī)劃選址及用地預(yù)審流程
- 外語學(xué)習(xí)焦慮與對策
- 關(guān)于衛(wèi)健系統(tǒng)工作調(diào)研報告
- 烯烴習(xí)題參考答案
- 2023-2024學(xué)年山東省淄博市高青縣七年級下學(xué)期期中考試英語試題 (含答案)
- 各國鋼材牌號對照大全
- 標(biāo)準(zhǔn)化班組建設(shè)演示幻燈片
- 房樹人的內(nèi)容分析 房樹人分析
評論
0/150
提交評論