自然景象檢視原始碼討論檢視歷史
自然景象是計算機圖形領域和虛擬現實領域的研究熱點和難點,它在計算機動畫、電腦遊戲、影視特技、軍事仿真、建築景觀設計、虛擬現實等領域都有非常廣泛的應用。[1]
研究意義
巨大冰雹重襲東京,咫風席捲夏威夷,洛杉磯更颳起史無前例的龍捲風,洶湧的洪水,呼嘯而來的暴風雪……,這一切如此真實,仿佛真的面臨世界末日。這一幕來自導演羅蘭一艾默里奇2004年的科幻電影《後天》,這令人震撼的視覺效果背後是計算機圖形技術的淋漓盡致的應用。而今特技效果的應用越來越普遍,己經成為影視製作中一種常規手段。如《黑客帝國》中的戰爭場面,《侏羅紀公園》中恐怖的恐龍,《加菲貓》中加菲貓那些惟妙惟肖的動作,無不體現了計算機真實感圖形技術的價值所在。 在圖形學領域,人們一直試圖利用計算機再現周圍的真實世界,然而現實世界雖然看上去簡單,卻極其複雜。對於一些自然現象,人們可以採用過程描述的方式來獲得某種特定的效果,但是對於有些現象人們無法找到一個簡單的模型來描述它,這個時候只有去追溯該現象本身的物理根源,只有藉助其本身較為精確的物理描述才能真實再現其外在的視覺現象。隨着計算機硬件的不斷發展,計算能力不斷增強,PC機能夠完成的算法複雜度不斷上升,使得基於物理的計算機動畫的迅速發展成為可能。在市場方面,不管是電影特效,還是視頻遊戲,人們對於計算機動畫的需求也很強烈。這些因素使得計算機動畫成為目前一個研究熱點,也成為一個當前和未來計算機圖形學發展的一個重點方向。自然景象的模擬作為計算機動畫的難點之一,對它的研究將使自然景觀的再現將更具真實性,將為景點的宣傳起到一定的作用,進一步可以為三維遊戲和地理信息系統啟動促進作用,具有較廣泛的意義。
模擬難點
自然景物主要包括由天空、山脈、湖泊、河流、海洋、大地、樹木、花草、雲、煙、霧等等。這些景物的幾何形貌具有不規則特性。此外,大多數自然景物受大自然中的風、雨及陽光的影響,其外觀多變且有很大的隨機性。一些有生命的自然物,如樹木、花草其生長過程還隨季節變化。所有這些都對自然景物的真實感模擬帶來了很大的挑戰。 不規則幾何外形 不管是雪花、雲彩、山脈、草地,還是煙霧、灰塵、火光等,它們都沒有規則的幾何形狀。其表面往往還包含豐富的細節,這使得難以用經典的歐幾里德幾何對其描述。採用傳統的計算機圖形造型和繪製方法計算量大,生成速度慢,真實性和實時性很差。 時刻動態變化 自然景物一般都是在時刻變化着的,這也正是大自然的美妙所在。如火焰的熊熊燃燒,雪花的輕盈飄動,海市厘樓的虛無縹緲、瞬息萬變等都令人難以忘懷。要表達蘊含於自然景物中的無窮多的隨機紋理細節,即要選擇造型,亦需要一個龐大的數據結構。注意到當自然景物離觀察者足夠遠時,上述紋理細節並不能全部呈現在畫面上,而當觀察者欲深入觀察自然景物的某一局部細節時,己存儲在數據結構中的細節資源卻可能很快陷入枯竭,因此,採用傳統的靜態數據結構很難準確刻畫自然景物。 物理機制複雜 要準確模擬自然景物,必須考慮其背後的物理機制。但是一般自然景物的物理機制都比較複雜,如火焰等氣體現象的運動十分複雜,火焰忽隱忽現,煙裊裊上升,雲則虛無縹緲,同時,在火焰燃燒、煙霧擴散以及雲層飄動過程中,還會受到風力的作用。藍天白雲、雨後彩虹這些都和複雜的大氣折射、散射機理相關,海市厘樓的產生、變化及消失過程背後也蘊藏着複雜的物理作用。 與其他景物互相作用 自然景觀的複雜還在於自然界任一景物都不是孤立的,它與周圍的環境、其它自然景物是時刻相互影響、相互作用的,如飄雪場景中風雪的交互作用、草地上風吹草動。因此我們繪製某一自然景物時,必須考慮周圍環境的影響,進行整體繪製。
研究現狀
流水的模擬 流水的模擬,根據流動情況的不同,模擬的情況也不盡相同大致上可以分為流場的模擬,波浪的模擬,噴泉和瀑布的模擬等的模擬方面,國內外都取得了很大的成就。 對流場的情況大多採用基於流體動力學物理模型的方法。M .Kass,G.Miller採用三對角線線性方程組迭代方法來求解淺水波方程。流水模擬情況,並基於求解結果繪製高度場。這種快速穩定的解法可以取得較好的視覺效果,並且還可以處理網格拓撲變化的邊界條件情況。D. Enright, R. Fedkiw等,提出了被稱為「粒子水平集(Particle Level Set)」的非實時複雜水面繪製方法,一通過水平集(歐拉法)和粒子系統(拉格朗日法)結合的方法,在水流模擬的宏觀效果(如海浪)和微觀效果(如水倒入杯中)上都可以獲得逼真的結果。國內方面張尚弘等將粒子系統與物理方法結合,採用距離倒數加權法和運動記錄法簡化完成速度場時空插值,並將數學模型計算出的Eular場轉換為Lagrange場,來完成粒子運動的更新。該方法在模擬大範圍的水流場景中獲得了一定的效果。 對雨雪瀑布等水花飛濺細節較為豐富的現象的真實感繪製方面,主要是採用以粒子系統為主的方法。萬華根等將流體動力學與粒子動力學方程結合,建立了一個可控參數的噴泉粒子系統。得到了較為真實的噴泉水流視覺效果。管宇等用線元為基本造型單位並基於動力學基本原理模擬瀑布的運動軌跡,很好的實現了真實感實時瀑布飛濺的模擬效果。 火焰的模擬 在火焰的模擬方面,粒子系統和物理方法一直占據着主流地位,有很多成功的研究成果和多種結合的方法。 國內方面,張芹等在總結國內外學者所建立的各種火焰模型的基礎上,提出了一種基於粒子系統的火焰模型,研究了模型參數變化對顯示效果的影響,該模型引入了結構化粒子及表現風力的隨機過程,能生成不同精細程度的火焰圖形。楊冰等提出一種利用景物特徵的空間相關性提取特徵點,簡化粒子系統建模的算法。對於火焰,該算法對紡錘體的火苗表面採用簡單的三角剖分,以這些三角形的頂點作為火焰的特徵點,這些特徵點按照一定規則就可以被定義為粒子系統中的粒子。林夕偉等結合B樣條曲線和粒子系統來勾勒火焰的中心骨架和外輪廓,對其映射邊緣檢測後的真實火焰紋理,並由噪聲函數建立粒子速度場,這種方法在保持真實感的基礎上可以有效節約粒子數量。 國外方面,C. Perry和R. Picar根據燃燒學理論提出了火焰燃燒的速度傳播模型,N. Chiba等給出了物體之間熱交換的計算方法,提出了用溫度和燃料濃度表示的火焰傳播模型。J. Stam等在此基礎上根據流體動力學理論建立了火焰點燃,燃燒,熄滅的三維模型,他認為火焰的擴散過程是由氣體物理量的時空變化來表示的,這些物理量的變化符合流體動力學中的基本方程,並採用其中的能量守恆方程(熱力學第一定律)的簡化形式一擴散方程給出了火焰的傳播模型。D. Q. Nguyen等提出了一種基於物理模型的非實時真實感火焰繪製方法,該方法採用可壓縮流體的Navier-Stokes方程為汽化燃料和氣態燃燒生成物建立各自的模型,並提出了汽化燃料轉變為燃燒生成物的化學反應中的物質能量交換模型和固體燃料汽化的模型。採用黑體發光模型對燃燒生成物、煙、灰等進行繪製。該方法可以獲得逼真的效果,並且可以處理火、煙與物體的碰撞檢測以及可燃物點燃的情況。 煙雲的模擬 煙雲的模擬領域,過程紋理,分形模型,粒子系統和物理模型都有着廣泛的研究成果。 過程紋理方面,K. Perlin}s]提出了湍流噪聲函數;G. Y. Gandner提出了天空平面、橢球體和數學紋理函數組成的雲模型,並提出了一個三維紋理函數合成的紋理函數。採用噪聲函數可以生成很逼真的雲紋理圖像,但計算量較大。分形模型方面,T: Nishita等提出了雲的二維分形建模方法,隨後又有人提出了三維分形建模方診;Y. Donashi等人提出基於分形幾何的原理,利用變形球建立雲的模型。粒子系統和物理模型方面,M. Unbescheiden等利用浮力原理、理想氣體定律以及冷卻定律等雲的物理原理建立粒子系統,並採用紋理映射繪製技術對雲進行繪製,從而實現雲的粒子系統實時真實感模擬。劉耀周等用帶顆粒紋理的平面代替粒子,並採用Billboard技術控制紋理平面的繪製朝向,使用粒子系統生成了導彈飛行航跡及煙霧的特效生成算法。J. Stem將Navier-Stokes方程分解為四個步驟的迭代求解,該算法快速穩定,在保證良好實時性的前提下可以達到很好的視覺效果。 其他自然景物的模擬 對樹木的模擬主要採用分形算法中基於文法的算法。美國生物學家Lindenmeyer提出了一種基於字符串重寫機制的L一系統來對樹木進行建模。該系統可用簡潔有效的方法來概括樹木的拓撲形狀和分級結構。 對光線的模擬方面,Reed和wyvi11根據觀察提出了一種經驗模型,該模型通過讓主枝以平均16度的旋轉夾角衍生子枝的方式生成光線。T. Kim和M. C. Lin採用基於電介質離解(DBM)物理模型繪製持續跳動的光線,並使用簡化的Helmholtz方程表示電磁波的傳播,並採用Monte Carlo光線跟蹤法來繪製光線,可以達到很高的真實感。