專利名稱:一種采樣反饋的火焰模型參數(shù)自動獲取與優(yōu)化方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種采樣反饋的火焰模型參數(shù)自動獲取與優(yōu)化方法,屬于虛擬現(xiàn)實(shí)科學(xué)技術(shù)領(lǐng)域。
背景技術(shù):
隨著計(jì)算機(jī)圖形學(xué)技術(shù)的飛速發(fā)展,火焰燃燒越來越多地出現(xiàn)在計(jì)算機(jī)動畫、影視制作和媒體廣告等場景之中。在對戰(zhàn)場進(jìn)行模擬的時(shí)候,火焰的模擬也是必不可少的?;鹧婢哂袑?shí)時(shí)的多變性和無規(guī)則性,它的外觀形狀極不規(guī)則、沒有光滑的表面,這使得經(jīng)典的歐幾里得幾何學(xué)對其描述就顯得無能為力。同時(shí),火焰在燃燒的過程中,要受到內(nèi)外各種因素的作用和影響,再加上火焰燃燒的形態(tài)非常豐富,不同的燃料在不同的情況下表現(xiàn)出巨大的差異,就更加向人們提出了嚴(yán)峻的考驗(yàn)。有三種與火焰相關(guān)的基本視覺現(xiàn)象。第一個(gè)視覺現(xiàn)象是在許多火焰中看到的藍(lán)色或藍(lán)綠色焰心,這些顏色由中間化學(xué)產(chǎn)物產(chǎn)生,例如在化學(xué)反應(yīng)中產(chǎn)生的碳自由基。第二個(gè)視覺現(xiàn)象是由熱氣產(chǎn)物放出的黑體輻射。它以黃橙色為特征,該顏色與火焰密切相關(guān),為了給它在視覺上進(jìn)行精確建模需要跟蹤火焰的溫度。第三個(gè)視覺現(xiàn)象是溫度在降低到黑體輻射消失后,出現(xiàn)在一些火焰中的煙或者是煙灰。如果燃燒物是固體或者液體,第一步是加熱直到它變成氣態(tài)(顯然,如果是氣體燃料,開始時(shí)就已經(jīng)是氣體狀態(tài)),氣體被加熱到隱式曲面對應(yīng)著火點(diǎn),然后出現(xiàn)細(xì)薄的藍(lán)色焰心。溫度接著升高,并在輻射冷卻和其它混合因素導(dǎo)致它溫度降低之前,隨著反應(yīng)過程升高到最大值。接下來,隨著溫度的降低,黑體輻射減少直至黃橙色消失。粒子系統(tǒng)的基本思想是把無規(guī)則形狀的物體看作是眾多粒子所組成的粒子團(tuán),各個(gè)粒子都有自己的屬性如顏色、形狀、大小、生存期、速度等。粒子隨時(shí)間的推移而不斷地改變狀態(tài),從而模擬出無規(guī)則物體及其運(yùn)動變化。從粒子系統(tǒng)方法誕生到現(xiàn)在,它已經(jīng)逐步成為計(jì)算機(jī)圖形學(xué)中應(yīng)用最廣,應(yīng)用時(shí)間最長的方法之一?;诹W酉到y(tǒng)的火焰模擬原理如圖1所示。然而,基于粒子系統(tǒng)的方法的控制過程過于隨機(jī),選定合適的控制參數(shù)變成為了模擬中面臨的重要問題。目前研究者們往往都是根據(jù)需要模擬的火焰的特征,人為選擇并調(diào)整控制參數(shù),這使得模擬的過程非常繁瑣。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是針對基于粒子系統(tǒng)的火焰模型參數(shù)調(diào)整繁瑣的現(xiàn)狀,提出了一種可以根據(jù)采樣反饋?zhàn)詣荧@取火焰模型參數(shù),優(yōu)化火焰模型的方法,簡化了建立火焰模型的過程,同時(shí)有效的對火焰模型進(jìn)行了優(yōu)化。本發(fā)明提出了一種采樣反饋的火焰模型參數(shù)自動獲取與優(yōu)化方法,包括以下步驟(1)采用粒子系統(tǒng)的方法,根據(jù)初始的模型參數(shù)和控制參數(shù)建立火焰模型;
(2)在步驟⑴建立火焰模型后,分析當(dāng)前火焰模型和真實(shí)火焰的誤差,生成誤差函數(shù);(3)在步驟O)生成火焰模型的誤差函數(shù)后,判斷火焰模型誤差是否小于誤差閾值;若是,則本方法結(jié)束;否則,跳轉(zhuǎn)到步驟⑷;(4)使用梯度下降的方法,調(diào)整火焰模型的控制參數(shù);(5)在步驟的基礎(chǔ)上,根據(jù)當(dāng)前計(jì)算的控制參數(shù)修正火焰模型;(6)在步驟(5)建立修正后的火焰模型的基礎(chǔ)上,跳轉(zhuǎn)到步驟(3)。本發(fā)明的有益效果是針對基于粒子系統(tǒng)的火焰模型參數(shù)調(diào)整繁瑣的現(xiàn)狀,提出了一種可以根據(jù)采樣反饋?zhàn)詣荧@取火焰模型參數(shù),優(yōu)化火焰模型的方法,簡化了建立火焰模型的過程,同時(shí)有效的對火焰模型進(jìn)行了優(yōu)化。
圖1為火焰模擬原理框圖;圖2為采樣反饋的火焰模型參數(shù)自動獲取與優(yōu)化方法的流程圖。
具體實(shí)施例方式本發(fā)明提出了一種可以根據(jù)采樣反饋?zhàn)詣荧@取火焰模型參數(shù),優(yōu)化火焰模型的方法,簡化了建立火焰模型的過程,同時(shí)有效的對火焰模型進(jìn)行了優(yōu)化。該方法的流程如圖1 所示,其步驟如下步驟1采用粒子系統(tǒng)的方法,根據(jù)初始的模型參數(shù)和控制參數(shù)建立火焰模型;粒子系統(tǒng)的基本思想是把無規(guī)則形狀的物體看作是眾多粒子所組成的粒子團(tuán),各個(gè)粒子都有自己的屬性如顏色、形狀、大小、生存期、速度等。粒子隨時(shí)間的推移而不斷地改變狀態(tài),從而模擬出無規(guī)則物體及其運(yùn)動變化。建立火焰模型的模型參數(shù)包括粒子的數(shù)目num,粒子的初始顏色initialColor、 初始透明度initialAlpha。其中粒子的數(shù)目num初始值為不影響模擬效果下所使用的最少粒子束;粒子的初始顏色initialColor是基本色,粒子的顏色將從initialColor逐漸向背景顏色轉(zhuǎn)變;粒子的初始透明度initialAlpha = 1. 0,透明度是一個(gè)從0變化到1的實(shí)數(shù)。 所述的控制參數(shù)包括Δχ、Ay、Δ Ζ,分別表示火焰在X,Y,Z軸上的運(yùn)動;Ex、Ey、Ez,表示火焰的膨脹或跳動;(i)、Sz (i),表示火焰頂端的發(fā)散(X、Z軸)。步驟2分析當(dāng)前火焰模型和真實(shí)火焰的誤差,生成誤差函數(shù);誤差函數(shù)取決于火焰模型的控制參數(shù),表達(dá)式為d = f (Δχ, Δγ, Δ ζ, Ex, Ey, Ez, Sx (i),Sz (i))其中d表示火焰模型的誤差;Δ X、Ay、Δ z,分別表示火焰在X,Y,Z軸上的運(yùn)動; Ex、Ey、fe,表示火焰的膨脹或跳動;&(1)、&(1),表示火焰頂端的發(fā)散(X、Z軸)。步驟3在步驟2生成誤差函數(shù)的基礎(chǔ)上,判斷火焰模型誤差是否小于誤差閾值。若是,則本方法結(jié)束;否則,跳轉(zhuǎn)到步驟;其中誤差閾值可以根據(jù)用戶對火焰模型的需求進(jìn)行確定。步驟4使用梯度下降的方法,調(diào)整火焰模型的控制參數(shù);梯度下降法,就是利用負(fù)梯度方向來決定每次迭代的新的搜索方向,使得每次迭代能使待優(yōu)化的目標(biāo)函數(shù)逐步減采用梯度下降法進(jìn)行迭代的具體步驟為1)選取初始點(diǎn)徹,給定梯度的接受誤差α,以及下降量的接受誤差β,使α > 0, β >0,并令迭代次數(shù)k = 0;
Λ (k)2)計(jì)算負(fù)梯度 ⑷=_ν/(‘)及其單位向量χ ;其中,( 為原函數(shù),ν為哈密頓算符,用來計(jì)算/( 在點(diǎn);處的梯度;3)檢查是否滿足條件I |S(k)| I ( α,若滿足則轉(zhuǎn)8),否則繼續(xù);4)計(jì)算最佳步長P k ;
權(quán)利要求
1.一種采樣反饋的火焰模型參數(shù)自動獲取與優(yōu)化方法,其特征在于包括(1)采用粒子系統(tǒng)的方法,根據(jù)初始的模型參數(shù)和控制參數(shù)建立火焰模型;(2)在步驟(1)建立火焰模型后,分析當(dāng)前火焰模型和真實(shí)火焰的誤差,生成誤差函數(shù);(3)在步驟( 生成火焰模型的誤差函數(shù)后,判斷火焰模型誤差是否小于誤差閾值,若是,則本方法結(jié)束;否則,跳轉(zhuǎn)到步驟;(4)使用梯度下降的方法,調(diào)整火焰模型的控制參數(shù);(5)在步驟的調(diào)整的火焰模型的控制參數(shù)的基礎(chǔ)上,根據(jù)調(diào)整后的火焰模型的控制參數(shù)修正火焰模型;(6)在步驟( 建立修正后的火焰模型的基礎(chǔ)上,跳轉(zhuǎn)到步驟(3)。
2.根據(jù)權(quán)利要求1所述的一種采樣反饋的火焰模型參數(shù)自動獲取與優(yōu)化方法,其特征在于所述步驟(1)中模型參數(shù)包括粒子的數(shù)目num,粒子的初始顏色initialColor、初始透明度initialAlpha ;其中粒子的數(shù)目num初始值為不影響模擬效果下所使用的最少粒子束;粒子的初始顏色initialColor是基本色,粒子的顏色將從initialColor逐漸向背景顏色轉(zhuǎn)變;粒子的初始透明度initialAlpha = 1. 0,透明度是一個(gè)從0變化到1的實(shí)數(shù);所述的控制參數(shù)包括ΔΧ、Ay、Δ Ζ,分別表示火焰在X,Y,Z軸上的運(yùn)動;Ex、Ey、Ez,表示火焰的膨脹或跳動;(i)、Sz (i),表示火焰在X、Z軸頂端的發(fā)散。
3.根據(jù)權(quán)利要求1所述的一種采樣反饋的火焰模型參數(shù)自動獲取與優(yōu)化方法,其特征在于所述步驟O)中火焰模型的誤差函數(shù)定義如下d = f ( Δ χ,Δ y, Δ ζ, Ex, Ey, Ez, Sx (i), Sz (i))其中d表示火焰模型的誤差;Δ χ、Ay、Δ z,分別表示火焰在X,Y,Z軸上的運(yùn)動;Ex、 Ey、fe,表示火焰的膨脹或跳動;(i)、Sz (i),表示火焰在X、Z軸頂端的發(fā)散。
4.根據(jù)權(quán)利要求1所述的一種采樣反饋的火焰模型參數(shù)自動獲取與優(yōu)化方法,其特征在于所述步驟中梯度下降法為利用負(fù)梯度方向來決定每次迭代的新的搜索方向,使得每次迭代能使待優(yōu)化的目標(biāo)函數(shù)逐步減??;在每次迭代時(shí),迭代步長Pk隨著k的改變而改變,且滿足Pk ^ ~T^ ;其中 為迭代過程中第k次的取值,^(” = {s㈨γ,s(k)表示梯度下降的搜索方向。
全文摘要
本發(fā)明涉及一種采樣反饋的火焰模型參數(shù)自動獲取與優(yōu)化方法,屬于虛擬現(xiàn)實(shí)科學(xué)技術(shù)領(lǐng)域。本發(fā)明的技術(shù)方案為根據(jù)設(shè)定的初始速度、初始大小等參數(shù)值生成基于粒子系統(tǒng)的火焰模型;分析當(dāng)前火焰模型和真實(shí)火焰的誤差,生成火焰模型的誤差函數(shù);采用梯度下降的反饋方法,動態(tài)的調(diào)整火焰模型的控制參數(shù);按照調(diào)整后的參數(shù)修正火焰模型,并進(jìn)行誤差反饋,直至火焰模型與真實(shí)火焰的誤差值低于誤差閾值。本發(fā)明克服了傳統(tǒng)火焰模型建立過程中存在的模型參數(shù)難以確定的問題,通過定義了火焰模型的誤差函數(shù),提出了一種自動獲取模型參數(shù)的方案,優(yōu)化了建立的火焰模型。
文檔編號G06T17/00GK102184568SQ201110130039
公開日2011年9月14日 申請日期2011年5月19日 優(yōu)先權(quán)日2011年5月19日
發(fā)明者吳威, 吳蕊, 周忠, 趙沁平 申請人:北京航空航天大學(xué)