超逼真的表面張力模擬! (轉(zhuǎn)載)

開放群:566811107(資料多,不僅限交流)

群一:836281296
群二:594368389  
群三:1080606488        
群四: 678357196      
我的qq: 209870384有興趣的可以加我,交流模型。



      由北京大學(xué)陳寶權(quán)教授研究團(tuán)隊(duì)與北京電影學(xué)院未來影像高精尖創(chuàng)新中心、達(dá)特茅斯學(xué)院、德克薩斯農(nóng)工大學(xué)合作,提出全新的模擬框架處理帶表面張力的流固強(qiáng)耦合, 能夠精確模擬各種與表面張力相關(guān)的物理過程。本文入選了 SIGGRAPH 2021論文 Trailer(精選預(yù)告片),將在計(jì)算機(jī)動(dòng)漫節(jié) Computer Animation Festival (CAF) 上播放,并在 SIGGRAPH 主頁推薦。

1 簡介

       樹葉落在水面上泛起陣陣漣漪,密度比水大的回形針卻能漂浮在水面上,這些現(xiàn)象的背后有一個(gè)共同原因——表面張力?,F(xiàn)有的物理模擬技術(shù)能夠單獨(dú)模擬流體和固體,但是想要在屏幕上重現(xiàn)表面張力的作用時(shí),我們需要搭建一個(gè)全新的模擬框架。

在這篇文章中,我們使用顯式三角網(wǎng)格表示流體表面的薄層,并在薄層中建立表面張力模型,然后采用統(tǒng)一的模擬框架將流體、流體表面層和固體三者耦合起來,實(shí)現(xiàn)表面張力驅(qū)動(dòng)的流固耦合模擬。在這個(gè)框架下,我們可以模擬一些之前不能實(shí)現(xiàn)的表面張力效果:密度大于水的物體漂浮在水面上,水面上的物體相互吸引(甜麥圈效應(yīng)),以及表面張力不足以支撐物體后的水面破碎效果。

2 表面張力

超逼真的表面張力模擬! (轉(zhuǎn)載)的圖1表面張力原理圖,來自wikipedia

表面張力指的是流體表面會(huì)盡可能收縮的趨勢。微觀原理上是因?yàn)榱黧w表面的分子密度比流體內(nèi)部的分子密度更為稀疏,因而表面分子之間的平均距離更大,所以分子間的相互作用表現(xiàn)為一種吸引力。從宏觀上來講,我們可以定義一個(gè)表面張力勢能:

其中 是流體表面的面積, 稱為表面張力系數(shù)。當(dāng)流體與固體發(fā)生作用時(shí),流體表面的分子同時(shí)會(huì)受到固體分子的作用,從而將表面張力作用在固體上。固體根據(jù)表面特性不同可以分為親水和疏水兩類,疏水材質(zhì)在水面上會(huì)受到向上的表面張力作用,對(duì)于一些細(xì)小的結(jié)構(gòu)來說這個(gè)力要比浮力更為明顯。比如說水黽是一種可以生活在水面上的昆蟲,它的腳非常細(xì)長,并且有很多絨毛來保持疏水特性,因而水黽可以依靠表面張力維持自身的重量,并通過腳來劃動(dòng)水面來向前運(yùn)動(dòng)甚至跳起。


超逼真的表面張力模擬! (轉(zhuǎn)載)的圖2

水黽 ? orestART / Flickr

3  方法介紹


超逼真的表面張力模擬! (轉(zhuǎn)載)的圖3

算法原理圖

我們的耦合系統(tǒng)分為三個(gè)部分:流體,表面層,固體。流體部分我們采用傳統(tǒng)的歐拉網(wǎng)格的模擬方法,在交錯(cuò)網(wǎng)格(Staggered Grid)上用算符分離的方法求解離散不可壓的 Navier Stokes 方程。固體部分采用傳統(tǒng)的拉格朗日方法求解牛頓方程。我們的主要貢獻(xiàn)在于在流體與固體之間插入了一層有質(zhì)量、有厚度的流體表面層,這個(gè)表面層直接對(duì)應(yīng)我們上面介紹的流體表面分子稀疏的部分。因?yàn)檫@個(gè)表面層非常薄,我們可以使用帶虛擬厚度的單層三角網(wǎng)格來表示,然后在這個(gè)表面層上施加表面張力勢能。為了將這三個(gè)部分耦合起來,我們?cè)诒砻鎸雍捅尘熬W(wǎng)格、固體和背景網(wǎng)格之間定義了速度的插值矩陣,同時(shí)將流體的壓強(qiáng)作用在表面層和固體上,以及將表面張力作用在固體上,這樣我們將這三部分寫進(jìn)一個(gè)三相耦合方程里進(jìn)行統(tǒng)一求解和更新。最終我們算法的流程如下:


超逼真的表面張力模擬! (轉(zhuǎn)載)的圖4

算法流程圖

4

部分結(jié)果展示

這里我們展示我們論文的部分結(jié)果,更多結(jié)果請(qǐng)查看我們的視頻。在櫻桃、回形針、樹葉和小船這三個(gè)例子中,我們使用盡量與真實(shí)圖片相同的配置進(jìn)行模擬,都得到了與真實(shí)圖片相差無幾的結(jié)果,體現(xiàn)了我們算法的真實(shí)性。

例子1:櫻桃

超逼真的表面張力模擬! (轉(zhuǎn)載)的圖5

真實(shí)圖片 ?Valery Orlov

超逼真的表面張力模擬! (轉(zhuǎn)載)的圖6

超逼真的表面張力模擬! (轉(zhuǎn)載)的圖7

模擬結(jié)果:櫻桃和水/櫻桃和牛奶

在這個(gè)例子中我們展示了在其他條件都相同的情況下,我們僅僅改變了流體的表面張力系數(shù),櫻桃掉進(jìn)表面張力系數(shù)更大的水面上可以漂浮起來,但是在表面張力系數(shù)更小的牛奶里就會(huì)掉下去。

例子2:回形針

超逼真的表面張力模擬! (轉(zhuǎn)載)的圖8

真實(shí)圖片 ? Robert D.Anderson

超逼真的表面張力模擬! (轉(zhuǎn)載)的圖9

模擬結(jié)果:回形針

在這個(gè)例子中我們成功使密度大于水的回形針漂浮在水面上,水面下面的條狀背景會(huì)因?yàn)樗娴膹澢冃?,從左到右回形針的密度逐漸增大,中間條紋的密度也在逐漸增加。在最右邊的場景中,回形針的密度達(dá)到了7.9 g/cm^3(金屬鐵的密度),是水密度的將近8倍,但是依然可以依靠表面張力漂浮起來,得到的條紋分布與真實(shí)圖片最為接近。

例子3:樹葉和小船

超逼真的表面張力模擬! (轉(zhuǎn)載)的圖10

真實(shí)圖片 ? Pictoscribe -/Flickr

超逼真的表面張力模擬! (轉(zhuǎn)載)的圖11

模擬結(jié)果:小船和樹葉

在這個(gè)例子中我們展示了我們方法可以方便地處理薄殼剛體的情況,小船和樹葉都使用單層三角網(wǎng)格來表示。在樹葉的邊界上,我們?cè)俅蔚玫搅伺c真實(shí)圖片幾乎完全一致的結(jié)果。


超逼真的表面張力模擬! (轉(zhuǎn)載)的圖12

模擬結(jié)果:水黽機(jī)器人

在這個(gè)例子中,我們?cè)O(shè)計(jì)了一個(gè)類似于水黽的水上機(jī)器人,它可以依賴自身的關(guān)節(jié)驅(qū)動(dòng)在水面上向前運(yùn)動(dòng)。



登錄后免費(fèi)查看全文
立即登錄
App下載
技術(shù)鄰APP
工程師必備
  • 項(xiàng)目客服
  • 培訓(xùn)客服
  • 平臺(tái)客服

TOP

106
8
17