亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        云的模擬技術(shù)綜述

        2009-01-01 00:00:00徐曉剛陳新來(lái)

        (1.海軍蚌埠士官學(xué)校 a.信息技術(shù)系; b.機(jī)電系,安徽 蚌埠 233012; 2.大連艦艇學(xué)院 裝備系統(tǒng)與自動(dòng)化系, 遼寧 大連116018)

        摘 要:

        云是一種常見(jiàn)的自然現(xiàn)象,它沒(méi)有確定的表面、確定的邊界,且其特征不斷變化,對(duì)它的模擬被認(rèn)為是計(jì)算機(jī)圖形學(xué)中最具有挑戰(zhàn)性的課題之一,在飛行模擬器、電影制作、虛擬戰(zhàn)場(chǎng)仿真等方面具有廣泛的應(yīng)用前景。從云的形狀、動(dòng)態(tài)特性、光照效果三個(gè)方面,對(duì)現(xiàn)有的云的模擬方法進(jìn)行了綜述,分析了幾種典型算法,討論了現(xiàn)有算法存在的問(wèn)題和進(jìn)一步的發(fā)展方向。

        關(guān)鍵詞:云; 實(shí)時(shí); 模擬; 粒子系統(tǒng); 體素

        中圖分類(lèi)號(hào):TP301.6文獻(xiàn)標(biāo)志碼:A

        文章編號(hào):10013695(2009)04120505

        Cloud simulation technique review

        WU Jing1a, XU Xiaogang2, CHEN Xinlai1a,MAO Ming1b

        (1. a.Dept. of Information Technology, b.Dept. of Electromechanical, Bengbu Naval Petty Officer Academy, Bengbu Anhui 233012,China; 2. Dept. of Automatization, Dalian Naval Academy, Dalian Liaoning 116018, China)

        Abstract:

        Cloud is a natural phenomenon existed here and there. For its special character in no definite surface, no definite boundary, and timechanging shape, cloud rendering is regarded as one of the most challenge subject in computer graphics. Cloud simulation has great potential applications, such as the flight simulation, movie, and virtual battlefield etc. This paper described an overview of the algorithm about cloud rendering from shape, dynamic character and light scattering effect aspect. Further more, analyzed several typical approaches in detail. Finally, discussed the existed problems and future work.

        Key words:cloud; realtime; simulation; particle system; voxel volumes

        0 引言

        作為天氣系統(tǒng)的一個(gè)組成部分,云是天氣樣式和天氣變化的一個(gè)重要指示器,因此,云的模擬是自然環(huán)境仿真的一個(gè)重要組成部分。但是,由于云具有復(fù)雜的結(jié)構(gòu)、變化多端的動(dòng)力學(xué)特征以及特殊的光照效果,要實(shí)現(xiàn)大規(guī)模場(chǎng)景的實(shí)時(shí)繪制十分困難。

        云對(duì)飛行員的影響是巨大的,無(wú)論是常規(guī)飛行還是執(zhí)行任務(wù),有些云極具危險(xiǎn)性,需要規(guī)避,有些云可以利用來(lái)進(jìn)行交戰(zhàn)和攻擊。在交互式的模擬飛行器中,飛行員希望在真實(shí)的、有一定體積的云里或周?chē)w行,并且能看到其他飛行器穿越它們和在它們后面飛行的真實(shí)場(chǎng)景;更完美的情況下,希望模擬的云能夠像真實(shí)的云那樣生長(zhǎng)、消散、隨風(fēng)和受其他外力而運(yùn)動(dòng)、與光線相互作用呈現(xiàn)不同的色彩。因此云的實(shí)時(shí)繪制受到越來(lái)越多研究人員的關(guān)注,成為計(jì)算機(jī)圖形學(xué)領(lǐng)域研究的熱點(diǎn)之一。在過(guò)去二十多年中,研究人員先后提出了多種方法,試圖解決云的模擬問(wèn)題,代表性工作有Harris等人[1,2]在體素模型的基礎(chǔ)上采用求解偏微分方程來(lái)模擬云的動(dòng)態(tài)效果; Umenhoffer等人[3]在particle blocks的基礎(chǔ)上用depth impostors進(jìn)行渲染,Wang[4]在粒子系統(tǒng)的基礎(chǔ)上采用紋理貼圖的方法,Dobashi等人[5,6]在體素網(wǎng)格上使用細(xì)胞自動(dòng)機(jī)方法模擬,采用Splatting樣條算法進(jìn)行繪制等。但從目前的研究工作看,現(xiàn)有算法還不能滿(mǎn)足模擬的要求,特別是大規(guī)模場(chǎng)景實(shí)時(shí)繪制的需求還有許多問(wèn)題亟待解決。本文根據(jù)現(xiàn)有算法采取的策略進(jìn)行了歸類(lèi),總結(jié)了各算法的優(yōu)缺點(diǎn),并指出了今后研究的方向。

        1 云的模擬方法分類(lèi)

        云的特性可從三個(gè)方面進(jìn)行描述:a)云的形狀,包括云的外形和密度分布;b)云的動(dòng)力學(xué)特性,即運(yùn)動(dòng)演變過(guò)程;c)云的光照效果等。

        1.1 云的形態(tài)模擬

        自然界中的云是由體密度隨空間和時(shí)間變化的小水滴和冰晶組成,要對(duì)云中的每個(gè)水滴和冰晶作精確的描述需要很大的計(jì)算量和占用很大的內(nèi)存,因此純粹從物理的角度來(lái)描述云比較困難,需要根據(jù)不同的需求,采用各種逼近方法來(lái)模擬云的形狀。目前常用的方法有如下六種:

        a)基于粒子系統(tǒng)(particle system)的模擬方法。粒子系統(tǒng)是描述非規(guī)則物體的常用方法之一。粒子系統(tǒng)用一個(gè)具有某些特性的粒子集合來(lái)描述物體。單個(gè)粒子的屬性包括三維空間坐標(biāo)、半徑、顏色、紋理等性質(zhì)。該方法由Reeves[7]在1983年首先提出,其目的是用來(lái)模擬類(lèi)似云的模糊物體。粒子可通過(guò)建模工具生成,也可用程序生成。在后續(xù)的工作中,很多研究者采用該方法來(lái)模擬云的形狀,獲得了較好的效果。該方法特點(diǎn)是簡(jiǎn)單、代碼量少、描述相同細(xì)節(jié)等級(jí)時(shí)比采用其他方法需要的內(nèi)存少;但當(dāng)繪制細(xì)節(jié)程度較高的物體時(shí)消耗大,需要很大的粒子數(shù)。

        b)采用Metaball的模擬方法。該方法是用具有不同密度的離散Metaball進(jìn)行疊加來(lái)描述云的基本形狀。單個(gè)Metaball可用中心坐標(biāo)、半徑、濃度來(lái)定義。用這種方法生成的云體可以用很多種方法進(jìn)行繪制,包括光線跟蹤算法和Splatting樣條算法。典型工作有:1996年Nishita等人[8]人為設(shè)定一些Metaball來(lái)模擬云的基本形狀,再在這些Metaball的表面上用不規(guī)則的幾何碎片生成一些新的Metaball來(lái)添加細(xì)節(jié)。1998年Dobashi等人[9]用離散化的Metaball來(lái)模擬衛(wèi)星所拍攝的云層圖像。該方法適合表現(xiàn)靜態(tài)的精細(xì)云圖,不適合于大規(guī)模場(chǎng)景中云的動(dòng)態(tài)繪制。

        c)基于體素的模擬方法(voxel volumes)。它也是一種常見(jiàn)的方法,體素類(lèi)似于一個(gè)三維的像素,是個(gè)小立方體。此方法是把給定的立體空間均勻地分割成相等的體素樣本,這些體素可以采用由前到后或由后到前的方法來(lái)進(jìn)行繪制?,F(xiàn)有的很多體繪制工作均可用于云的繪制[10,11]。在基于物理過(guò)程模擬的方法中,體素是一種典型的方法。1984年Kajiya等人[12]演示了一個(gè)簡(jiǎn)單的基于物理過(guò)程的云的模擬,計(jì)算的結(jié)果存儲(chǔ)在每個(gè)體素中,用光線跟蹤的方法進(jìn)行繪制;Dobashi等人[5,6]在體元素網(wǎng)格上使用細(xì)胞自動(dòng)機(jī)(cellular automata)的方法對(duì)云進(jìn)行模擬,用Splatting樣條算法進(jìn)行繪制;2002年Overby[13]采用求解偏微分的方法在體素網(wǎng)格上生成云;2003年Harris[1]也采用體元素模型對(duì)云的動(dòng)態(tài)效果進(jìn)行模擬。該方法可以實(shí)現(xiàn)較真實(shí)的動(dòng)態(tài)云的繪制,但由于計(jì)算量較大,同樣不適合大規(guī)模云的實(shí)時(shí)繪制。

        d)噪聲模型的方法(procedural noise)。該方法也是一種生成云的形狀的重要技術(shù),它以噪聲為基礎(chǔ),通過(guò)對(duì)噪聲的不同操作生成隨機(jī)且連續(xù)的密度數(shù)據(jù)來(lái)填充云體。噪聲模型首先由Perlin提出,后來(lái)Ebert等人[14~16]在此基礎(chǔ)上做了大量的工作,包括計(jì)算煙、水蒸氣、云的真實(shí)圖像,用一組隱函數(shù)來(lái)描述一個(gè)立體空間,再用噪聲去干擾此空間來(lái)生成三維的云。此外,Schpok等人[17]在Ebert工作的基礎(chǔ)上采用可編程的GPU實(shí)現(xiàn)了更快、更逼真的三維云繪制。該方法簡(jiǎn)單,但不利于大規(guī)模場(chǎng)景中云的繪制。

        e)Textured Solids方法。與基于體素的表現(xiàn)方法不同,該方法具有一定的獨(dú)特之處 [18~20]。Gardner[18]用不規(guī)則的紋理面片映射到橢球表面來(lái)模擬云的形狀,通過(guò)把多種紋理與橢圓體綁定在一起生成了逼真的云。2001年Elinas[19]在此基礎(chǔ)上作了改進(jìn),可以交互式地繪制由多種橢球體組成的云。此外,Vane[21]采用三維紋理來(lái)模擬云,先用改進(jìn)的Perlin噪聲算法生成云的體數(shù)據(jù)空間,再對(duì)三維的紋理進(jìn)行切片處理,把這些切片映射回體數(shù)據(jù)空間,最后再對(duì)其進(jìn)行混色操作。用這種方法生成的云比用直接用噪聲獲得的效果更好。

        f)基于網(wǎng)格的描述方法。該方法用與視點(diǎn)相關(guān)的多層次細(xì)節(jié)網(wǎng)格來(lái)描述體數(shù)據(jù),通過(guò)在不同等級(jí)網(wǎng)格之間平滑差值來(lái)解決裂縫問(wèn)題。此方法多應(yīng)用于地形的繪制,目前只有Roettger等人[22]采用該方法模擬云,用八叉樹(shù)來(lái)描述不同細(xì)節(jié)等級(jí)的體數(shù)據(jù),用體繪制方法對(duì)其進(jìn)行繪制。此方法可實(shí)現(xiàn)較大規(guī)模三維云的繪制,還可以繪制各種天氣條件,包括多云天和暴風(fēng)雨來(lái)臨時(shí)的烏云。其優(yōu)點(diǎn)是能有效地繪制各種形狀的云,且在繪制的規(guī)模上較體素法、Metaball法大,但不利于模擬云的動(dòng)態(tài)變化。

        1.2 云的動(dòng)態(tài)特性模擬

        云的動(dòng)態(tài)變化成因包括大氣的運(yùn)動(dòng)、水的凝結(jié)和蒸發(fā)、溫度變化引起的熱力學(xué)運(yùn)動(dòng)等。這些因素很難描述,因此對(duì)云的動(dòng)態(tài)模擬更為復(fù)雜。若從實(shí)際物理模型來(lái)計(jì)算,即使是模擬一段短時(shí)間內(nèi)云的演化過(guò)程也需要很長(zhǎng)的時(shí)間,為獲得實(shí)時(shí)的變化效果,必須采用合理的簡(jiǎn)化模型來(lái)實(shí)現(xiàn)繪制。

        首次描述動(dòng)態(tài)變化的云由Kajiya等人[12]在1984年完成。他們通過(guò)求解一組簡(jiǎn)單的偏微分方程,生成光線跟蹤算法所需的體數(shù)據(jù)。求解的方程包括不可壓縮流體的NavierStrokes方程、只考慮溫度水平對(duì)流和潛伏熱影響的簡(jiǎn)單熱力學(xué)方程、簡(jiǎn)單的流動(dòng)體方程等。這種方法在VAX 11/780上對(duì) 10×10×20大小的數(shù)據(jù)刷新一次需要10 s,云的變化時(shí)間間隔取1 s。2002年Overby[13]描述了與此類(lèi)似的求解偏微分方程的方法,但模型的細(xì)節(jié)等級(jí)略高,使用Stam[23]提出的穩(wěn)定流體算法來(lái)求解NavierStrokes方程。該算法允許較大的時(shí)間步長(zhǎng),在800 MHz Pentium3的機(jī)器上,每秒鐘刷新15×50×15大小的數(shù)據(jù)一次。2003年Harris等人[1]也采用求解偏微分的方法來(lái)模擬云的動(dòng)態(tài)效果,采用了圖形硬件加速動(dòng)態(tài)方程的解算,用三維紋理來(lái)改進(jìn)效果,同時(shí)實(shí)現(xiàn)了交互式的仿真。其他類(lèi)似的工作還有Mizuno等人[24]提出的2FM (2 fluids model),該方法主要用來(lái)模擬火山噴發(fā)時(shí)的云。2002年Miyazaki等人[25]也用computational fluid dynamics方法來(lái)模擬積云,取得了較好的效果。

        為降低計(jì)算量,以犧牲繪制效果為代價(jià),一些研究工作采用了更簡(jiǎn)單的模擬技術(shù)。Neyret[26]運(yùn)用活動(dòng)的粒子系統(tǒng)來(lái)模擬云的運(yùn)動(dòng)行為,模擬了對(duì)流云的旋轉(zhuǎn)運(yùn)動(dòng)。該方法適合于對(duì)流特征明顯的卷積云的動(dòng)態(tài)效果模擬。Dobashi等人[6]運(yùn)用細(xì)胞自動(dòng)機(jī)的方法來(lái)模擬云的動(dòng)態(tài)效果。該模型是Nagel提出的細(xì)胞自動(dòng)機(jī)的改進(jìn)型,可以模擬云的生長(zhǎng)和消散效果。該方法可以在 500 MHz Pentium3雙核的機(jī)器上,耗時(shí) 0.5 s刷新 256×256×20大小的數(shù)據(jù)。

        與文獻(xiàn)[6]類(lèi)似,Miyazaki等人[27]提出了coupled map lattices (CML)算法。 CML模型是細(xì)胞自動(dòng)機(jī)模型的一個(gè)拓展,Miyazaki使用的CML模型采用了氣流運(yùn)動(dòng)的方程,包括不可壓縮近似方程和水平對(duì)流方程、水蒸氣和溫度傳播方程、浮力和狀態(tài)變換等,在 1 GHz Pentium3的機(jī)器上,可在 256×256×40格上取 3~5 s的時(shí)間間隔, 10 s刷新一次。

        近幾年,由于圖形硬件的迅速發(fā)展,很多研究者提出利用圖形硬件加速來(lái)模擬云的動(dòng)力學(xué)特性。這種方法充分發(fā)揮了現(xiàn)有的圖形處理器(GPU)的強(qiáng)大計(jì)算能力,大大加快了云的動(dòng)態(tài)效果的生成速度。代表性的工作如文獻(xiàn)[1,17,28]。但從算法的效果來(lái)看,它們離滿(mǎn)足實(shí)際需求還有一定距離。

        1.3 云的光照效果模擬

        除了形狀和動(dòng)態(tài)特性外,云的光照效果非常重要。受光線照射后,云能呈現(xiàn)色彩斑斕的形態(tài)。1982年,Blinn[29]在研究云對(duì)光的反射特性和散射特性時(shí),第一次提出了光與粒子相互作用的簡(jiǎn)單模型,但這種方法有一定的局限性,只適用于較低散射率的媒質(zhì)。光線經(jīng)過(guò)散射率較低的媒質(zhì)時(shí)發(fā)生的是單次散射(single scattering), 指光子經(jīng)過(guò)媒質(zhì)時(shí),絕大部分粒子只發(fā)生一次散射;而由較高散射率粒子組成的媒質(zhì)與光的相互作用十分復(fù)雜,這時(shí)發(fā)生的是多重散射(multiple scattering), 指光子經(jīng)過(guò)媒質(zhì)時(shí)發(fā)生了多次散射, 求解多次散射時(shí)需要的計(jì)算量很大。為了提高速度,在實(shí)現(xiàn)過(guò)程中通常要對(duì)模型進(jìn)行簡(jiǎn)化。常用的有以下六種方法:

        a)Spherical harmonics 方法。它是在球體坐標(biāo)中用拉普拉斯算法求解角度的方法。Spherical harmonics構(gòu)成了一個(gè)完整的標(biāo)準(zhǔn)正交基,任何一個(gè)函數(shù)可以用一組有限的spherical harmonics展開(kāi)式表示。該方法適合于計(jì)算光的多重散射[12,30].

        1995年Jos Stam對(duì)Kajiya等人運(yùn)用spherical harmonics 方法得到的n階表達(dá)式進(jìn)行了解釋?zhuān)嘀厣⑸淇山普J(rèn)為是光能的擴(kuò)散,也就是說(shuō)在媒質(zhì)中的任何區(qū)域,光子可以沿任何方向運(yùn)動(dòng),這種光被稱(chēng)為漫反射光 [12]。與Kajiya等人一樣,他也用體素來(lái)描述散射媒質(zhì),并介紹了兩種求解光強(qiáng)的方法:(a)把漫反射的近似值按照體素格離散化構(gòu)成一組線性方程組,再用multigrid method方法求解;(b)有限元方法。

        b)有限元方法。它是另外一種用于求解光線傳播偏微分方程的方法。該方法的主要思想是:將一個(gè)函數(shù)近似劃分為多個(gè)小塊或元素,這樣該函數(shù)用一系列簡(jiǎn)單的基函數(shù)表示。輻射度法是其中典型的方法,用于計(jì)算面之間的漫反射。首先把表面劃分為一系列的小元素,這樣輻射度可以用一組加權(quán)的基函數(shù)表示,進(jìn)而通過(guò)線性方程組求解。

        1987年Rushmeier等人[31]把輻射度法進(jìn)行了推廣,還可用于求解不同媒質(zhì)填充體中輻射度的傳播,這種方法被稱(chēng)為帶狀法(zonal method)。與輻射度法一樣,都來(lái)源于輻射熱的傳播分析。帶狀法把媒質(zhì)填充體分解為有限的元素,并假設(shè)每個(gè)元素的輻射度是定值,求解方法與輻射度法類(lèi)似。他們所描述的帶狀法僅限于各向同性散射媒質(zhì),而沒(méi)有考慮相位函數(shù)。

        1996年Nishita等人[8]提出了一種近似計(jì)算云體的全局光照繪制技術(shù),包括多重各向異性散射和天空環(huán)境光。這種方法也是一種有限元法,把整個(gè)云體劃分為一個(gè)個(gè)體素,并且計(jì)算了兩個(gè)體素之間的輻射度傳播。為了減小計(jì)算量,此方法作了兩個(gè)簡(jiǎn)化假設(shè):(a)云中水滴有很強(qiáng)的各向異性,有利于前向散射,因此只需計(jì)算對(duì)于給定點(diǎn)作用明顯的那部分;(b)對(duì)給定體素只選作用較強(qiáng)的前三次散射。

        c)Discrete ordinates方法。它是把每個(gè)體素射出的輻射度均勻地分配在M個(gè)方向,且每個(gè)方向上的強(qiáng)度是相等的。這種方法可以用于計(jì)算各向異性散射模型。1994年Max[32]指出這種方法會(huì)產(chǎn)生采樣誤差,因?yàn)樗喈?dāng)于把能量從一個(gè)體素沿著某個(gè)方向的窄光束發(fā)射出去,光束之間則沒(méi)有考慮。在此基礎(chǔ)上Max作了改進(jìn),通過(guò)有效的擴(kuò)展,使輻射度射線覆蓋整個(gè)方向而不是離散的方向。這種方法在同時(shí)處理整個(gè)面光源時(shí)可實(shí)現(xiàn)一個(gè)較大的加速,能夠使計(jì)算時(shí)間減少一個(gè)數(shù)量級(jí)。

        d)蒙特卡洛積分算法。它是一種用隨機(jī)數(shù)求解積分方程的統(tǒng)計(jì)學(xué)方法。對(duì)于光的傳播這樣復(fù)雜的問(wèn)題,計(jì)算所有的光與媒質(zhì)的相互作用是不可能的。蒙特卡洛法通過(guò)在積分域內(nèi)隨機(jī)采樣來(lái)降低問(wèn)題的復(fù)雜度,根據(jù)重要性進(jìn)行采樣,如果樣品足夠多,在保證精度的情況下可以極大地降低計(jì)算量,這種技術(shù)叫做重要性采樣(importancesampling)。該方法在計(jì)算機(jī)圖形學(xué)領(lǐng)域內(nèi)的一個(gè)普遍應(yīng)用是蒙特卡洛光線跟蹤,當(dāng)光線穿過(guò)場(chǎng)景時(shí),運(yùn)用統(tǒng)計(jì)學(xué)的方法確定光線被吸收或散射,如果光線被散射,光線的散射方向也由統(tǒng)計(jì)方法確定。

        Blasi等人[33]用雙路徑蒙特卡洛光線跟蹤法來(lái)模擬光線穿透物體的效果。他們對(duì)媒質(zhì)不設(shè)任何約束條件,允許密度和相位函數(shù)任意分布,且包含多重散射,運(yùn)用相位函數(shù)來(lái)實(shí)現(xiàn)蒙特卡洛采樣。這樣,計(jì)算內(nèi)散射時(shí)無(wú)須考慮整個(gè)球形入射方向,可以極大地降低計(jì)算量,同時(shí)保證了絕大多數(shù)有顯著貢獻(xiàn)的散射光都會(huì)用于計(jì)算光強(qiáng)。實(shí)際上,Nishita等人[8]提出的reference pattern方法與該方法類(lèi)似。

        Photon mapping方法是蒙特卡洛光線跟蹤法的一種演變,從光源開(kāi)始到場(chǎng)景內(nèi)部對(duì)大量隨機(jī)分布的光線進(jìn)行跟蹤。當(dāng)光子落到一個(gè)非鏡面上時(shí),它就被儲(chǔ)存在photon map上,用于儲(chǔ)存光子位置、入射方向和輻射率等,表面上任意點(diǎn)的輻射率可以用離它最近的光子輻射率來(lái)計(jì)算[34]。Photon mapping展示了蒙特卡洛光線跟蹤的靈活性,消除了明暗條紋。Jensen和Christensen把二維表面的photon mapping方法擴(kuò)展到三維的物體上,可以計(jì)算多重散射、半透明體、面與體之間媒質(zhì)的顏色變化。

        e)線性積分方法。該方法簡(jiǎn)化時(shí)需要計(jì)算光源到體素間的光強(qiáng)積分,因此叫做線性積分方法。Kajiya等人[12]最初計(jì)算光的單次散射算法就是一種線性積分方法。確切地說(shuō),線性積分方法只限于單次光的散射,因?yàn)楣饩€不可能被傳播回到已經(jīng)經(jīng)過(guò)的點(diǎn)。Harris等人[1]后來(lái)證明了該方法可以用于計(jì)算前向方向上光的多重散射。

        2000年Dobashi等人[5]描述了一種計(jì)算云光照的簡(jiǎn)單線性積分技術(shù),類(lèi)似于OpenGL APIs提供的標(biāo)準(zhǔn)混色操作。他們用textured billboards粒子的集合來(lái)描繪云。計(jì)算光照時(shí),按照離太陽(yáng)的遠(yuǎn)近順序來(lái)繪制粒子,用混色操作實(shí)現(xiàn)粒子之間的遮擋和明暗計(jì)算。這種方法可以精確地計(jì)算云的自陰影效果。這樣,就可以根據(jù)視線的方向由后到前的順序進(jìn)行繪制,獲得逼真的云。文獻(xiàn)[5]給出了云在地面上的投影和光線穿過(guò)云形成光柱的效果。2001年Harris[2]引用了此方法,并將它推廣到體素云的繪制。

        Kniss等人[11]提出的半角切片技術(shù)(halfangle slicing)與此類(lèi)似,用于計(jì)算體繪制中的吸收和多重前向散射,他們用三維紋理切片技術(shù)來(lái)實(shí)現(xiàn)半透明體的繪制,還可以得到像Dobashi那樣的自陰影效果。此外,通過(guò)同一位置的多次取樣和求均值,實(shí)現(xiàn)了前向散射光的模糊效果。隨后,Riley等人[35,36]對(duì)此算法進(jìn)行了改進(jìn),可用于處理多重散射時(shí)光線的角度逐漸散開(kāi)的情況。

        f)線性插值法。上述精確計(jì)算光的多重散射需要很大的計(jì)算量,不適合大規(guī)模云的實(shí)時(shí)繪制。2003年Wang[4]提出了一種十分簡(jiǎn)單的方法用于計(jì)算云的光照效果。把光照分為天空環(huán)境光和太陽(yáng)光兩種。對(duì)于環(huán)境光的近似計(jì)算,定義了兩個(gè)軸:一個(gè)是一天時(shí)間軸,通過(guò)人為定義一組特定時(shí)間的環(huán)境顏色值,運(yùn)用插值的方法可以求出一天內(nèi)任一時(shí)刻環(huán)境顏色值;另一個(gè)軸是高度軸,也是人為定義一組特定高度的環(huán)境顏色值,通過(guò)插值求出不同高度的環(huán)境顏色值。對(duì)于太陽(yáng)光的近似計(jì)算,先求出云團(tuán)中心指向太陽(yáng)的向量、云團(tuán)中心指向云團(tuán)中任一點(diǎn)的向量,計(jì)算出兩個(gè)向量的點(diǎn)積并單位化;再采用插值方法求出任一時(shí)刻的方向顏色值,兩值的乘積就是太陽(yáng)光的近似值。此方法可極大地減少計(jì)算量,有利于大規(guī)模云的實(shí)時(shí)模擬。

        2 典型算法介紹

        在目前公開(kāi)的工作中,從場(chǎng)景范圍和實(shí)時(shí)性?xún)蓚€(gè)方面綜合評(píng)估,文獻(xiàn)[4]雖然在算法的創(chuàng)新性上并不大,但在實(shí)際應(yīng)用中是一種可行的策略。其算法的主要思路是:首先用有限個(gè)大小不等的六面體來(lái)構(gòu)建云團(tuán)的基本輪廓;其次,在六面體的范圍內(nèi)生成一定數(shù)量的粒子面片;再次根據(jù)需要模擬的云的類(lèi)型,采用不同的紋理進(jìn)行渲染;最后采用線性插值的簡(jiǎn)化算法模擬云的光照效果。該算法可以實(shí)時(shí)繪制較大規(guī)模的云場(chǎng)景。下面分別從云的形狀、云的生成與消散、云的光照效果三個(gè)方面對(duì)該算法思想進(jìn)行介紹。

        2.1 云的形狀

        該算法以視點(diǎn)為中心,將整個(gè)場(chǎng)景的云分為了遠(yuǎn)和近兩個(gè)部分。

        1)近視點(diǎn)云

        首先,云的基本形狀用一組邊長(zhǎng)不等的六面體來(lái)構(gòu)建。對(duì)于不同形狀的云,可以通過(guò)調(diào)節(jié)每個(gè)六面體的中心位置、大小、組合規(guī)則來(lái)生成;對(duì)于不同細(xì)節(jié)等級(jí)和不同大小的云,可以通過(guò)添加六面體的數(shù)量來(lái)實(shí)現(xiàn),大小為16 km2的云一般用20~200個(gè)六面體。

        其次,構(gòu)建出云的基本形狀后,隨機(jī)生成一些具有中心、長(zhǎng)、寬、角度、顏色等性質(zhì)的粒子面片來(lái)填充這些六面體,填充后的結(jié)果可能會(huì)比原六面體大,只須確保粒子的中心位置在六面體內(nèi)部即可,每個(gè)六面體用1~100個(gè)粒子面片。在此基礎(chǔ)上,為減少相鄰兩個(gè)六面體重疊處的冗余粒子,通過(guò)判斷粒子之間的距離,剔除不必要的粒子。

        最后,根據(jù)不同云的形狀采用不同的紋理片,并且使面片正對(duì)著視點(diǎn),根據(jù)粒子到視點(diǎn)的距離,由后到前進(jìn)行繪制。

        2)遠(yuǎn)視點(diǎn)云

        對(duì)于遠(yuǎn)處的云,采用billboard技術(shù),以視點(diǎn)為中心,用四個(gè)交叉面建立云體,然后在每個(gè)面上繪制各種云的形狀。當(dāng)視點(diǎn)的位置發(fā)生變化時(shí),可實(shí)時(shí)改變顯示面。為了減少計(jì)算量,設(shè)定一個(gè)閾值,當(dāng)視點(diǎn)的位置變化超過(guò)該閾值時(shí)才重新計(jì)算。

        2.2 云的形成與消散

        主要通過(guò)調(diào)節(jié)面片的透明度等級(jí)來(lái)控制運(yùn)動(dòng)云的演變過(guò)程。具體實(shí)現(xiàn)過(guò)程如下:

        a)云的形成。當(dāng)云開(kāi)始形成時(shí),只繪制距云體中心小于或等于云體半徑的一半粒子面片,透明度的初始值較高且隨時(shí)間不斷降低;當(dāng)透明度值降低到一定閾值時(shí),再按同樣規(guī)則繪制剩余部分粒子,并適時(shí)停止。

        b)云的消散。其過(guò)程正好與云的形成過(guò)程相反。當(dāng)云開(kāi)始消散時(shí),首先減小距云體中心大于云體半徑一半的粒子面片的透明度;當(dāng)這部分粒子完全消失后,再開(kāi)始減小距云體中心的距離小于或等于云體半徑一半的粒子面片的透明度,直到完全消失為止。

        2.3 云的光照效果

        只考慮天空環(huán)境光和太陽(yáng)的直射光對(duì)云的光照效果,具體計(jì)算方法如下:

        a)天空光線散射的近似計(jì)算。首先,根據(jù)一天的時(shí)間定義一個(gè)時(shí)間軸,在相等時(shí)間段的節(jié)點(diǎn)上人為設(shè)定一組與時(shí)間相關(guān)的顏色值。若要獲得一天之內(nèi)某個(gè)時(shí)刻的顏色值,先查找該時(shí)刻所處的時(shí)間段,以此時(shí)間段兩個(gè)端點(diǎn)的顏色值為基礎(chǔ),采用線性插值的方法求出該時(shí)刻的顏色值。其次,以云體的高度定義一個(gè)高度軸,在相等高度段的節(jié)點(diǎn)上人為設(shè)定一組與高度相關(guān)的顏色值。若要獲得云體內(nèi)某個(gè)高度的顏色值,先查找該高度點(diǎn)所處的高度段,以此高度段兩個(gè)端點(diǎn)的顏色值為基礎(chǔ),采用線性插值的方法求出該高度的顏色值。

        b)太陽(yáng)直射光的近似計(jì)算。對(duì)于云團(tuán)中任一點(diǎn),首先,計(jì)算出云團(tuán)中心到該點(diǎn)的單位向量和到太陽(yáng)的單位向量,然后計(jì)算出兩個(gè)向量的點(diǎn)積;其次,將點(diǎn)積的值域區(qū)間映射到人為設(shè)定的顏色區(qū)間,在此基礎(chǔ)上,與計(jì)算天空散射光一樣,人為定義一組相等時(shí)間段節(jié)點(diǎn)上的方向顏色值,再用插值的方法求解出一天內(nèi)某個(gè)時(shí)刻的方向顏色值;最后,將映射值與插值計(jì)算的顏色值相乘即為該點(diǎn)的方向顏色值。

        圖1就是采用此算法模擬的效果圖。

        3 結(jié)束語(yǔ)

        大規(guī)模場(chǎng)景中云的實(shí)時(shí)繪制是挑戰(zhàn)性的課題,也是目前計(jì)算機(jī)圖形學(xué)領(lǐng)域研究的熱點(diǎn)之一。飛行模擬器的強(qiáng)大需求和人們對(duì)真實(shí)感自然環(huán)境的追求,極大地推動(dòng)了云的模擬技術(shù)發(fā)展。目前,云的模擬技術(shù)已經(jīng)取得了很大的進(jìn)展,但許多問(wèn)題尚待研究解決。本文把幾種典型的算法就各方面的性能與不足進(jìn)行了比較,按照算法的復(fù)雜性進(jìn)行推算,建立一個(gè)較為粗糙的比照表,方便了解各算法特點(diǎn),如表1~3所示。

        根據(jù)現(xiàn)有的工作,可以得到以下結(jié)論:采用粒子系統(tǒng)和基于視點(diǎn)的多層次細(xì)節(jié)模型兩種算法有利于大規(guī)模云的形狀的模擬;采用體元素算法、程序噪聲算法、紋理映射算法有利于模擬細(xì)節(jié)等級(jí)較高的云的形狀的模擬;在體素網(wǎng)格的基礎(chǔ)上,采用求解偏微分方程的算法對(duì)云的動(dòng)態(tài)效果模擬可以得到較好的效果,另外采用GPU圖形硬件加速可以實(shí)現(xiàn)較快的計(jì)算速度[1,28];采用球形諧波函數(shù)法、有限元積分法、蒙特卡洛法等精確求解多重散射的方法有利于真實(shí)度較高的云的光照計(jì)算;采用線性積分法和線性插值法有利于大規(guī)模場(chǎng)景的云的實(shí)時(shí)繪制;對(duì)云的不同特性的模擬應(yīng)發(fā)展不同的算法。

        在今后的工作中需進(jìn)一步研究的問(wèn)題包括以下幾個(gè)方面:

        a)大規(guī)模云的實(shí)時(shí)繪制。從最初的在較小范圍內(nèi)繪制一朵云,到后來(lái)繪制具有一定規(guī)模的云[1,3,4],云的繪制技術(shù)已經(jīng)取得了較大的進(jìn)步,但目前的技術(shù)還遠(yuǎn)遠(yuǎn)不能滿(mǎn)足飛行模擬器的仿真需求。在飛行模擬器中,場(chǎng)景大、范圍廣、速度快,要求實(shí)時(shí)生成各類(lèi)不同的云具有很大的挑戰(zhàn)性。

        b)對(duì)不同種類(lèi)的云的模擬。自然界中的云有很多種,在不同的天氣、不同的季節(jié)、不同的時(shí)間,云會(huì)呈現(xiàn)不同的形狀和顏色,而且在同一時(shí)刻的天空會(huì)出現(xiàn)好多種不同種類(lèi)的云?,F(xiàn)有的算法只能模擬一種或幾種云,有一定的局限性。

        c)提高視覺(jué)效果。視覺(jué)效果始終是仿真領(lǐng)域所追求的,現(xiàn)有的算法在云的形狀、動(dòng)力學(xué)特性、光照效果上取得了較大的進(jìn)步,但是離真實(shí)的云還有一定的差距。

        d)云的動(dòng)態(tài)模擬。自然界的云由于受到各種因素的影響會(huì)產(chǎn)生各種變化,很明顯的特征是,在一天內(nèi),天空中的云會(huì)不斷演變,而且這種演變是不可預(yù)測(cè)的?,F(xiàn)有的算法只能簡(jiǎn)單模擬云的形成、消亡和對(duì)流運(yùn)動(dòng)的過(guò)程,對(duì)云的這種隨時(shí)間的演變還不能較好地模擬。

        e)運(yùn)用GPU實(shí)現(xiàn)云的加速計(jì)算。隨著計(jì)算硬件性能的不斷提高,運(yùn)用硬件加速計(jì)算可以得到較好的效果,因此在云的模擬過(guò)程中如何合理地運(yùn)用硬件仍有待研究。

        參考文獻(xiàn):

        [1]HARRIS M J, BAXTER W V, SCHEUERMANNN T, et al. Simulation of dynamics on graphics hardware[C]//Proc of ACMSIGGRAPH/EUROGRAPHICS Conference on Graphics Hardware. 2003:92101.

        [2]HARRIS M J. Realtime cloud rendering[C]//Proc of EUROGRAPHICS. 2001:7684.

        [3]UMENHOFFER T, SZIRMAYKALOS L. Realtime rendering of cloudy natural phenomena with hierarchical depth impostors[C]//Proc of EUROGRAPHICS. 2005.

        [4]WANG N. Realistic and fast cloud renderin[C]//Proc of SIGGRAPH. 2003.

        [5]DOBASHI Y, KANEDA K, YAMASHITA H, et al. A simple, efficient method for realistic animation of clouds[C]//Proc of the 27th Annualconference on Computer Graphics and Interactive Techniques. 2000.

        [6]DOBASHI Y, NISHITA T, OKITA T. Animation of clouds using cellular automation[C]//Proc of Computer Graphics and Imaging Conference. 1998:251256.

        [7]REEVES W T. Particle systems: a technique for modeling a class of fuzzy objects[J]. ACM Trans on Graphics, 1983,2(2):91108.

        [8]NISHITA T, DOBASHI Y, NAKAMAE E. Display of clouds taking into account multiple anisotropic scattering and sky[C]//Proc of SIGGRAPH’96. 1996:379386.

        [9]DOBASHI Y, NISHITA T, YAMASHITA H, et al. Using Metaballs to modeling and animate clouds from satellite image[J]. The Visual Computer, 1998,15(9):471482.

        [10]WESTOVER L. Footprint evaluation for volume rendering[C]//Proc of SIGGRAPH. 1990:367376.

        [11]KNISS J, PREMZE S, HANSEN C, et al. Interactive translucent volume rendering and proceduralmodeling[C]//Proc of IEEE Visualization. 2002:109116.

        [12]KAJIYA J T, Von HERZEN B P. Ray tracing volume densities[J]. Computer Graphics, 1984, 18(3):165174.

        [13]OVERBY D R. Interactive physicallybased cloud simulation[C]//Proc of the 10th Pacific Conference on Computer Graphics and Applications. 2002:469470.

        [14]EBERT D S, PARENT R E. Rendering and animation of gaseous phenomena by combining fast volume and scanline abuffer techniques[J]. Computer Graphics,1990, 24(4):357366.

        [15]EBERT D S. Volumetric modeling with implicit functions: a cloud is born[C]//Proc of SIGGRAPH’97. 1997.

        [16]EBERT D S. Interactive cloud modeling and photorealistic atmospheric rendering[C]//Proc of SIGGRAPH. 2004:238256.

        [17]SCHPOK J, SIMONS J, EBERT D S, et al. A realtime cloud modeling, rendering, and animation system[C]//Proc of SIGGRAPH. 2004:256264.

        [18]GARDNER G Y. Visual simulation of clouds[C]//Proc of SIGGRAPH. 1985:297303.

        [19]ELINAS P. Realtime rendering of 3D clouds[J]. Journal of Graphics Tools, 2000,5(4):3345.

        [20]BOUTHORS A, NEYRET F. Modeling clouds shape[C]//Proc of EUROGRAPHICS, 2004.

        [21]VANE E. Cloud rendering using 3D textures[EB/OL]. http://www.cgl.uwaterloo.ca/~revane/cs788/paper.pdf.

        [22]ROETTGER S, ERTL T. Fast volumetric display of natural gaseous phenomena[C]//Proc of Computer Graphics International. 2003:7481.

        [23]STAM J. Stable fluid dynamics for games[C]//Proc of SIGGRAPH. 1999:121128.

        [24]MIZUNO R, DOBASHI Y, CHEN Bingyu, et al. Modeling volcanic clouds: a physical, 3D and efficient method[C]//Proc of ACM SIGGRAPH 2003 Conference on Abstracts and Applications (Sketches Applications Program). California:[s.n.], 2003.

        [25]MIYAZAKI R, DOBASHI Y, NISHITA T. Simulation of cumuliform clouds based on computational fluid dynamics[C]//Proc of EUROGRAPHICS 2002 Short Presentations. 2002:405410.

        [26]NEYRET F. Qualitative simulation of convective cloud formation and evolution[C]//Proc of EGCAS’97. 1997:113124.

        [27]MIYAZAKI R, YOSHIDA S, DOBASHI Y, et al. A method for modeling clouds based on atmospheric fluid dynamics[C]//Proc of SIGGRAPH. 2000:1928.

        [28]MIYAZAKI R, DOBASHI Y, NISSHITA T. A fast rendering method of clouds using shadowview slices[C]//Proc of CGIM. 2004:9398.

        [29]BLINN J F. Light reflection functions for simulation of clouds and dusty surfaces[C]//Proc of SIGGRAPH. 1982:2129.

        [30]STAM J. Depicting fire and other gaseous phenomena using diffusion processes[C]//Proc of the 22nd Annual Conference on Computer Graphics and Interactive Techniques.1995:129136.

        [31]RUSHMEIER H E, TORRANCE K E. The zonal method for calculating light intensities in the presence of a participating medium[C]//Proc of ACM SIGGRAPH Computer Graplics. New York: ACM Press. 1987:293302.

        [32]MAX N.Efficient light propagation for multiple anisotropic volume scattering[C]//Proc of the 5th Eurographics Workshop on Rendering. 1994:87104.

        [33]BLASI P, SAEC B, SCHLICK C. A rendering algorithm for discrete volume density objects[C]//Proc of Eurographics. 1993:201210.

        [34]JENSEN H W, CHRISTENSEN P H. Efficient simulation of light transport in scences with participating media using photon maps[C]//Proc of SIGGRAPH. 1998:311320.

        [35]RILEY K, EBERT D, HANSEN C, et al. A system for realistic weather rendering[C]//Proc of the 84th American Meteorological Society Annual Meeting. 2004.

        [36]RILEY K, EBERT D S, KRAUS M, et al. Efficient rendering of atmospheric phenomena[C]//Proc of Eurographics Symposium on Rendering. 2004:375386.

        白浆出来无码视频在线| 草草地址线路①屁屁影院成人 | 国产91久久精品成人看网站| 日本妇人成熟免费2020| 91精品人妻一区二区三区久久久| 久久综合亚洲色一区二区三区| 免费观看的av毛片的网站| 国产老熟女狂叫对白| 91精品国产免费久久久久久青草| 国产自拍伦理在线观看| 国产精品一区二区三区卡| 久久精品麻豆日日躁夜夜躁| 亚洲AⅤ无码日韩AV中文AV伦| 精品日韩av专区一区二区| 国产精品视频亚洲二区| 国产麻豆精品久久一二三| 97在线视频免费| 亚洲中文字幕乱码在线观看| 久久婷婷五月综合色丁香| 天天做天天躁天天躁| 中文字幕高清无码不卡在线| 日本综合视频一区二区| 男女猛烈xx00免费视频试看| 无码少妇一级AV便在线观看| 在线观看中文字幕一区二区三区| 少妇一区二区三区久久| 亚洲精品乱码久久久久久金桔影视 | 久久少妇呻吟视频久久久| 国产美女主播视频一二三区| 国产精品_国产精品_k频道w| 亚洲国产欧美在线成人| 国产视频在线一区二区三区四区| 亚洲一区二区三区福利久久蜜桃| 国产夫妇肉麻对白| 天天做天天爱天天综合网| 在线观看国产内射视频| 一区二区三区亚洲免费| 亚洲av成人网| 四虎影视国产在线观看精品| 亚洲处破女av一区二区| 久久婷婷国产综合精品|