徐國凱,唐勇,孫炎輝,郭棟梁,宋鵬,王剛,韓志敏
(1.大連民族學院機電信息工程學院,遼寧大連 116605;2.燕山大學a.信息科學與工程學院;b.研究生學院,河北秦皇島 066004)
民族特需品數字化展示中的水面模擬方法
——基于質點彈簧模型
徐國凱1,唐勇2a,孫炎輝1,郭棟梁2b,宋鵬1,王剛2b,韓志敏1
(1.大連民族學院機電信息工程學院,遼寧大連 116605;2.燕山大學a.信息科學與工程學院;b.研究生學院,河北秦皇島 066004)
提出了一種基于質點彈簧模型的快速可交互的實時水面模擬方法。使用虛擬彈簧按照四邊形連接規則將組成水面幾何結構的點連接起來;為模擬質點間相對運動引起的阻力,引入內摩擦系數和速度衰減系數,水面的受力運動模型中質點的運動規律遵循質點彈簧運動規律;水面渲染時,借助Cg著色語言實現水面的反射和折射;通過簡化物理碰撞規則,實現了對雨滴與水面交互的加速處理。實驗表明,交互時幀率達到60fps,且真實感強,可以明顯提高民族特需品的數字化展示效果。
民族特需品;虛擬現實;水面模擬;質點彈簧模型;實時交互
使用虛擬現實技術對少數民族特需品(簡稱民族特需品或特需品)進行保護或展示,是民族遺產數字化領域的一個新的研究課題。在民族特需品的交互式展示中對于水面的模擬問題顯得非常重要,因為凡涉及到與水相關的特需品,都不可避免的要對水面進行模擬。但是,由于水面的物理運動規律復雜,求解耗時,使得如何在計算機中實時地模擬真實水面及實時交互運動成為一個研究難點。
2001年Jerry Tessendorf使用快速傅里葉變換(FFT,Fast Fourier Transform)模擬了大規模海面的運動效果[1],盡管取得了較真實的效果,但是需要花費大量時間去求解一系列復雜方程。2003年Kei lwasaki等使用紋理映射切片(texture mapped slices)表示物體,快速渲染出具有光學性質的水面[2],但隨著切片數目的增加,運算量急劇增大。2006年Yaohua Hu等使用菲涅耳凹凸映射(Fresnel bump mapping)和視點相關(view-dependent)技術,在主頻680 MHz的Pentium III和GeForce 3顯卡上對海水表面進行模擬,渲染速度能達到100fps[3],因為使用平面鏡來處理水面局部的反射和折射,所以局限于模擬平靜的海洋波。Kei lwasaki等從水面逐點采樣得到粒子,提出一種有效的GPU加速表面重建方法[4],但是在采樣時未對表面細節加以區分,降低了最終水面質量。2007年Cem Yuksel等基于波浪粒子(wave particle)的概念,對流體表面進行模擬,實現了與漂浮物的交互[5],但是波形方程求解復雜,且需要大量粒子來保證水面質量。2008年Dongyoung Kim等利用基于質量守恒定律的表面對流模擬水面的波動現象[6],由于使用二維平面網格,所以不能很好的處理水面破碎現象。2010年Nils Thürey等用多尺度分析方法處理不同張力的流體表面[7],獲得了很好效果,但是渲染速度只有22.3fps,不能達到實時要求。
本文首次引入質點彈簧模型來模擬水面,并對其進行基于水面特征的擴展,實現外界物體和水面的動態交互的實時逼真模擬。
水面的幾何模型設計成均勻規則的拓撲結構,由ROW×COLUM個均勻分布的質點組成(水面與XOZ平面重合,中心在坐標原點)。構成水面的基本單元由五個質點和五根彈簧組成,如圖1。5個質點之間通過4個水平彈簧連接在一起,中心質點通過一個豎直放置的彈簧與基準面連接。

圖1 水面的基本單元
為最大限度地加快模擬速度,水面各質點采用四邊形連接,雖然降低了水面繪制的細節,但組成水面的基本圖元數遠小于采用三角形的連接方式。各個基本單元構成一張彈簧網,形成水面的骨架,水面的變形將由構成四邊形的質點和彈簧控制,如圖2。
對于邊界上的基本單元,根據其形狀特點,設計“Γ”型和“Τ”型2種結構,在計算質點受力時,可不必區分當前質點是否處在邊界,統一了各類不同單元的計算過程。

圖2 水面的結構
對于水面左前方邊界的基本單元,把此處的第0號基本單元的0號質點作為前鄰居和左鄰居,構成“Γ”型結構,如圖3(a);對于水面右邊界的基本單元,把第i號基本單元的i號質點作為右鄰居,形成“Τ”型結構,如圖3(b)。其他角及邊界基本單元通過旋轉轉換成“Γ”型和“Τ”型結構。

圖3 水面邊界基本單元
當物體與水面交互時,水面受到外力的作用,質點發生位移,致使彈簧產生形變,對相連質點產生力的作用。對任一水面質點,根據胡克定律,其受到彈簧的回復力為

其中kv為豎直方向彈簧勁度系數,xv為豎直方向彈簧形變量,k為水平方向彈簧勁度系數,xi為某一水平方向彈簧形變量。
水面質點間相對運動產生的內摩擦力為

其中vo為中心質點的運動速度,vi為其相鄰質點的運動速度,f為內摩擦系數。通過調節f以及公式(1)中彈簧勁度系數的大小,可以模擬不同粘度的水面運動。
考慮質點的重力,最終質點所受合力為

其中m為水面質點質量,g為重力加速度。根據牛頓第二定律,計算質點的加速度,進而求出質點在經過一個時間步長之后的速度,此時,質點的運動為勻速直線運動,最終求得質點的新位置。
為保證水面快速回復到平靜狀態,引入一個數值大于1的速度衰減系數α,使得所有質點的動能快速趨向于0。速度衰減公式為

使用立方體紋理貼圖的天空盒作為場景背景。對于水面某一點的反射顏色,即反射光線與天空盒相交處的顏色,利用著色語言Cg中的reflect函數計算水面某一點反射光線的方向向量,作為立方體紋理查找texCUBE函數的一個參數,計算反射光線與天空盒的交點顏色。
對于水面某一點的折射顏色,即折射光線與水下物體相交處的顏色,利用Cg中的refract函數計算水面某一點的折射光線的方向向量,建立水池四周與底部的平面方程,求出折射光線和水池各個的交點,從而獲得水面折射顏色。
將反射顏色和折射顏色混合,以實現菲涅耳效果(Fresnel effect),反射顏色在混合顏色中所占比例為

其中refl_f為反射因子,bias為偏移系數,scale為縮放系數,power為Fresnel指數,I為入射光方向向量,N為法向量。
反射因子限制在[0,1]之間,水面某一點菲涅耳效果顏色計算公式為

其中Cfresnel為菲涅耳效果顏色,refl_f為反射因子,Creflected為反射顏色,Crefracted為折射顏色。
在Cg使用Phong光照模型計算水面自身顏色,和菲涅耳效果顏色混合,得到水面最終顏色。計算水面最終顏色的公式為

其中Cfinal為水面最終顏色,fres_f為菲涅耳效果顏色在混合顏色中的比例因子,Cfresnel為菲涅耳效果顏色,Cself為水面自身顏色。
水面的最終顏色與反射顏色和折射顏色有關,首先繪制除水面以外的物體,最后繪制水面。
為了模擬雨滴隨機碰撞水面的效果,通過一個隨機函數初始化雨滴的高度和速度(均控制在合理范圍內),雨滴做自由落體運動。為簡化碰撞檢測過程,以雨滴的高度低于平靜水面高度作為雨滴碰撞水面的條件;為加速模擬速度,雨滴只影響其附近4個水面質點,如圖4。被影響水面質點位置計算公式為

其中row、col為質點所在的行和列,pz、px為雨滴在水平面的坐標,minz、minx分別為水面左上角Z方向最小值和X方向最小值,size_z、size_x為Z方向和X方向上的行間距和列間距,floor是向下取整函數。

圖4 雨滴碰撞水面
碰撞之后,將雨滴的位置和速度重新隨機初始化,雨滴的動量全部轉移到碰撞區域的4個水面質點上。為了簡化計算過程,約定質點的速度和雨滴距質點的距離成反比。

mdrop為雨滴質量,vdrop為雨滴速度,m為水面質點質量,vi為碰撞區域某一水面質點速度,disti為雨滴距碰撞區域水面質點距離,μ為比例因子。
獲得雨滴能量的4個水面質點,按照公式(1) -(4)將能量傳播出去,帶動水面波動。
針對所提出的水面模擬方法,進行了兩項模擬實驗:雨滴落入水面;小船在水面游動。實驗硬件平臺為:8核Intel(R)Xeon(R)X5482 CPU,16G內存,NVIDIA GeForce GTX 460顯卡。使用Microsoft Visual Studio 2005作為軟件實驗環境,OpenGL圖形庫和Cg著色語言。
如圖5左側為雨滴打在水面上的效果。水面被劃分成128×128個網格,雨滴的數量為100。水波碰到邊界會被反射回去。圖5右側展示了在水面上運動的小船產生的尾跡。將小船看成一個質點,在XOZ平面上運動,帶動相應的水面質點運動,形成了一連串的圓形水波,圓形水波相互疊加以后形成了錐形的尾跡。

圖5 雨滴和船與水面交互
提出了一種簡單的實時水面交互模擬方法。引入質點彈簧模型來組建水面的幾何結構;設計了水面的受力運動模型;實現了水面的反射和折射效果;在物體和水面的交互過程中,簡化了復雜的碰撞問題,在不嚴重影響逼真度的情況下明顯加快了繪制速度,明顯提高了與水相關的少數民族特需品的數字化展示效果。目前此方法只能模擬相對緩和的水面波動,對于激烈的水面運動,如水面破碎效果還沒有實現,將是以后改進的地方。
[1]TESSENDORF J.Simulating Ocean Water[C].SIGGRAPH 2001 Course notes,2001.
[2]LWASAKI K,DOBASHI Y,NISHITA T.A Fast Rendering Method for Refractive and Reflective Caustics Due to Water Surfaces[C].Computer Graphics Forum Proceedings of Eurographics,2003,22(3):601-609.
[3]HU Y H,VELHO L,TONG X,et al.Realistic,Real–Time Rendering of Ocean Waves[J].Journal of Visualization and Computer Animation,2006,17(1):59-67.
[4]IWASAKI K,DOBASHI Y,YOSHIMOTO F,et al.Realtime Rendering of Point Based Water Surfaces[C].Computer Graphics International-CGI,2006,102-114.
[5]YUKSEL C,HOUSE D H,KEYSER J.Wave Particles[J].ACM Transactions on Graphics,2007,26(3):99-106.
[6]KIM D Y,YOO K H.Real-Time Water Wave Simulation with Surface Advection based on Mass Conservancy[J].International Journal of Contents,2008,4(2):7-12.
[7]THüREY N,WOJTAN C,GROSS M,et al.A Multiscale Approach to Mesh-based Surface Tension Flows[J].ACM Transactions on Graphics,2010,29(4):1-10.
Water Surface Simulation Method for Digital Display of Special Necessities for Ethnic Minorities Based on Mass-spring Model
XU Guo-kai1,TANG Yong2,SUN Yan-hui1,GUO Dong-liang2b,SONG Peng1,WANG Gang2b,HAN Zhi-min1
(1.College of Electromechanical&Information Engineering,Dalian Nationalities University,Dalian Liaoning 116605,China;2.a.College of Information Science and Engineering,b.College of Post-graduated,Yanshan University,Qinhuangdao Hebei 066004,China)
A fast interactive real-time water surface simulation method based on the Massspring model is proposed.These dots formed a water surface geometry structure are connected in accordance with the quadrilateral connection rules using Virtual spring.To simulate the resistance caused by the relative motion between particles,the coefficient of internal friction and speed attenuation coefficient are introduced.The motion law of the particle in surface force model follows the motion law of the particle spring.The water surface reflection and refraction is achieved with the Cg shading language in surface rendering.Then rain and surface water interactions and accelerated processing is realized by utilizing the simplifed physical impact rules.Experimental results show that the interactive frame rate gets 60fps,and a strong sense of reality is abtained,which significantly improves the digital display of special necessities for ethnic minorities.
special necessities for ethnic minorities;virtual reality;water surface simulation; mass-spring model;real-time interaction
TP319.4
A
1009-315X(2012)01-00015-04
2011-11-07
國家科技支撐計劃課題(2009BAH41B05)。
徐國凱(1956-),男,遼寧撫順人,教授,主要從事民族遺產數字化技術及其應用研究。
(責任編輯 劉敏)