摘要:在視景仿真中, 尤其是在三維云建模領(lǐng)域,對(duì)云的建模和實(shí)時(shí)渲染是一項(xiàng)十分具有挑戰(zhàn)性的研究課題。針對(duì)現(xiàn)有三維云建模逼真程度低、計(jì)算復(fù)雜等問題,提出從元球模型的角度進(jìn)行研究,建立了基于變形球融合模型的三維云建模方法。與以往云建模方法相比,該方法具有云團(tuán)生成快速和云渲染效果好的特點(diǎn)。
關(guān)鍵詞:三維云;粒子系統(tǒng);建模;元球模型
DOIDOI:10.11907/rjdk.143762
中圖分類號(hào):TP302.4
文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào)文章編號(hào):16727800(2015)001001902
基金項(xiàng)目基金項(xiàng)目:
作者簡介作者簡介:李陽(1987-),男,江蘇東臺(tái)人,解放軍理工大學(xué)氣象海洋學(xué)院碩士研究生,研究方向?yàn)榇髿夂Q筮b感;孔毅(1954-),男,遼寧大連人,解放軍理工大學(xué)氣象海洋學(xué)院教授,研究方向?yàn)檐娛滦畔⑾到y(tǒng)工程;陳基偉(1991-),男,河南信陽人,解放軍理工大學(xué)氣象海洋學(xué)院碩士研究生,研究方向?yàn)閳D像信息處理;趙現(xiàn)斌(1986-),男,陜西渭南人,解放軍理工大學(xué)氣象海洋學(xué)院博士研究生,研究方向?yàn)榇髿夂Q筮b感。
0 引言
云是天氣現(xiàn)象不可或缺的元素之一,它是由大量小水滴、小水晶等粒子隨機(jī)組成的復(fù)雜系統(tǒng)。在虛擬環(huán)境中模擬自然天氣場(chǎng)景或者大氣環(huán)境時(shí),模擬的云層覆蓋了地球表面積的一半,因此對(duì)云層的模型建模研究和繪制技術(shù)是戶外場(chǎng)景模擬的核心技術(shù)[1]。近年來,隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,云在仿真、動(dòng)畫、虛擬戰(zhàn)場(chǎng)、天氣可視化、大氣海洋環(huán)境模擬等領(lǐng)域的應(yīng)用越來越廣泛,人們對(duì)虛擬環(huán)境真實(shí)感的需求越來越高。但是云具有不規(guī)則性、不光滑性、不確定性以及形狀多變性,使得人們很難用精確模型去描述它,實(shí)現(xiàn)云的逼真模擬一直是計(jì)算機(jī)圖形學(xué)中研究的熱點(diǎn)和難點(diǎn)。在過去的20多年里,經(jīng)過大量學(xué)者和研究人員努力探索研究,提出了一些云建模的仿真方法,并取得了豐富的研究成果,其中較為有效的云建模方法有以下幾種:①文獻(xiàn)[2]利用多次云紋理疊加,紋理數(shù)據(jù)量大、計(jì)算復(fù)雜度高,且難以實(shí)時(shí)繪制顯示;②文獻(xiàn)[3]利用粒子系統(tǒng)模擬顯示三維實(shí)體云,這種算法對(duì)CPU負(fù)荷較大,難以實(shí)時(shí)繪制;③文獻(xiàn)[4]、[5]用分形的方法建立云的模型,這種方法生成的云相似程度很高,難以辨別;④文獻(xiàn)[6]基于過程的方法建立云模型和利用流體動(dòng)力學(xué)方程生成云,需要建立復(fù)雜的物理模型來生成云的近似。
針對(duì)以上方法存在逼真程度差、計(jì)算復(fù)雜度高的缺點(diǎn),本文探索了一種基于變形球融合系統(tǒng)的新型三維實(shí)體云建模方法,具有生成速度快、繪制效果好的優(yōu)點(diǎn)。
1 變形球理論
變形球[78]是在某區(qū)域內(nèi)通過一組基本元球的疊加來模擬云的形狀,這些元球具有中心、半徑和密度等屬性,并可以調(diào)整這些屬性值的大小。1996年,Y.Dobashi等人利用分形幾何把云的基本形狀定義為簡單球體,并從不同方向?qū)@些云球做某些變形后將初始的云球隨機(jī)縮小,然后在偏離原來元球中心的不同方位上小位移處進(jìn)行多次隨機(jī)復(fù)制,該過程一直繼續(xù)下去,直到最后的迭代層次,即達(dá)到或小于一個(gè)屏幕像素為止,最后繪制出縮放后的球,再利用光照效果將形狀表現(xiàn)為云團(tuán)。在建立云的分形模型中,為了獲得云更加逼真的外觀,把球的色彩看作是它到地面高度的函數(shù),較黑的灰色用于云的較高部分,隨著高度增加,灰度逐漸變淡,通過顏色密度和放倍數(shù)的簡單改變,就可以繪制出從烏云到白云的外觀逼真的云團(tuán)。這一思想稱為變形球理論,本文論述的云建模正是基于變形球模型展開。
2 三維云的生成算法實(shí)現(xiàn)
在采用元球模型進(jìn)行云建模時(shí),本文首先定義生成單個(gè)元球,然后根據(jù)元球的空間幾何位置,進(jìn)行元球間的相互融合和疊加顯示,聚集成云的形狀。分別如圖1和圖2所示。
圖1 元球 圖2 云
2.1 元球生成
首先確立云團(tuán)的覆蓋范圍大小,需要設(shè)置一個(gè)云團(tuán)包圍盒,中心點(diǎn)坐標(biāo)即為云團(tuán)中心,設(shè)置元球生成數(shù)目,隨機(jī)產(chǎn)生元球中心坐標(biāo),然后根據(jù)元球半徑大小,搜索所有在這一包圍盒內(nèi)的所有元球,并標(biāo)記每一元球相對(duì)位置。元球的定義為:
struct Sphere
{
VECTOR3 C;//頂點(diǎn)數(shù)據(jù)
float R;//元球半徑
Sphere(){}
Sphere(VECTOR3 c, float r)
{
C.x = c.x; C.y = c.y; C.z = c.z;
R = r;
}
};
2.2 元球聚集融合顯示云
在元球聚集生成三維云顯示時(shí),需要進(jìn)行多層次間的元球融合。為此定義一個(gè)局部的隱函數(shù)來確定空間每一位置的疊加數(shù)據(jù),通過這種方式定義的元球模型,其對(duì)融合后效果的影響是其半徑延伸的末端變?yōu)榱?。本文選取的隱函數(shù)是嚴(yán)格遞減的,同時(shí)考慮到生成的隱函數(shù)最好符合參數(shù)少、易于控制等特點(diǎn),那么對(duì)元球i設(shè)置具體隱函數(shù)定義如下:
Fi(ri,Ri)=(1+bi)2-ri2(1+bi)Ri2-biri4(1+bi)Ri4+12·ci,r∈[0,Ri]0,其它(1)
式中ri為空間任意點(diǎn)p到元球i中心的距離;Ri為元球i的有效半徑;ci為元球中心強(qiáng)度值,假設(shè) Rmax是所有元球中的最大半徑,取ci=Ri/Rmax,此項(xiàng)用于控制每個(gè)元球相應(yīng)的中心密度值。這樣能保證由這些元球生成的整個(gè)云的密度場(chǎng)的變化更加平滑。最終膨脹場(chǎng)由所有元球定義的域的整合結(jié)果疊加得到。但是這種疊加產(chǎn)生的效果是不自然的場(chǎng)強(qiáng)過渡,因此本文采用一種遞歸合并的方式融合最終結(jié)果以產(chǎn)生平滑的強(qiáng)度變化。具體算法如下:
ρ1(p)=F1(p)(2)
ρi(p)=ρi-1(p)+Fi(p)-ρi-1(p)·Fi(p),i=2,3,…,n(3)
式中ρi(p)是由i個(gè)元球整合而成的域值,n是元球的數(shù)目。圖3和圖4分別為運(yùn)用算法前后效果圖。
2.3 噪聲添加
由元球聚合產(chǎn)生的云的密度場(chǎng),只具備了三維云的外形輪廓,并不具備云的絮狀特征,因此為了進(jìn)一步賦予云的外形特征,通過過程噪聲[9]在上述已創(chuàng)建形狀的基礎(chǔ)上增加細(xì)節(jié),模擬云的無規(guī)則邊界特性。
圖3 運(yùn)用算法前效果 圖4 運(yùn)用算法后效果
添加噪聲的具體步驟為:在每一個(gè)元球的邊界添加噪聲,再在元球聚合體邊界添加噪聲。對(duì)于在元球B的影響下密度強(qiáng)度非零的點(diǎn)p,首先計(jì)算該點(diǎn)的法向,即單位化點(diǎn)p到B的中心的方向矢量;然后指定一個(gè)中心在點(diǎn)p沿法向向兩邊擴(kuò)展半徑為R的區(qū)域;最后將p點(diǎn)的密度值映射至該區(qū)域中的任意一點(diǎn)的密度值。上述方法實(shí)際上將p點(diǎn)的域值替換為一個(gè)新的隨機(jī)值。下列方程是該映射的具體算法。
S(p)=p+np·(-R+Min(2R·randRMAX,2R)(4)
其中,np為p點(diǎn)的法向;R是點(diǎn)區(qū)域的半徑;rand是個(gè)隨機(jī)整數(shù);RMAX為半徑的最大值。單個(gè)元球噪聲疊加的模擬結(jié)果如圖5所示。
圖5 單個(gè)元球噪聲疊加效果
最終得到的云的形狀效果分別如圖6、圖7所示。
圖6 普通云的形狀 圖7 三維云形狀
3 結(jié)語
本文提出的云建模方法,核心思想是基于粒子系統(tǒng)三維云的建模,采用基于本文提出的元球模型,避免了生成大規(guī)模粒子對(duì)計(jì)算機(jī)硬件的特殊要求,對(duì)CPU和GPU性能要求不高,適合普通電腦。在進(jìn)行云團(tuán)的生成構(gòu)建時(shí),不同的參數(shù)可以構(gòu)建生成不同類型的云,如卷云、積云等,同時(shí)從結(jié)果上看,云的畫面顯示流暢,可以滿足某些場(chǎng)合的需要。
參考文獻(xiàn):
[1] 劉世光,彭群生.氣象景觀的真實(shí)感模擬技術(shù)綜述[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2008,20(4): 409416.