郭燁旻
(吉林省國際商務學校,吉林長春 130012)
粒子系統(Particle System)是Reeves在1983年提出的利用粒子模擬自然場景的一種技術,多用于模擬雨、雪、水流、爆炸、煙霧等場景[1]。由于這些場景都是根據物理模型計算出來的,也可以說,粒子系統是基于物理原理的一種建模方法。在本文中首先使用粒子系統建立云霧的三維框架模型,在形成的框架中使用過程紋理函數對云模型進行紋理映射,最后應用公告板技術完成云模型的繪制。
應用粒子系統將景物定義為由成千上萬個不規則并且是隨機分布的粒子組成,每個粒子都有一定的生命周期,每時每刻都在不斷地運動和改變形態,由諸多粒子的集合而不是個別粒子形成了景物的整體形態和特征以及動態變化[2]。
通過控制粒子的運動將云的擴散以及氣流對云的作用表示出來,在這一變化發生的過程中由粒子的分布規律以及濃度屬性得到總的粒子分布濃度場。其中粒子的主要屬性為:粒子的速度、位置、加速度、作用半徑以及濃度函數。粒子的作用半徑和濃度函數之間的關系如圖1所示。

圖1 半徑和濃度函數之間的關系
其中粒子的作用半徑為R,通過系統設置濃度域值p,通過解方程f(R,t)=p,得以確定粒子的作用范圍R。現實生活中,自然界的云其實是由無數個液態的小水珠集合在一起形成的,所以在進行云模型架構時使用粒子代替小水珠,模型的構建過程如圖2所示。

圖2 模型的構建過程
應用根據云的物理模型制作的紋理貼片代替生成的粒子,該紋理具有云粒子的大小、形狀、透明度、顏色等特性。而且根據場合和云精細程度的需要,使用過程紋理貼片代替一個或多個粒子,用稍微復雜的貼片可以減小粒子的數目而達到相同的效果,以提高性能。粒子紋理可以根據算法生成,也可以使用現有的圖像[5]。在構建云內的粒子時,由于粒子過多,不能采用OpenGL提供的點或者三維型體來代表微小的粒子,因為系統性能無法承受,而且alpha混合的時候也不美觀。本文采用紋理映射和Billboard技術來實現云的繪制。
在具體的云紋理采樣過程中應用二維高斯正態分布函數公式:

生成的云霧紋理定義在水平直角坐標系[-1.0,1.0]×[-1.0,1.0]區間內,G(u,v)用來計算點(u,v)處的灰度值,σ為高斯分布的方差。在公式中引入中心峰值調制系數ρ,其取值范圍是[0,2πσ],根據實際模擬經驗當峰值為0.4時最為接近自然效果,同時ρ=σ。
公告板 (Billboard)技術是一項非常實用的技術,它可以用一種簡單的方式來完成很多特別的效果。公告板技術的原理其實很簡單,就是使用兩個三角形組成的矩形來顯示一個位圖,在顯示過程中這個矩形面板根據攝像機的觀察角度和位置而變化。粒子在三維的空間中運行,其位置分布也是三維的,但是由于通常的紋理映射技術都是二維的,所以當視點在場景當中運動時,可能由于相互角度的關系而發生失真現象,當視線平行于紋理映射平面時,甚至完全看不到物體的存在。我們應用公告板技術使生成的過程紋理跟隨視角變化,利用二維的紋理函數模擬三維的渲染效果[5]。
在粒子填充完以后,根據云圖可以進一步調整云的效果。因為粒子的屬性直接影響到云的效果,粒子的大小直接關系到云的分辨率,當視點較近時,粒子尺寸應該較小,而當視點較遠時,粒子尺寸較大。粒子的密度直接影響到云的厚度和顏色,而顏色和透明度則間接反映了光照程度,因此通過調整粒子的密度和、顏色及透明度就可表現出光照的影響。在繪制過程中,可以通過隨機地控制與粒子有關的這些參數來增加真實感。為了更好地模擬云彩效果,我們還可控制云團邊緣的半透明度比中心的半透明度高,這樣,在云粒子集中的地方,會呈現出亮白色;還可采用色彩融和的技術,把云粒子本身的顏色和天空面的背景顏色很好地融和起來,在云粒子分散的地方,會略微呈現出天空的背景面,這樣就能得到較為真實的效果。
使用java構建粒子系統,應用OpenGL對生產的系統進行渲染具體步驟如圖2所示:

圖2 粒子系統生成步驟
本文應用粒子系統與紋理過程函數相結合的方法對自然景物中的云霧模型進行模擬,在具體的模型繪制過程中應用紋理映射和Billboard技術來實現,從而提出了一種多種建模方式相結合的模擬不規則物體的全新方法。
[1]Reeves T.Particle systems—a technique for modelinga class offuzzyobjects[J].ACMTransactions on Graphics,1983,2(2):91-108.
[2]Harris MJ.Real-time cloud simulation and rendering[D].Carolina:UniversityofNorth Carolina,2003.
[3]袁霞,張玉啄.粒子系統方法及其應用[J].云南師范大學學報:自然科學版,2003(3):14-16.
[4]張芹,吳慧中,張健.基于粒子系統的建模方法研究[J].計算機科學,2003(8):144-146.
[5]馬繼峰,彭曉源,馮勤,等.三維特殊效果庫的研究與實現[J].光電技術應用,2003(4):34-38.
[6]羅玉玲.粒子系統與紋理映射相結合模擬禮花的研究[J].電腦知識與技術,2004(20):70-72.
[7]魏海燕.虛擬制造技術的相關概念及其應用[J].機械工程師,1999(9):1-2.