亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于面網(wǎng)格的實(shí)時(shí)水滴仿真方法

文檔序號(hào):6433121閱讀:527來源:國知局
專利名稱:一種基于面網(wǎng)格的實(shí)時(shí)水滴仿真方法
技術(shù)領(lǐng)域
本發(fā)明涉及物理仿真技術(shù)領(lǐng)域,尤其涉及一種基于面網(wǎng)格的實(shí)時(shí)水滴仿真方法。
背景技術(shù)
水滴經(jīng)常出現(xiàn)在日常生活的場景中,比如浴室的玻璃,雨天的車窗等。同大體積的流體相比,水滴具有較大的粘性和表面張力,因此其仿真難度更大。當(dāng)水滴以三維體素表示時(shí),如此大的粘性和表面張力需要非常小的步長才能保證精度和穩(wěn)定性。三維體素表示需要很大的內(nèi)存開銷才能記錄表面的細(xì)節(jié),使得制作包含很多水滴的一般場景的時(shí)候會(huì)非常困難。因此一般的流體仿真方法不適合用于水滴的仿真。Wang提出了一種基于潛水方程的流體仿真方法(H. Wang, G. Miller, and G. Turk, "Solving general shallow wave equations on surfaces,,,in Proceedings of the 2007 ACM SIGGRAPH/Eurοgraphics symposium on Computer animation (SCA 2007), 2007, pp. 2 - 238),這種采用高度場表示的網(wǎng)格能夠很方便的模擬水滴在固體表面的流動(dòng),但是不能夠處理凹陷的固體表面和水柱的斷裂。Thtoey則采用了面網(wǎng)格來表示水滴表面的細(xì)節(jié)(N. Thiirey, C. ffojtan, M. Gross, and G. Turk, "A multiscale approach to mesh-based surface tension flows, ,, ACM Transactions on Graphics (SIGGRAPH 2010),vol. 29,no. 4,pp. 48:1 - 48:10,July 2010),但是他們的方法計(jì)算量很大,需要離線計(jì)算。平均曲率流的隱式解法可以參考Desbrun的論文(M. Desbrun, M. Meyer, P. Schroder, and Α. H. Barr, "Implicit fairing of irregular meshes using diffusion and curvature flow, ” in Proceedings of the 26th annual conference on Computer graphics and interactive techniques (SIGGRAPH ' 99), 1999, pp. 317 - 324 ;D. Mathieu, Μ. Mark, S. Peter, and A. H. Barr, "Discrete differential geometry operators in nD. " Springer-Verlag, 2000, pp. 35 - 57),^Laplace-Beltrami
在稀疏線性空間,因此可以用大步長進(jìn)行迭代,但是他們提出的方法會(huì)造成體積損失。要對(duì)體積進(jìn)行修正,可以采用(I. Eckstein, J. -P. Pons, Y. Tong, C. -C. J. Kuo, and Μ. Desbrun, "Generalized surface flows for mesh processing,,,in Proceedings of the fifth Eurographics symposium on Geometry processing (SGP 2007), 2007, pp. 183 - 192)提出的體積修正方法。由于三維體素化表達(dá)不適合表示水滴,而面網(wǎng)格表示則會(huì)有很多的優(yōu)勢。大的粘性使得速度場趨向光滑,因此可以忽略水滴內(nèi)部的運(yùn)動(dòng),而只關(guān)注其表面。同時(shí),表面張力可以通過表面的平均曲率直接計(jì)算。這些現(xiàn)象使得表面趨向光滑,并使得網(wǎng)格的拓?fù)渥兓讓?shí)現(xiàn)。

發(fā)明內(nèi)容
本發(fā)明針對(duì)電影及游戲中出現(xiàn)的水滴,其運(yùn)動(dòng)計(jì)算量大且不穩(wěn)定的問題,提出了一種基于面網(wǎng)格的實(shí)時(shí)水滴仿真方法。本發(fā)明的目的是通過以下技術(shù)方案來實(shí)現(xiàn)的一種基于網(wǎng)格的實(shí)時(shí)水滴仿真方法,該方法采用三角形面網(wǎng)格來表示水滴;通過變形操作模擬流體粘性和表面張力以及與固體接觸時(shí)的接觸角;然后通過網(wǎng)格操作實(shí)現(xiàn)網(wǎng)格的融合與分裂,并對(duì)網(wǎng)格進(jìn)行優(yōu)化。進(jìn)一步地,所述通過變形操作模擬流體粘性和表面張力以及與固體接觸時(shí)的接觸角,包括以下子步驟
(1)對(duì)網(wǎng)格中每個(gè)頂點(diǎn)施加外力,包括重力、固體表面吸附力、摩擦力以及一部分粘滯阻力,這些外力用于修正頂點(diǎn)的速度和位置;
(2)隱式計(jì)算網(wǎng)格的平均曲率流;
(3)顯式形成接觸角,即水滴邊緣與固體表面形成的角度;具體如下首先搜索所有與固體表面接觸的頂點(diǎn),從中提取出接觸線,并計(jì)算出接觸線上每一點(diǎn)與固體表面所成的角度;如果角度大于最大角,則對(duì)該頂點(diǎn)施加向外的外力;如果角度小于最小角,則對(duì)該頂點(diǎn)施加向內(nèi)的外力;
(4)對(duì)網(wǎng)格進(jìn)行體積修正,對(duì)計(jì)算過程造成的體積損失通過局部和全局兩種方法進(jìn)行修正。進(jìn)一步地,所述通過網(wǎng)格操作實(shí)現(xiàn)網(wǎng)格的融合與分裂,并對(duì)網(wǎng)格進(jìn)行優(yōu)化包括以下子步驟
(1)網(wǎng)格融合具體如下對(duì)于兩個(gè)其包圍盒相交的網(wǎng)格,找出兩個(gè)網(wǎng)格相交的交線, 將原網(wǎng)格沿著這條交線切開,并重新三角化。對(duì)每一個(gè)網(wǎng)格上的三角形,計(jì)算其位于另外一個(gè)網(wǎng)格的內(nèi)部還是外部,將標(biāo)記為內(nèi)部的三角形刪除,并將所有標(biāo)記為外部的三角形合并成為一個(gè)新的網(wǎng)格;
(2)網(wǎng)格分裂在進(jìn)行邊刪除操作的過程中,如果刪除一條邊后,網(wǎng)格就不再是流形,則在此處將網(wǎng)格一分為二。具體如下當(dāng)要?jiǎng)h除的邊確定后,搜索其兩個(gè)頂點(diǎn)的一環(huán)鄰域,如果發(fā)現(xiàn)公共的頂點(diǎn),并且這個(gè)頂點(diǎn)不屬于與此邊相鄰的三角形,那么就在這三個(gè)頂點(diǎn)處插入新的頂點(diǎn)和三角形,使原網(wǎng)格分裂為兩個(gè)新的網(wǎng)格。如果要?jiǎng)h除的邊所在的網(wǎng)格已經(jīng)只是一個(gè)四面體,則將此四面體刪除;
(3)網(wǎng)格優(yōu)化包括邊折疊,邊分裂,邊翻轉(zhuǎn);
本發(fā)明的有益效果是,將流體仿真的自由度從三維體素降低到二維網(wǎng)格的頂點(diǎn),從而大大減少了計(jì)算的空間和時(shí)間開銷。整個(gè)模型分為兩步變形操作,使得水滴形狀發(fā)生變化;網(wǎng)格操作,使得網(wǎng)格產(chǎn)生融合與分裂效果,并且對(duì)網(wǎng)格進(jìn)行優(yōu)化。本發(fā)明可以很容易的與現(xiàn)有的流體方針技術(shù)相結(jié)合,用來制作高精度的流體動(dòng)畫。


圖1是本發(fā)明提出的算法流程圖2是本發(fā)明提出的形成接觸角運(yùn)算示意圖3是本發(fā)明提出的網(wǎng)格分裂算法示意圖,圖3 (a)顯示了通過添加新的頂點(diǎn)和三角形將網(wǎng)格分裂成四面體的過程,圖3 (b)顯示了一種需要特殊處理的情況;
圖4是本發(fā)明的兩水滴碰撞,融合并震蕩的效果圖,其中圖4 (a)是碰撞前地水滴,圖 4 (b)和(c)顯示融合震蕩過程中的兩個(gè)狀態(tài);圖5是本發(fā)明的一滴水滴落在固體表面,被固體表面吸附形成接觸線的效果圖,其中圖5 (a)是滴落前地水滴,圖5 (b)是吸附過程中的水滴,圖5 (c)是最終形成接觸線的水滴;
圖6是本發(fā)明的不同表面張力系數(shù)的流體在相同材料的表面表現(xiàn)出不同形狀的效果
圖7是本發(fā)明的不同表面張力系數(shù)的流體Rayleigh-Plateau不穩(wěn)定現(xiàn)象效果圖,其中圖7 (a)是張力系數(shù)較小時(shí)的效果,圖7 (b)是中等張力系數(shù)的效果,圖7 (c)是張力系數(shù)較大時(shí)的效果。
具體實(shí)施例方式所有的水滴都是由三角形面網(wǎng)格來表示的。面網(wǎng)格的數(shù)據(jù)結(jié)構(gòu)包括頂點(diǎn)坐標(biāo),每一個(gè)三角形所包含的頂點(diǎn),以及面網(wǎng)格上一環(huán)鄰域的鄰接關(guān)系。網(wǎng)格可以采用半邊結(jié)構(gòu),或者其它的能夠直接獲得網(wǎng)格上一環(huán)鄰域的結(jié)構(gòu)來表示。由于小尺度下相對(duì)大粘性和強(qiáng)表面張力,水滴的運(yùn)動(dòng)主要是受到表面影響。基于面網(wǎng)格的流體仿真方法主要分為兩個(gè)步驟,第一步包含了基于物理規(guī)律的面網(wǎng)格變形運(yùn)算,這個(gè)運(yùn)算考慮外力、摩擦力、表面張力以及其他同水滴相關(guān)的物理現(xiàn)象。第二步包含一系列改變網(wǎng)格拓?fù)浣Y(jié)構(gòu)的網(wǎng)格操作,包括網(wǎng)格融合,網(wǎng)格分裂以及網(wǎng)格優(yōu)化。整個(gè)系統(tǒng)流水線如圖1所示。我們通過4個(gè)子步驟來實(shí)現(xiàn)網(wǎng)格的變形操作,更新網(wǎng)格每個(gè)頂點(diǎn)的速度和位置。對(duì)網(wǎng)格中每個(gè)頂點(diǎn)施加外力,包括重力和接觸力,首先作用在網(wǎng)格的形狀和速度上。隨后,隱式計(jì)算網(wǎng)格的平均曲率流,模擬表面張力的效果。當(dāng)水滴與固體表面接觸時(shí),為了產(chǎn)生不同的浸潤效果,再根據(jù)接觸角的情況,在接觸線上顯式地形成接觸角。最終通過體積修正運(yùn)算來修正整個(gè)過程中產(chǎn)生的體積損耗。變形運(yùn)算完成之后, 再進(jìn)行網(wǎng)格的融合,分裂及優(yōu)化操作。這些操作之間相互獨(dú)立,并按順序執(zhí)行,因此可以視為對(duì)網(wǎng)格頂點(diǎn)速度和位置的算子。當(dāng)經(jīng)過了前一個(gè)算子運(yùn)算之后,頂點(diǎn)的速度和位置就作為下一個(gè)算子的輸入。為了
簡化表達(dá),我們用ν嚴(yán)和;^來表示
頂點(diǎn)i在算子運(yùn)算前的速度和位置,用來表示算子運(yùn)算后的速度和位置。具體闡
述如下
一、對(duì)網(wǎng)格中每個(gè)頂點(diǎn)施加外力
需要添加的外力包括重力、固體表面吸附力、摩擦力以及一部分粘滯阻力。用、, 表示頂點(diǎn)i在這一步前的速度,添加重力可以表示為+ 其中 < 是運(yùn)算后
的速度,g是重力加速度,u是時(shí)間步長。
權(quán)利要求
1.一種基于網(wǎng)格的實(shí)時(shí)水滴仿真方法,其特征在于,該方法采用三角形面網(wǎng)格來表示水滴;通過變形操作模擬流體粘性和表面張力以及與固體接觸時(shí)的接觸角;然后通過網(wǎng)格操作實(shí)現(xiàn)網(wǎng)格的融合與分裂,并對(duì)網(wǎng)格進(jìn)行優(yōu)化。
2.根據(jù)權(quán)利要求1所述基于網(wǎng)格的實(shí)時(shí)水滴仿真方法,其特征在于,所述通過變形操作模擬流體粘性和表面張力以及與固體接觸時(shí)的接觸角,包括以下子步驟(1)對(duì)網(wǎng)格中每個(gè)頂點(diǎn)施加外力,包括重力、固體表面吸附力、摩擦力以及一部分粘滯阻力,這些外力用于修正頂點(diǎn)的速度和位置;(2)隱式計(jì)算網(wǎng)格的平均曲率流;(3)顯式形成接觸角,即水滴邊緣與固體表面形成的角度;具體如下首先搜索所有與固體表面接觸的頂點(diǎn),從中提取出接觸線,并計(jì)算出接觸線上每一點(diǎn)與固體表面所成的角度;如果角度大于最大角,則對(duì)該頂點(diǎn)施加向外的外力;如果角度小于最小角,則對(duì)該頂點(diǎn)施加向內(nèi)的外力;(4)對(duì)網(wǎng)格進(jìn)行體積修正,對(duì)計(jì)算過程造成的體積損失通過局部和全局兩種方法進(jìn)行修正。
3.根據(jù)權(quán)利要求1所述基于網(wǎng)格的實(shí)時(shí)水滴仿真方法,其特征在于,所述通過網(wǎng)格操作實(shí)現(xiàn)網(wǎng)格的融合與分裂,并對(duì)網(wǎng)格進(jìn)行優(yōu)化包括以下子步驟(1)網(wǎng)格融合具體如下對(duì)于兩個(gè)其包圍盒相交的網(wǎng)格,找出兩個(gè)網(wǎng)格相交的交線, 將原網(wǎng)格沿著這條交線切開,并重新三角化;對(duì)每一個(gè)網(wǎng)格上的三角形,計(jì)算其位于另外一個(gè)網(wǎng)格的內(nèi)部還是外部,將標(biāo)記為內(nèi)部的三角形刪除,并將所有標(biāo)記為外部的三角形合并成為一個(gè)新的網(wǎng)格;(2)網(wǎng)格分裂在進(jìn)行邊刪除操作的過程中,如果刪除一條邊后,網(wǎng)格就不再是流形,則在此處將網(wǎng)格一分為二 ;具體如下當(dāng)要?jiǎng)h除的邊確定后,搜索其兩個(gè)頂點(diǎn)的一環(huán)鄰域,如果發(fā)現(xiàn)公共的頂點(diǎn),并且這個(gè)頂點(diǎn)不屬于與此邊相鄰的三角形,那么就在這三個(gè)頂點(diǎn)處插入新的頂點(diǎn)和三角形,使原網(wǎng)格分裂為兩個(gè)新的網(wǎng)格;如果要?jiǎng)h除的邊所在的網(wǎng)格已經(jīng)只是一個(gè)四面體,則將此四面體刪除;(3)網(wǎng)格優(yōu)化包括邊折疊,邊分裂,邊翻轉(zhuǎn)。
全文摘要
本發(fā)明公開了一種基于面網(wǎng)格的實(shí)時(shí)水滴仿真方法,該方法通過將三維流體運(yùn)動(dòng)模型簡化為面網(wǎng)格模型;通過在每一步迭代隱式計(jì)算平均曲率流,產(chǎn)生表面張力的效果;通過接觸角運(yùn)算改變水滴接觸固體表面時(shí)的形狀;本發(fā)明通過進(jìn)行一系列的網(wǎng)格優(yōu)化及連通性測試,實(shí)現(xiàn)網(wǎng)格的融合與分裂,并提高網(wǎng)格的質(zhì)量,實(shí)時(shí)獲得與多種真實(shí)物理實(shí)驗(yàn)接近的水滴運(yùn)動(dòng)效果,包括水滴碰撞時(shí)的小波,水柱的截?cái)嘁约八卧诠腆w表面的流動(dòng)。
文檔編號(hào)G06T17/20GK102298794SQ20111027120
公開日2011年12月28日 申請日期2011年9月14日 優(yōu)先權(quán)日2011年9月14日
發(fā)明者周昆, 張譯中, 王華民, 王帥, 童一穎 申請人:浙江大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1