![水波模擬算法_第1頁](http://file4.renrendoc.com/view/b82ef9906a450702ee2449a2fa1a99ee/b82ef9906a450702ee2449a2fa1a99ee1.gif)
![水波模擬算法_第2頁](http://file4.renrendoc.com/view/b82ef9906a450702ee2449a2fa1a99ee/b82ef9906a450702ee2449a2fa1a99ee2.gif)
![水波模擬算法_第3頁](http://file4.renrendoc.com/view/b82ef9906a450702ee2449a2fa1a99ee/b82ef9906a450702ee2449a2fa1a99ee3.gif)
![水波模擬算法_第4頁](http://file4.renrendoc.com/view/b82ef9906a450702ee2449a2fa1a99ee/b82ef9906a450702ee2449a2fa1a99ee4.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
水波模擬算法、理論依據(jù)水波的物理學(xué)模型便是理論依據(jù)。水波有如下特性:擴散:水波總是從被擾動的中心向外擴散。在水波擴散過程中每個點都在得到能量后以自己為中心震動,并向四周傳播能量。之所以從干擾點向外擴散,是因為內(nèi)部的各點能量互相抵消而看不到震蕩。重要的是,每個點都在以自己為中心進行震蕩,并向四周擴散能量。衰減:水波在傳播過程中能量會逐漸的衰減,因為水的震蕩是有阻尼的。折射:由于水波表面各處有不同程度的傾斜,由于折射,將會看到水底景物的不同程度的偏移,看起來是變形的。觀察點正下方的景物由于折射偏移,開起來并不在正下方。反射:由于水波表面的凹凸不平,比起平靜時期的水面,水面上各點反光程度將會不同程度的受到影響,從而改變了自己的亮度,顏色。水波還有衍射等特性。但是考慮問題的核心在于能量傳遞或者能量擴散。因為這是該模型的根源。二、約束條件實現(xiàn)該算法的約束條件。約束條件描述實時渲染由于該算法要實時渲染水波,所以只能近似推導(dǎo),而且不能使用三角函數(shù)、除法等低效運算,以保證速度。三、設(shè)計方案用兩個數(shù)組來模擬水池。數(shù)組大?。核馗叨?水池寬度。其中一個數(shù)組存儲水池的上一個狀態(tài),另一個用來存儲當(dāng)前用上一個狀態(tài)正在計算的下一個狀態(tài)。計算完畢,把新狀態(tài)渲染出來;然后新的狀態(tài)就變?yōu)椤吧弦粋€狀態(tài)”的水池,用它來計算更新的水池狀態(tài),數(shù)據(jù)保存在原來的第一個水池中。兩個水池交替的成為新、舊狀態(tài)池。從而,雖著實間的推移,能量就會被擴散開來。為了保證執(zhí)行效率,水波的擴散、折射等均用簡化后的模型代替,以使算法成為線性簡單的;對于里面的乘法、除法運算盡量采用2的冪,可以通過移位運算快速實現(xiàn)。
數(shù)學(xué)推理與算法設(shè)計根據(jù)以上設(shè)計,就可以建立模型進行數(shù)學(xué)推理和算法設(shè)計。上述兩個矩形代表了兩個數(shù)組,即兩個水池狀態(tài)。令水池寬度為W(W=w+1),水池高度為H(H=h+1),假設(shè)點A的坐標(biāo)為(I,J),那么A點對應(yīng)的數(shù)組下標(biāo)為:(J*W)+I。O點(0,0)對應(yīng)buf[0],對角線B(w,h)代表buf[W*H-1],即數(shù)組的最后一個元素。計算波幅的公式推導(dǎo):pp+J+-1y3+Jy1+J中躊¥+J如圖所示,假設(shè)任意一點x0處下一個時刻的能量能根據(jù)當(dāng)前狀態(tài)下周圍的12個點和X0自身的振幅推算出來。即X0在下一個時刻的振幅要由自身的當(dāng)前振幅和受周圍12個點的能量擴散得到。并且假設(shè)這12個點影響X0的程度都一樣,這個模型已經(jīng)得到很大的簡化??梢缘玫剑簒0’=a*(x1+x2+x3+...+x9+y1+y2+y3+y4)+b*x0a,b為待定系數(shù),x0’為下一個時刻的振幅,其余為當(dāng)前振幅。如果假設(shè)水的阻尼系數(shù)為0,那么能量會守恒。即,所有點的能量總和在前后時刻的狀態(tài)下保持不變。x0’+x1’+...+xn’=x0+x1+...+xn因為x0受周圍12個點的影響,反過來也就是說周圍12個點x1,x2,..y4都要受x0的影響,x0總共要出現(xiàn)12次,其余都一樣(忽略邊緣)。那K么(12a+b)*x0+(12a+b)*x1+.....+(12a+b)*xn=x0+x1+...+xn推導(dǎo)出:12a+b=1的結(jié)果。找出一個解:a=1/4,b=-2,這樣1/4可以移位得到,效率很高。所以得到需要的數(shù)學(xué)公式:x0’=(x1+x2+…+y4)/4-2*x0但是實際上這組解不準(zhǔn)確,測試中也出現(xiàn)了問題。因為按照事實,x0點本身對下一個時刻的能量影響不可能大于x0本身,只能等于它本身。所以,只能取b=-1,絕對值為1。這樣,得到a=1/6,即x0’=(x1+x2+...+y4)/6-x0經(jīng)過測試,這組解效果最好,說明跟實際情況接近。考慮阻尼:真正的水是有阻尼的,否則,上面的模型產(chǎn)生的震動將永遠進行下去。所以需要考慮一個阻尼,讓每個點在后續(xù)的時刻能量比理想值有所衰減。即x0’=(x1+x2+...+y4)/6-x0然后有x0’=x0-x0*阻尼因子考慮折射:要進行精確的計算不現(xiàn)實,因為當(dāng)前的設(shè)計方案無法模擬真正的折射?,F(xiàn)在進行線性逼近模擬就可以了。水面越傾斜,折射越厲害,即水下的景物看上去偏移越厲害。所以,用謀點的前后兩點的波幅差作為該點的折射偏移量。對于點x0來說,在x和y兩個方向的折射偏移量分別為:xoff=x7一x5yoff=x3一x1假設(shè)x0點的坐標(biāo)為(I,J),那么x0點上應(yīng)該顯示的水底景物為(I+x0ff,J+yoff)位置正下方的景物點。考慮波源:為了比較逼真的模擬波源,考慮水面受到擾動的時候并不是一個點上受到了擾動,而是在一個比較小的范圍內(nèi)受到了擾動。所以考慮一個擾動半徑R,如果x0點上被擾動,那么以x0為圓心,半徑為R的區(qū)域內(nèi)的點都會不同程度的獲得能量進行震動。這個能量從圓心向外衰減,即x0點獲得最大的能量,距x0越遠的點獲得越少的能量?,F(xiàn)在根據(jù)下面的圖示來進行數(shù)學(xué)推導(dǎo)近似,以獲得比較逼真的擾動效果。假設(shè),圓心為入,距離為d的B點(d<R)獲得的能量為:Eb=Ea-Ea*(R-d)/R=Ea*(1-d/R)上面這個簡單的近似公式經(jīng)過測試,能逼真的模擬波源??紤]光反射:考慮實際情況,如果水面上出現(xiàn)水波,那么由于水面的凹凸不平,各點對光的反射與平靜的水面相比將會發(fā)生不同程度的變化。具體與很多因素有關(guān),不可能進行精確的計算。與前面一樣,這里用簡單化的模型進行線性近似計算。對于水面上一點x0(I,J),對應(yīng)到數(shù)組buf[J*w+I],該點的能量假定為E0,那么x0點上顯示的景物點取得以后,得到顏色分量r,g,b現(xiàn)在考慮反射后得到新的顏色分量:r=r+E0g=g+E0b=b+E0如果超出0—255的范圍,則進行修正。這樣就得到一個效果,就是根據(jù)能量的不同,水面上有些點的亮度得到加強,而有些點的亮度得到削弱,由于能量按照波形分布,最終得到水波的波形效果。(注:這里的反射只考慮了亮度變化,而沒有考慮由于環(huán)境光而產(chǎn)生的顏色變化)驗證在使用了背景圖片的情況下,水的折射就可以單獨成波,沒有考慮反射也能看到效果。因為背景圖像按照波能偏移顯示,得到水波效果。在考慮了反射的情況下(無論是否考慮了折射),不論
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年倉庫管理合同正式樣本
- 2025年海綿城市項目提案報告
- 2025年工程建材跨區(qū)域物流合同
- 2025年冷凍食品物流協(xié)調(diào)協(xié)議書
- 2025年合伙事業(yè)策劃協(xié)議書樣本
- 標(biāo)準(zhǔn)文本2025年獨家房產(chǎn)中介代理合同
- 2025年個人消費質(zhì)押擔(dān)保短期借款合同
- 2025年物業(yè)經(jīng)理合同聘用標(biāo)準(zhǔn)
- 2025年標(biāo)準(zhǔn)軟件策劃保密協(xié)議指南
- 2025年保密合同書范本重訂協(xié)議
- 招投標(biāo)現(xiàn)場項目經(jīng)理答辯(完整版)資料
- 初三開學(xué)第一課家長會優(yōu)秀課件兩篇
- 大學(xué)開學(xué)第一課班會PPT
- 企業(yè)新春茶話會PPT模板
- 重大事故隱患整改臺賬
- 清淤工程施工記錄表
- DB15T 2058-2021 分梳綿羊毛標(biāo)準(zhǔn)
- 2022年涉農(nóng)領(lǐng)域涉嫌非法集資風(fēng)險專項排查工作總結(jié)
- (高職)銀行基本技能ppt課件(完整版)
- 山東省萊陽市望嵐口礦區(qū)頁巖礦
- 機動車維修經(jīng)營備案告知承諾書
評論
0/150
提交評論