• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于物理模型的海浪真實(shí)感模擬研究

      2021-11-19 11:17:06朱天惠任鴻翔趙玉然
      計(jì)算機(jī)仿真 2021年10期
      關(guān)鍵詞:真實(shí)感渦度海浪

      朱天惠,任鴻翔,趙玉然

      (大連海事大學(xué)航海動(dòng)態(tài)仿真和控制交通行業(yè)重點(diǎn)實(shí)驗(yàn)室,遼寧 大連116026)

      1 引言

      航海模擬器的高速發(fā)展為航海院校及科研院所培養(yǎng)輸送大批高素質(zhì)海員提供了堅(jiān)實(shí)的基礎(chǔ)。航海模擬器的優(yōu)劣主要體現(xiàn)在功能或稱為適任能力、物理真實(shí)感、行為真實(shí)感和操作環(huán)境真實(shí)感等幾個(gè)方面。視景系統(tǒng)是近年來航海模擬器發(fā)展最快的部分之一,是模擬器研制成功與否的關(guān)鍵技術(shù),其主要體現(xiàn)在提升模擬器的操作環(huán)境真實(shí)感[1]。

      航海模擬器中海浪約占整個(gè)視景的一半?yún)^(qū)域,其模擬的逼真與否對環(huán)境真實(shí)感影響較大?,F(xiàn)階段航海模擬器中有關(guān)海浪的模擬主要采用的是基于構(gòu)造的方法,該方法主要包括基于幾何模型的方法和基于統(tǒng)計(jì)和譜的方法。基于構(gòu)造的方法的優(yōu)點(diǎn)是實(shí)時(shí)性較強(qiáng),缺點(diǎn)是真實(shí)感較差,難以展現(xiàn)流體細(xì)節(jié),而且在較高視點(diǎn)處觀察海浪,磁磚效應(yīng)比較明顯[2]。

      隨著計(jì)算機(jī)硬件設(shè)備的高速發(fā)展,圖形處理器的計(jì)算速度大大加快,基于物理模型的方法逐漸步入視野?;谖锢砟P偷暮@死L制方法現(xiàn)階段主要分為歐拉網(wǎng)格法(Grid-basedEulerian Approach)以及拉格朗日粒子法(Particle-based Lagrangian Approach)歐拉法通過固定網(wǎng)格單元來模擬流體在單元上的移動(dòng),其缺點(diǎn)是易受時(shí)間步長條件限制,且當(dāng)網(wǎng)格分辨率增加,真實(shí)感較強(qiáng)時(shí),限制效果會更明顯。拉格朗日法則通過分析流體質(zhì)點(diǎn)在任意時(shí)刻的速度、運(yùn)動(dòng)軌跡、密度、壓力等物理量,計(jì)算機(jī)圖形學(xué)中使用粒子來表示質(zhì)點(diǎn),通過粒子來離散控制方程。拉格朗日法的優(yōu)勢在于模擬真實(shí)感較強(qiáng),且可以在三維空間模擬例如水花、泡沫等更加豐富的流體細(xì)節(jié)、處理更加復(fù)雜的流體表面[3]。常用的拉格朗日方法有SPH(SmoothedParticleHydrodynamics)方法以及PBF(PositionBasedFluids)方法等。因?yàn)镻BF方法相比較傳統(tǒng)SPH方法,具有允許大時(shí)間步長,實(shí)時(shí)性較好等特點(diǎn),基于位置的流體繪制方法成為海浪仿真研究的熱點(diǎn)。Müller等[5]最先提出PBD(PositionBasedDynamics)框架,并用來模擬布料。Macklin[5]等首次將PBD框架用于流體模擬,提出一個(gè)融合了密度迭代求解器的PBF框架,實(shí)現(xiàn)了與當(dāng)前SPH求解器接近的不可壓縮性和收斂性,穩(wěn)定性強(qiáng),時(shí)間步長大,適合實(shí)時(shí)渲染[3]。Kang等[6]通過構(gòu)建無散速度場,加快收斂速度。K?ster等[7]提出一種自適應(yīng)迭代的APBF(Adaptive PBF)方法,適用于更大場景流體實(shí)時(shí)模擬。

      結(jié)合上述分析,綜合考慮物理海浪流體建模方法,提出一種基于位置動(dòng)力學(xué)的海浪真實(shí)感模擬方法。主要通過構(gòu)建PBF流體模型,利用渦度約束函數(shù)進(jìn)行Curl運(yùn)算求解粒子的旋度場,再根據(jù)所求得的旋度場與位置向量進(jìn)行計(jì)算,得到渦度力場,最后根據(jù)力場所得旋向加速度實(shí)時(shí)更新流體粒子的速度,從而實(shí)現(xiàn)實(shí)時(shí)的真實(shí)感海浪模擬。

      2 流體模型構(gòu)建

      PBF方法是一種基于PBD框架下的無網(wǎng)格、拉格朗日粒子法。PBD框架的本質(zhì)是構(gòu)建約束條件,然后通過對約束條件進(jìn)行投影,更新流體粒子的位置信息,并借此更新速度值。PBF作為基于PBD框架的流體模擬方法,通過構(gòu)建密度約束,迭代求解流體粒子的位移偏量,根據(jù)位移偏量,實(shí)時(shí)更新流體粒子的速度,再將流體粒子繪制出來。

      2.1 基于位置的動(dòng)力學(xué)框架

      傳統(tǒng)方法通過求解力的值,再根據(jù)力的值進(jìn)行數(shù)值積分,從而更新速度值。與傳統(tǒng)的基于力的求解方法不同,基于位置的動(dòng)力學(xué)框架采用的是約束的手段。在PBD方法中,當(dāng)檢測到兩個(gè)物體發(fā)生穿透時(shí),直接根據(jù)所采用的約束條件修正物體的位置,再更新物體的速度信息。PBD框架[4]算法如表1所示:

      表1 基于位置的動(dòng)力學(xué)框架算法

      基于位置的動(dòng)力學(xué)框架核心在于第7)~15)行。第7)行通過顯式歐拉積分方法估算物體頂點(diǎn)的新位置,9)~11)行是一個(gè)迭代解算器,通過采用高斯-賽德爾迭代的方法反復(fù)進(jìn)行約束投影來控制估算位置從而保證位移滿足約束條件。通過公式可以表示為:

      (1)

      在13)、14)行,物體頂點(diǎn)移動(dòng)到了最佳估算位置,速度也隨之更新,速度的控制通過第5)、6)及16)行實(shí)現(xiàn)。無法轉(zhuǎn)換為位置約束的外力通過第5)行進(jìn)行速度更新,系統(tǒng)只考慮重力對物體的影響,所以合外力與質(zhì)量倒數(shù)的乘積等于重力加速度。第6)行用于特定情況下添加速度阻尼,第16)行根據(jù)摩擦系數(shù)和補(bǔ)償系數(shù)調(diào)整碰撞頂點(diǎn)的速度。

      2.2 PBF流體模型

      通過與傳統(tǒng)SPH插值方法結(jié)合,Macklin等人[5]提出一種基于PBD框架下的流體模擬方法PBF。不同于傳統(tǒng)PBD框架用于解決固體問題而采用的位置約束,PBF方法通過計(jì)算流體質(zhì)點(diǎn)的密度,采用一種密度約束方法來更新流體質(zhì)點(diǎn)的位置。PBF粒子系統(tǒng)建模流程如圖1所示。

      圖1 PBF粒子系統(tǒng)建模流程

      為保證流體的不可壓縮性,針對每一個(gè)流體粒子,都需要滿足密度約束條件

      (2)

      式中,ρ0是靜態(tài)密度,ρi通過標(biāo)準(zhǔn)SPH密度估算器給出

      (3)

      在流體模型中,認(rèn)為所有的流體粒子擁有均等的質(zhì)量,所以后續(xù)公式中舍掉質(zhì)量項(xiàng)mj。式中W為光滑核函數(shù),根據(jù)Muller[8]首次將SPH方法用于模擬流體時(shí)采用的核函數(shù),本文選用Poly6核函數(shù)用于密度估算,選用Spiky核函數(shù)用于梯度計(jì)算,核函數(shù)如下

      (4)

      (5)

      Monaghan等人。給出了在粒子層面上的梯度公式,將其用于密度約束,可以得到對于任意流體粒子k的約束條件的梯度為

      (6)

      梯度公式隨著流體粒子的類型不同而產(chǎn)生變化,流體粒子k可分為對象粒子以及鄰域粒子

      (7)

      將其帶入到式(1),可以求得式中拉格朗日算子λ的值為

      (8)

      每個(gè)流體粒子都具有拉格朗日算子λ,算子的值對于同一流體模型中的所有流體粒子都是相同的。

      因?yàn)槭?2)中的約束條件是非線性的,且在光滑核函數(shù)的邊界梯度逐漸消失。這會導(dǎo)致所求得的拉格朗日算子在分母無窮小時(shí)的不穩(wěn)定。根據(jù)Smith提出的混合約束力理論,可以在密度約束階段添加一個(gè)大小為ξλ的約束力,從而使約束更加合理,ξ是人為定義的松弛參數(shù)常量,考慮影響的拉格朗日算子為

      (9)

      由此,可以得到考慮鄰域粒子密度約束修正情況下,且保證流體不可壓縮性條件的流體粒子的位移值為

      (10)

      3 旋渦限制力

      為實(shí)現(xiàn)海浪表面的逼真模擬,并體現(xiàn)海浪粒子運(yùn)動(dòng)實(shí)時(shí)性的特點(diǎn),需要為海浪表面粒子添加旋渦限制力。本文在添加旋渦限制力階段采用的方法是渦度約束的方法[11]。不同于文獻(xiàn)[4]利用渦度約束函數(shù)來抵消因?yàn)榉椒ū旧懋a(chǎn)生的附加阻尼導(dǎo)致的原有渦旋的耗散,本文通過討論選用合理化調(diào)節(jié)系數(shù),通過渦度約束函數(shù)產(chǎn)生旋渦控制力調(diào)節(jié)流體粒子系統(tǒng)速度場,從而達(dá)到逼真模擬海浪的目地。

      圖2 一個(gè)簡單向量的旋度場

      3.1 Curl運(yùn)算

      在進(jìn)行流體粒子渦度計(jì)算的時(shí)候,采用了Curl運(yùn)算。向量分析中,旋度(Curl)是一個(gè)向量算子,表示在三維歐幾里得空間中的向量場的無窮小量旋轉(zhuǎn),在向量場每個(gè)點(diǎn)上,點(diǎn)的旋度表示為一個(gè)向量,稱為旋度向量。這個(gè)向量的特征刻畫了在這個(gè)點(diǎn)上的旋轉(zhuǎn)。

      在不同的坐標(biāo)系下,向量場的旋度有不同的表達(dá)方式。PBF流體模型中采用的是流體粒子三維直角坐標(biāo)系,所以三維直角坐標(biāo)系中展開Curl運(yùn)算。

      設(shè)向量場A為

      A(x,y,z)=Ax(x,y,z)i+Ay(x,y,z)j+Az(x,y,z)k

      (11)

      (12)

      采用向量積的行列式記號形式可表示為:

      (13)

      3.2 渦度約束

      渦度約束[12]的方法需要首先對于每一個(gè)流體粒子i采用Curl運(yùn)算計(jì)算其渦度ωi:

      (14)

      式中,mj為流體粒子的質(zhì)量,ρj為流體粒子的密度,vi流體粒子的速度,vj為粒子i的鄰域粒子的速度。采用粒子i與鄰域粒子的速度差與梯度核函數(shù)進(jìn)行叉乘,得到Curl運(yùn)算的結(jié)果。

      得到流體粒子的渦度ωi后,需計(jì)算流體粒子的位置矢量N:

      (15)

      (16)

      將計(jì)算所得位置矢量與已得渦度進(jìn)行叉乘,得到流體粒子的旋渦控制力F:

      (17)

      最后,根據(jù)由旋渦控制力所求得的加速度,在時(shí)間步長內(nèi)更新流體粒子的速度。在調(diào)節(jié)系數(shù)ε的控制下,旋渦控制力大小的不一致產(chǎn)生不同程度的流體粒子表面的起伏,從而實(shí)現(xiàn)逼真地模擬海浪。

      4 結(jié)果與討論

      4.1 實(shí)驗(yàn)結(jié)果

      實(shí)驗(yàn)平臺是Intel(R)Core(TM)i5-7300HQ CPU 2.50 GHZ,主存16GB,GPU為NVIDIAGeForceGTX 1050 Ti,顯卡內(nèi)存為4GB,開發(fā)環(huán)境VisualStudio 2015,采用OpenGL作為圖形的編程接口。

      圖3顯示了粒子系統(tǒng)的初始形態(tài),流體粒子數(shù)為12000,調(diào)節(jié)系數(shù)選定為0,即不添加旋渦控制力時(shí)流體粒子的潰堤模型。從圖中可以看出,粒子模型表面平整,無渦旋痕跡,較為光滑,是一種靜水中水面的模擬。但切合航海實(shí)際,大多數(shù)情況下海面不會是平靜的,在風(fēng)流、浪涌的作用下,海面會產(chǎn)生浪花等不規(guī)則運(yùn)動(dòng)。所以添加旋渦限制力來模擬海面是必要地。

      圖3 無添加旋渦限制力的流體粒子模型

      圖4顯示了當(dāng)調(diào)節(jié)系數(shù)選定為1.0時(shí)的流體粒子模型。此時(shí)隨著旋渦控制力的加入,流體模型表層粒子產(chǎn)生渦旋效果,渦旋與渦旋的邊界相疊加從而產(chǎn)生類似于波峰波谷的變化。

      圖4 調(diào)節(jié)系數(shù)1.0下的流體粒子模型

      隨著調(diào)節(jié)系數(shù)的不斷加大,流體粒子的運(yùn)動(dòng)劇烈程度逐漸加大。圖5為調(diào)節(jié)系數(shù)2.0下的流體粒子模型。與調(diào)節(jié)系數(shù)1.0下的粒子模型不同的是,當(dāng)系數(shù)加大至2.0時(shí),可以清楚地看到在模型的上方有部分粒子飛濺,同時(shí)整個(gè)模型的運(yùn)動(dòng)程度相比較系數(shù)1.0下更為劇烈。從航海實(shí)際來看,劇烈的海浪運(yùn)動(dòng)常常帶有翻卷、破碎飛濺等細(xì)節(jié)特征。當(dāng)調(diào)節(jié)系數(shù)選取合適時(shí),飛濺的粒子能恰好的模擬出海浪運(yùn)動(dòng)產(chǎn)生浪花飛濺等特效。

      圖5 調(diào)節(jié)系數(shù)2.0下的流體粒子模型

      4.2 比較分析

      從實(shí)驗(yàn)結(jié)果可以看出,流體粒子系統(tǒng)的運(yùn)動(dòng)劇烈程度隨著調(diào)節(jié)系數(shù)的增大而變得更加劇烈,但是海浪模擬的真實(shí)感不會隨著系數(shù)的增大而變得更為真實(shí)。當(dāng)系數(shù)增大到一定程度時(shí),流體粒子的旋向加速度會使其旋向速度過大,從而導(dǎo)致流體粒子發(fā)生橫向漂移。此時(shí),流體粒子的運(yùn)動(dòng)已不符合自然物理規(guī)律,無法真實(shí)地模擬海浪運(yùn)動(dòng)。

      表2給出了在不同調(diào)節(jié)系數(shù)下海浪運(yùn)動(dòng)的模擬效果。當(dāng)調(diào)節(jié)系數(shù)選取在0~0.9之間時(shí),流體粒子模型的渦旋程度只能模擬出原有流體粒子渦旋的耗散;當(dāng)系數(shù)選取在1.0~2.9之間時(shí),伴隨著所選取系數(shù)的增大,海面的波動(dòng)程度不斷加深;系數(shù)選取在3.0~3.9之間時(shí),整個(gè)流體粒子系統(tǒng)演變?yōu)橐粋€(gè)大渦旋的旋轉(zhuǎn)運(yùn)動(dòng),此時(shí)已無法真實(shí)地模擬海浪運(yùn)動(dòng);當(dāng)系數(shù)的選取大于4.0時(shí),流體粒子系統(tǒng)發(fā)散。

      表2 不同調(diào)節(jié)系數(shù)下的模擬效果

      通過綜合比較分析,當(dāng)調(diào)節(jié)系數(shù)取值在1.0~3.0之間,可以較好地模擬海浪運(yùn)動(dòng)。

      5 結(jié)語

      本文主要討論海浪真實(shí)感模擬問題。利用基于位置的動(dòng)力學(xué)框架下的PBF方法進(jìn)行流體粒子建模,再利用渦度約束的方法豐富流體表面細(xì)節(jié)。實(shí)驗(yàn)結(jié)果表明,本文提出的合理化系數(shù)渦度約束方法能有效的模擬海浪表面的翻卷與破碎,提高了海面模擬的真實(shí)感。但對于流體表面重建與繪制以及調(diào)節(jié)系數(shù)的最優(yōu)化選擇還需要做進(jìn)一步的研究,從而繼續(xù)提升模擬的真實(shí)感。

      猜你喜歡
      真實(shí)感渦度海浪
      丫丫和小海浪
      幼兒園(2021年13期)2021-12-02 05:13:54
      海浪
      小讀者(2021年2期)2021-11-23 07:17:34
      樊應(yīng)舉
      書香兩岸(2020年3期)2020-06-29 12:33:45
      南海相對渦度的時(shí)空變化特征分析*
      斜壓渦度的變化與臺風(fēng)暴雨的關(guān)系研究
      回歸真實(shí)感
      2017年11月16日至17日博州降雪天氣分析
      科技資訊(2018年30期)2018-03-11 09:30:58
      細(xì)推物理重體驗(yàn) 表現(xiàn)人物貴專精
      戲劇之家(2016年20期)2016-11-09 22:03:27
      淺議假定情境與表演的真實(shí)感
      戲劇之家(2015年24期)2016-01-12 18:48:40
      南豐蜜桔造型
      河津市| 南阳市| 苍溪县| 贞丰县| 伊金霍洛旗| 鄂温| 邹平县| 额济纳旗| 镇巴县| 秀山| 山西省| 元谋县| 呼伦贝尔市| 岳池县| 桑植县| 柳江县| 乐至县| 缙云县| 福安市| 东乌珠穆沁旗| 灌阳县| 吴川市| 广饶县| 冷水江市| 徐汇区| 开阳县| 靖西县| 贵州省| 双牌县| 禄劝| 云南省| 柏乡县| 东平县| 宁强县| 天门市| 宿州市| 公主岭市| 贵德县| 政和县| 金堂县| 乌审旗|