摘要:目前,對于水流動畫模擬的研究已經取得了相當豐富的成果?;谖锢砟P偷牧黧w動畫模擬的研究,需要計算流體力學和計算機圖形學的交叉融合,根據其研究的背景與內容的不同,可分為兩種類型?;谖锢砟P偷牧黧w動畫模擬中描述流體運動的方法主要有兩種,一種是Euler方法,另一種是Lagrange方法。Euler方法的主要缺點是難以處理流體的細節,Lagrange方法的優點就是能很好地表現流體的細節。由于Euler方法和Lagrange方法的這些特點,如果發展這兩種方法的綜合方法,則可取長補短。
關鍵詞:水流動畫模擬;Euler方法;Lagrange方法
中圖分類號:TP399文獻標識碼:A文章編號:1009-3044(2008)14-20934-02
1 引言
近年來,對自然景觀的模擬一直是計算機圖形學和動畫中最具挑戰性的問題之一,這是因為自然景觀遠比大多數人物造型復雜得多,模擬相對比較困難,與山、樹相比,對水的模擬又更為困難。
2 水流動畫模擬發展的現狀分析
目前,對于水流動畫模擬的研究已經取得了相當豐富的成果。具有代表性的研究有兩個領域:一是計算流體力學領域,主要研究的是流體運動的科學求解,用Navier-Stokes方程(N-S方程)或其簡化形式精確求解描述流體運動,從而揭示流體運動的內存規律,解決流體相關領域的工程計算問題,已發展了大量高精度高效的數值方法,并取得了豐富的成果。二是計算機圖形學領域的流體模擬,注重流體現象的視覺效果,運用計算機圖形學或一般圖形學原理和方法,將流場數據轉換為圖形、圖像,以直觀的形式表現出來,從而獲得生動、逼真的流體運動的視覺效果,并運用于如電影特效、視頻游戲等的市場需求,該方向的工作也取得了很多成果。
隨著計算流體力學、計算機圖形學等學科的不斷發展與相互交叉,從而產生了許多更有效的模擬方法,其中,基于物理模型的流體動畫模擬發展迅速,目前,已經成為該領域的一個研究熱點,同時也成為當前和未來科學工程計算機與可視化發展的一個重點方向。
基于物理模型的流體動畫模擬的研究,需要計算流體力學和計算機圖形學的交叉融合,根據其研究的背景與內容的不同,可分為兩種類型。一種是利用計算流體力學成果,采用合適的模型和方法,從計算機圖形學的角度發展相應的流體動畫模擬所需要的流場表示方法、繪制技術等,研究工作主要集中在流體動畫模擬中的計算機圖形學方面。如基于GPU帶有復雜邊界的三維實時流體模擬、基于LB模型的液-液混合流體模擬等[1-3]。另一種是以計算流體力學為基礎,根據計算機硬件和計算機圖形學的發展水平,發展適合于流體動畫模擬的CFD模型和方法,利用計算機圖形學的方法完成流體的動畫模擬,不僅要科學求解,而且要獲得生動、逼真的流體動畫,這方面的研究在國內還不多見。
基于物理模型的流體動畫模擬中描述流體運動的方法主要有兩種,一種是Euler方法,另一種是Lagrange方法。前者研究充滿流體的空間區域的各個固定點,將流體的速度、壓力、密度等流動量看作是空間點坐標x、y和時間t的函數,研究每一固定點上的各種流量隨時間變化的情況,以及研究由某一空間點轉到另一空間點時這些流支量的變化情況,是一種基本網格的方法。后者研究組成流體的質點,跟蹤流體的質點來研究流體中某一質點的位置、密度、壓力等流動量隨時間的變化情況,以及研究由一個質點轉到其他質點時這些流動量的變化情況,是一種基于粒子的方法。
Euler方法的優點是模型方程相對簡單,可以利用場論理論分析問題,入口條件和出口條件易于處理等等,相對來說,使用起來比較方便。在CFD中已發展了很多高精度高效的Euler方法,取得了豐富的計算結果[4]。其中具有代表性的有基于淺水方程線性化的高度場模擬、求解三維完全N-S方程的有限差分法、求解三維不可壓N-S方程的無條件穩定方法及其推廣、水平集方法[5-9]等。Euler方法的主要缺點是難以處理流體的細節,如水的飛濺、泡沫、波浪的破碎與翻卷等。
Lagrange方法的優點就是能很好地表現流體的細節。其中具有代表性的有光滑粒子流體動力學方法(SPH:smoothed particle hydrodynamics)[10],并被廣泛推廣和應用[11]。Lagrange方法的缺點是除了沒有網格方法上述的一些方便之處外,計算上比較費時,計算代價相對較大。由于Euler方法和Lagrange方法的這些特點,我們想到發展這兩種方法的綜合方法,取長補短。這方面已經取得的一些重要成就有:半拉格朗日算法[7]、粒子水平集方法[9]、經典PIC(Particle-In-Cell)方法的推廣與應用、粒子有限元方法,以及最近的耦合SPH和PLS的方法[12-14]。
3 水流動畫模擬未來的發展前景
目前,在水流的計算機動畫模擬中,人們最想看到的結果是,在模擬水的流動的同時,也能逼真地模擬出水的飛濺、泡沫、波浪的破碎與翻卷等細節現象。動畫模擬的實時性要求模擬方法具有較高的計算速度,而能模擬出上述細節又要求模擬方法具有豐富的細節表現能力,但豐富的細節表現能力往往導致計算代價的增加從而降低計算速度,未來發展的關鍵問題就是解決上述這一矛盾。
我們考慮研究耦合Euler方法和Lagrange方法的水流的計算機動畫模擬,希望實現對水的飛濺、泡沫、波浪的破碎與翻卷等細節現象的模擬。
采用將水流分為稠密水體和彌散水體的描述模型,用弱可壓SPH方法代替常規SPH方法去求解彌散水體來同時提高方法的細節表現能力和計算效率。弱可壓SPH方法采用Tait方程聯系流體的壓力與密度,允許弱可壓性和小的密度波動,這與彌散水體的性態非常相吻合,解決了常規SPH方法在可壓與不可壓上兩難選擇的問題。盡管給出弱可壓SPH方法的研究問題時沒有采用將水流分為稠密水體和彌散水體的描述模型,沒有直接表明這一方案的有效性,但通過上述分析我們仍能看到該方案的可行性。
采用MLS方法代替PLS方法去構造耦合方法來提高方法的計算效率。因為MLS方法僅在流體的表面使用標記,而PLS方法是在流體表面的一個管狀鄰域上布置粒子,因此,在計算代價上,PLS方法是一個三維問題,而MLS方法只是一個二維問題,因此MLS方法計算量明顯降低。而流體的細節現象的發生又都是在流體的表面部分,僅在流體的表面使用標記同樣能準確的追蹤表現出流體的細節。[14]中的研究結果證明了這一點,因而這是個可行的不降低計算精度而提高計算效率的方案。
在描述水流的模型方面,采用廣義SWE代替三維不可壓N-S方程作為稠密水體的描述模型來提高模型的計算效率。[15]的工作為我們提供這一方案成功的實例,雖然[15]考慮的水流只是一些小尺度流體,但我們在求解SWE方面有較多的工作經驗,我們將仔細分析洪水泛濫、海嘯這些流體的特性,給出適合于這類問題的廣義SWE。在提高效率方面,耦合方法應該比單純的網格方法有更大的空間。
4 結束語
隨著計算流體力學、計算機圖形學等學科的不斷發展與相互交叉,以及計算機硬件的迅速發展,從而使許多更有效的模擬方法的實現成為可能,采用通過Euler方法和Lagrange方法的結合,發展一些高速、準確的水流動畫模擬方法,可以幫助研究如洪水泛濫、海嘯等復雜水流運動,從而為水力開發、國防建設、災害預防的實際問題提供服務,同時,也可應用于電影特效、視頻游戲等方面,因此,水流動畫模擬方法的研究具有很高的實用價值。
參考文獻:
[1] Jinhui Yu, Xinan Jiang, Haiying Chen , Cheng Yao. Real-time cartoon water animation.Comput. Animat.Virtual Worlds.2007.18(4-5):405-414.
[2] Yongxia Zhou, Xiehua Sun, Xiangyang Lan, Shengyou Lin. Fast smoke simulation of moving object, Comput. Animat.Virtual Worlds.2007.18(4-5):455-461.
[3] Hongbin Zhu, Xuehui Liu, Youquan Liu, Enhua Wu. Simulation of miscible binary mixtures based on lattice Boltzmann method, Comput. Animat.Virtual Worlds.2006.17(3-4):403–410.
[4] R. Bridson, R.Fedkiw, M.Muller-Fischer, Fluid simulation, Siggraph 2006 course notes. In SIGGRAPH'06: ACM SIGGRAPH 2006 Courses, New York, NY, USA,2006, ACM Press, 1–87.
[5] M.Kass, G.Miller, Rapid, stable fluid dynamics for computer graphics. Proceedings of the 17th annual conference on Computer graphics and interactive techniques .1990. 49–57.
[6] N.Foster, D.Metaxs, Realistic animation of liquids, In GI'96: Proceedings of the conference on Graphics interface'96, Toronto, Ont., Canada, 1996, Canadian Information Processing Society.204–212.
[7] J.Stam, Stable fluids. Proceedings of the 26th annual conference on Computer graphics and interactive techniques.1999.121–128.
[8] S.Elcott, Y.Tong, E.Kanso, P.Schroeder, M.Desbrun, Stable,circulation-preserving, simplicial fluids, ACM Trans. Graph. 2007.26(1):4.
[9] N.Foster, R.Fedkiw, Practical animation of liquids, In SIGGRAPH ’01: Proceedings of the 28th annual conference on Computer graphics and interactive techniques,New York, NY, USA, 2001. ACM Press.23–30.
[10] M. Desbrun, M.-P. Cani, Smoothed particles: A new paradigm for animating highly deformable bodies, Comput. Anim. and Sim.'96(Proc. of EG Wrkshp. on Anim. and Sim.), R. Boulic and G. Hegron, Eds. Springer-Verlag.1996. 61–76,
[11] B.Solenthaler, J.Schlafli, R.Pajarola, A unified particle model for fluid solid interactions, Comput. Animat. Virtual Worlds 2007.18(1):69–82.
[12] Y.Zhu, R.Bridson, Animating sand as a fluid. In SIGGRAPH'05: ACM SIGGRAPH 2005 Papers, New York, NY, USA, 2005, ACM Press, 965–972.
[13] E. O?nate, J. Garcia, S. Idelsohn, and F. D. Pin, Finite calculus formulations for finite element analysis of incompressible flows. Eulerian, ALE and Lagrangian approaches, Comput. Meth. Appl. Mech. Eng., 2006.195:3001–3037.
[14] F.Losasso, J. Talton, N. Kwatra, R. Fedkiw, Two-way coupled SPH and particle level set fluid Simulation, IEEE Trans. on Vis. and Comput. Graph.,to appear.2007.6
[15] H. Wang, G. Miller, G.Turk, Solving general shallow wave equations on surfaces, Eurographics/ACM SIGGRAPH Symposium on Computer Animation,2007.