• 
    

    
    

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

      ?

      基于粒子系統(tǒng)的船行波三維仿真

      2021-08-27 06:42:28王懷兵陳姚節(jié)
      關(guān)鍵詞:粒子系統(tǒng)船首船尾

      王懷兵,徐 新,2,3,陳姚節(jié)*,2,3

      (1.武漢科技大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,湖北 武漢 430065;2.智能信息處理與實(shí)時(shí)工業(yè)系統(tǒng)湖北省重點(diǎn)實(shí)驗(yàn)室,湖北 武漢 430065;3.冶金工業(yè)過程國家級(jí)虛擬仿真實(shí)驗(yàn)教學(xué)中心,湖北 武漢 430065)

      0 引 言

      船行波是船舶在海面上航行時(shí)與海面及波浪撞擊所產(chǎn)生的一系列浪花飛濺、液滴、氣泡等各種現(xiàn)象形成的水面波。按照船行波所產(chǎn)生的位置不同,可以將船行波分為船首浪和船尾浪。由于船行波是一個(gè)非常復(fù)雜的水面波,極大地受船舶運(yùn)動(dòng)、船舶形態(tài)、風(fēng)、水流速度和方向以及海面上的波浪等因素的影響,沒有光滑、好定義的表面,其運(yùn)動(dòng)形態(tài)既有規(guī)律性又有隨機(jī)性,在構(gòu)成與動(dòng)力學(xué)、光學(xué)交互等方面又非常復(fù)雜,所以一直以來針對(duì)船行波的三維仿真是一個(gè)復(fù)雜的問題,不能使用一個(gè)簡(jiǎn)單的模型來對(duì)其進(jìn)行仿真。近年來,隨著計(jì)算機(jī)與虛擬仿真技術(shù)的不斷發(fā)展,對(duì)于船行波的模擬仿真在許多領(lǐng)域得到了廣泛的應(yīng)用,但是如何更加逼真地對(duì)船行波以及船舶浪花進(jìn)行仿真仍是一個(gè)難點(diǎn),需要重點(diǎn)研究。目前對(duì)于船行波的仿真主要分為以下幾個(gè)方向。

      最簡(jiǎn)單的實(shí)現(xiàn)方法是利用粒子系統(tǒng)的特性,僅僅在視覺上實(shí)現(xiàn)船行波的效果,馬天等人使用該方法進(jìn)行了實(shí)現(xiàn)[1]。但由于該方法在視覺上實(shí)現(xiàn)了船行波的浪花效果,并沒有實(shí)現(xiàn)船舶與海面的交互效果,所以仿真的效果不夠真實(shí)。為了獲得真實(shí)的仿真效果,研究者們基于船行波運(yùn)動(dòng)的物理規(guī)律,提出了基于物理模型的船行波模擬方法,Landrini等人[2]、王順利等人[3]通過該方法進(jìn)行了實(shí)現(xiàn),但由于這種方法計(jì)算過于復(fù)雜,無法滿足實(shí)時(shí)性的要求。還有一種方法則是通過分析船行波的數(shù)學(xué)模型,通過簡(jiǎn)單的計(jì)算得到船行波航跡,再采用粒子系統(tǒng)加以渲染。Michael E.Goss[4]、趙欣等人[5-6]使用這種方法進(jìn)行了實(shí)現(xiàn),在一定程度上簡(jiǎn)化了計(jì)算,實(shí)時(shí)性較好,但是仿真效果卻不夠真實(shí)。

      該文基于最后一種方法,給出了一種新的船行波仿真方法。首先通過分析船舶尾流的幾何特征,求解了尾流寬度與船舶寬和船舶航速之間的關(guān)系,并通過粒子系統(tǒng)來搭建船尾浪的粒子運(yùn)動(dòng)模型,完成了船舶尾浪的模擬,實(shí)現(xiàn)了船舶尾浪的浪花破碎效果。對(duì)于船首浪,則簡(jiǎn)單地使用粒子系統(tǒng)建立粒子系統(tǒng)的運(yùn)動(dòng)模型來模擬船舶首部與海浪碰撞所產(chǎn)生的浪花破碎與飛濺等的效果。

      1 船艏浪粒子系統(tǒng)建模

      由于文中是要在Unity引擎中對(duì)船行波進(jìn)行仿真,所以坐標(biāo)系的選取以Z軸為船舶前進(jìn)、后退方向軸,X軸為船舶向左、向右轉(zhuǎn)彎方向軸,Y軸為船舶的上下方向軸。

      船首浪是由于船首與海面相碰撞而形成,且經(jīng)過碰撞所形成的船首浪應(yīng)該是一個(gè)三維效果[7],即在水上與水下都會(huì)產(chǎn)生。

      但是在視覺上,一般只能夠看到在水面上的波浪[8]。所以為了方便模擬,在模擬船首浪時(shí)只考慮在水面上的船行波。

      首先對(duì)船首船行波的粒子系統(tǒng)進(jìn)行初始化,以船首最頂端的坐標(biāo)為原點(diǎn)(0,0,0),船首的高度為h,船舶的長(zhǎng)度為L(zhǎng),海平面高為H,所以船首到海平面的投影交點(diǎn)為o點(diǎn),其坐標(biāo)為(0,H-h,0),通過計(jì)算獲取船舶與海面相交點(diǎn)的坐標(biāo),就可以得到o點(diǎn)到船首與海面相交點(diǎn)的距離R。由于在Unity中以Z軸為船舶前進(jìn)方向,X軸為船舶轉(zhuǎn)彎控制軸,所以船首粒子發(fā)射的初始位置為:

      (1)

      確定粒子初始位置后,向船首每次發(fā)射4 000個(gè)粒子。粒子的初始速度為:

      (2)

      式中,V為粒子發(fā)射的初始速率,是一個(gè)標(biāo)量,其大小與船舶航速有關(guān),船速越大V越大;θ為粒子速度矢量與xoz平面的夾角,范圍為(0,π/2);β為粒子速度矢量在xoz平面中的投影與x軸的夾角,范圍為[20°,70°]和[-70°,-20°]。

      為了求解海浪與船舶首部的碰撞,就需要對(duì)碰撞進(jìn)行檢測(cè),由于在此處使用的是粒子系統(tǒng),所以這個(gè)檢測(cè)就可以轉(zhuǎn)化為粒子與多邊形的碰撞檢測(cè)[9-10],也就是檢測(cè)海浪粒子在運(yùn)動(dòng)過程中是否會(huì)與代表船舶外邊界的多邊形發(fā)生碰撞。將海浪粒子看成是一個(gè)理想的剛體,船舶首部碰撞后做反彈運(yùn)動(dòng),如圖1所示。

      圖1 粒子碰撞示意圖

      圖中n為粒子與船舶碰撞點(diǎn)相對(duì)于船舶首部邊界的法向量,P點(diǎn)表示粒子在t時(shí)刻所在位置,若粒子未與船舶發(fā)生碰撞,其就會(huì)沿著以前的方向繼續(xù)前進(jìn),直至生命周期結(jié)束[11]。當(dāng)粒子與船舶發(fā)生碰撞,那么在理想狀態(tài)下粒子經(jīng)過反彈應(yīng)該是運(yùn)動(dòng)到P1點(diǎn),但是由于存在粘滯力,以及其他相關(guān)因素的影響可能只能夠運(yùn)動(dòng)到P2點(diǎn)所在位置。為了模擬出這種能量損耗的效果,令碰撞后的速度大小為原來的0.8倍。

      粒子在發(fā)射出去或者碰撞結(jié)束后只受重力的影響,主要在做自由落體運(yùn)動(dòng),所以粒子的初始加速度為:ay=g,在運(yùn)動(dòng)t秒后,船舶將由(X,Y,Z)運(yùn)動(dòng)到(x,y,z),且(x,y,z)的值應(yīng)該為:

      (3)

      當(dāng)粒子的y運(yùn)動(dòng)到H時(shí),控制粒子消失并重新初始化。

      2 船艉浪粒子系統(tǒng)建模

      船尾浪是由于螺旋槳的擊水作用與海水的填充而產(chǎn)生的渦流以及環(huán)流效果,其中渦流的擴(kuò)散會(huì)形成浪花,以及泡沫破碎,使得船舶尾部會(huì)形成很明顯的船舶尾跡[12]。由于船舶的尾跡產(chǎn)生很復(fù)雜,所以為了簡(jiǎn)便,主要根據(jù)實(shí)際的觀察與船舶航行時(shí)的照片及視頻來根據(jù)船舶尾浪的幾何特征進(jìn)行分析,通過分析發(fā)現(xiàn)船舶尾流的幾何特征主要集中在其邊緣特征[13]。其產(chǎn)生的船尾航跡整體向后傾斜,然后垂直于航向。因此定義指向船舶尾流邊緣的切線與船速的夾角為擴(kuò)散角。其特征為靠近船尾的擴(kuò)散角約為50°,但是角度在20 s到30 s后降低到1°[14]。船舶尾流的最大長(zhǎng)度等于船舶航速乘以船舶尾流持續(xù)時(shí)間,而船舶尾流持續(xù)時(shí)間則與海面上的環(huán)境有關(guān),一般為120 s[15],即L=Vc*T。建立一個(gè)坐標(biāo)系,如圖2所示,原點(diǎn)位于船舶尾部的一側(cè)交界處。

      圖2 船舶尾流分析圖

      假設(shè)尾流的擴(kuò)散速度為Vp,船舶航行速度為Vc,則通過圖2可以看出尾流的擴(kuò)散速度與船舶航速是相互垂直的關(guān)系,并且擴(kuò)散角β和Vp,Vc之間的關(guān)系為:

      (4)

      由諾貝達(dá)法則,對(duì)分式上下兩部分分別求導(dǎo)可以得到:

      (5)

      根據(jù)式(5)可以求出尾流的擴(kuò)散速度:

      Vp=Vc?tanβ

      (6)

      擴(kuò)散角β通過分析已經(jīng)知道了其開始時(shí)為50°,經(jīng)過20秒后為1°,因此可以將擴(kuò)散角β定義為:

      (7)

      實(shí)際上,尾流的擴(kuò)散速度還需要受到波浪等海面的環(huán)境因素以及水的粘滯性等因素的影響[16],但是為了計(jì)算的簡(jiǎn)便與快速,該文將這些因素的影響進(jìn)行簡(jiǎn)化。所以t時(shí)刻的船舶尾流寬度W(t)的求解公式如下:

      (8)

      式中,c為影響因子,其大小與海水的粘滯性以及海面的環(huán)境影響等因素有關(guān),一般在(0.3,0.8)之間;B為船舶的寬度。由式(6)~式(8)可以得到式(9)。

      (9)

      通過公式可以發(fā)現(xiàn)船舶尾流的寬度與船舶航速有很大的正相關(guān)關(guān)系,且與船舶寬度有一定的關(guān)系。

      為了實(shí)現(xiàn)船舶尾跡的模擬,接下來將使用粒子系統(tǒng)進(jìn)行仿真,利用粒子系統(tǒng)對(duì)船舶尾跡進(jìn)行建模。

      以船尾與海面相交點(diǎn)為粒子發(fā)射中心生成一個(gè)半徑為1的錐形粒子生成器,所以粒子的初始位置為:

      (10)

      式中,L為船舶的長(zhǎng)度,lc為船尾與海面相交點(diǎn)與船尾頂點(diǎn)到海平面投影之間的距離。

      在確定粒子的初始位置后,粒子的初始速度為:

      (11)

      式中,V為粒子發(fā)射的初始速率,是一個(gè)標(biāo)量,其大小與船舶航速有關(guān),船速越大,V越大;θ為粒子速度矢量與xoz平面的夾角,范圍為(0,π/2);β為粒子速度矢量在水平方向上與z軸的夾角。

      由于粒子在發(fā)射出去后只受重力的影響,主要在做自由落體運(yùn)動(dòng),所以粒子的初始加速度為:ay=g。粒子在運(yùn)動(dòng)t秒后,船舶將由(X,Y,Z)運(yùn)動(dòng)到(x,y,z),且(x,y,z)的值應(yīng)該為:

      (12)

      當(dāng)粒子的高度y運(yùn)動(dòng)到H時(shí),或者寬度達(dá)到式(9)中W(t)時(shí),控制粒子消失并重新初始化。

      3 基于Unity的船行波實(shí)現(xiàn)與分析

      3.1 基于Unity粒子系統(tǒng)的船行波實(shí)現(xiàn)

      在Unity中對(duì)于粒子有著很好的封裝,可以方便地創(chuàng)建與控制。對(duì)粒子的控制方式主要可以分為在Unity控制面板中直接控制和通過編寫腳本進(jìn)行控制,文中則是通過編寫腳本對(duì)船行波粒子進(jìn)行控制,具體步驟如下:

      (1)根據(jù)船舶的位置、航速等信息初始化粒子的生命周期、初始位置、初始速度、加速度等粒子的基本屬性。

      (2)根據(jù)當(dāng)前航速計(jì)算船尾浪粒子系統(tǒng)的邊界。

      (3)根據(jù)t時(shí)刻加速度更新速度和粒子位置。

      (4)判斷粒子是否與船首發(fā)生碰撞,若發(fā)生碰撞則更新粒子運(yùn)動(dòng)方向和速度大小,若沒有發(fā)生碰撞繼續(xù)執(zhí)行。

      (5)判斷粒子的位置是否超出步驟(2)求出的邊界或者粒子已經(jīng)達(dá)到了最大的生命周期,如果沒有繼續(xù)執(zhí)行步驟(3),否則執(zhí)行下一步。

      (6)刪除超出邊界或者達(dá)到最大生命周期的粒子,并添加新的粒子。

      (7)繪制粒子系統(tǒng)的圖像。

      3.2 實(shí)驗(yàn)結(jié)果與分析

      文中是基于Unity引擎和VS2017平臺(tái)進(jìn)行船行波的仿真。仿真實(shí)驗(yàn)的硬件配置:CPU為Inter Pentium N3540/2.16 GHz;4.0 GB內(nèi)存。顯卡為NVIDIA GeForce 920 M;硬盤為186 GB/263 GB。軟件信息:操作系統(tǒng)使用的是Windows 8.1 64位操作系統(tǒng),使用Unity2018作為實(shí)驗(yàn)的運(yùn)行測(cè)試環(huán)境,同時(shí)使用VS2017作為腳本開發(fā)環(huán)境。

      通過第2節(jié)船尾浪的建??梢园l(fā)現(xiàn),船舶尾浪的寬度與船舶寬度以及船舶航速和時(shí)間有關(guān),但其與船寬的關(guān)系與時(shí)間無關(guān),所以著重考慮船尾浪寬度與時(shí)間和航速的關(guān)系。實(shí)驗(yàn)中所用的船舶為集裝箱船,參數(shù)為船長(zhǎng)140米,船寬25米,型深11.5米,設(shè)計(jì)吃水8米,設(shè)計(jì)航速為14節(jié)(1節(jié)約等于1.85 km/h約等于0.5m/s)。假設(shè)式(9)中的c=0.6,可以計(jì)算出在不同航速,粒子發(fā)射后的不同時(shí)間的船舶尾浪寬度,20秒之后船舶尾流寬度變化極小,可以忽略,如表1所示。

      表1 船尾浪寬度

      圖3和圖4是船舶航速為10節(jié)時(shí),船舶分別做回旋運(yùn)動(dòng)和Z型運(yùn)動(dòng)時(shí)的截圖,可以發(fā)現(xiàn)在做回旋實(shí)驗(yàn)與Z型實(shí)驗(yàn)時(shí)尾流也沒有出現(xiàn)很大的變形與失真的現(xiàn)象。

      圖3 船舶做回旋運(yùn)動(dòng)(V=10節(jié))

      圖4 船舶做Z型運(yùn)動(dòng)(V=10節(jié))

      而圖5~圖7則是在同一視角下的船舶速度分別為2節(jié)、4節(jié)、10節(jié)時(shí)的船舶直航的截圖。通過對(duì)比可以發(fā)現(xiàn),隨著速度的增大,船舶尾流的寬度也在增大,符合表1的規(guī)律。并且在實(shí)驗(yàn)中船尾浪所設(shè)置的最大粒子數(shù)量為30 000個(gè),計(jì)算出來的幀速率平均在每秒52幀左右,可以滿足海洋環(huán)境仿真的實(shí)時(shí)性要求。

      圖5 船舶直行(V=2節(jié))

      圖6 船舶直行(V=4節(jié))

      圖7 船舶直行(V=10節(jié))

      4 結(jié)束語

      文中提出了一種新的船行波仿真方法,與現(xiàn)有的方法相比,通過分析船舶尾流所表現(xiàn)出來的幾何特征,并進(jìn)行一定的求解獲得船尾浪的寬度與速度,時(shí)間以及船舶寬度的計(jì)算公式,并使用粒子系統(tǒng)來搭建船尾浪的粒子運(yùn)動(dòng)模型,實(shí)現(xiàn)了船舶尾浪的模擬。實(shí)驗(yàn)所模擬的船行波的視覺效果更加符合現(xiàn)實(shí)中的船行波的表現(xiàn)效果,并且易于實(shí)現(xiàn),且擁有較好的實(shí)時(shí)性。

      但是由于實(shí)驗(yàn)僅僅使用粒子系統(tǒng)對(duì)船行波進(jìn)行模擬,相對(duì)比較簡(jiǎn)單,并沒有實(shí)現(xiàn)船舶與海面交互所形成的波的計(jì)算,所以在真實(shí)性方面有一定的差距,并且沒有考慮一些現(xiàn)實(shí)中的其他因素對(duì)船行波的影響,因此還有待完善與修改。下一步將針對(duì)船舶與海面交互方面進(jìn)行進(jìn)一步的研究,并考慮海洋中的環(huán)境因素,如天氣、海浪等對(duì)船行波的影響,進(jìn)一步提高船行波仿真的模擬效果,提高模擬的真實(shí)度。

      猜你喜歡
      粒子系統(tǒng)船首船尾
      午睡
      船尾外形對(duì)超聲速彈丸減阻特性的影響研究
      利用GPU加速的粒子系統(tǒng)全球流場(chǎng)可視化系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
      基于CFD的不同船首傾角船體阻力特性仿真研究
      生命之船
      中國船尾舵開創(chuàng)航行新時(shí)代
      中國船檢(2018年3期)2018-03-29 06:38:41
      新一代40 萬噸礦砂船首制船順利出塢
      UE 4粒子系統(tǒng)與外部數(shù)據(jù)通信研究
      船首形狀對(duì)船-冰碰撞性能的影響研究
      基于粒子系統(tǒng)的建模與仿真綜述
      娄底市| 宿松县| 平和县| 宜丰县| 石景山区| 临沧市| 文安县| 疏勒县| 安远县| 黑河市| 南昌市| 北辰区| 益阳市| 遵义县| 保康县| 桂阳县| 揭东县| 布拖县| 商洛市| 德令哈市| 仙居县| 海口市| 彭山县| 广东省| 樟树市| 九龙城区| 海门市| 治县。| 滁州市| 新乡市| 邳州市| 彭山县| 武清区| 垣曲县| 朝阳市| 桦川县| 象州县| 太和县| 铁岭市| 偃师市| 甘肃省|