美章網 資料文庫 催淚煙霧仿真設計范文

    催淚煙霧仿真設計范文

    本站小編為你精心準備了催淚煙霧仿真設計參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。

    催淚煙霧仿真設計

    《計算機仿真雜志》2014年第六期

    1催淚煙霧系統

    1.1催淚煙霧原理催淚煙霧的形成是利用催淚彈中的煙火劑燃燒產生的熱量將裝填在彈體內的催淚藥劑加熱汽化,在彈體內部與外部環境形成巨大壓強差,迫使催淚蒸汽從排煙孔急速噴出,在空氣中遇冷迅速凝結成極小的固態微粒,形成一種不規則氣溶膠形態的固液態微粒群[8]。催淚煙霧具有以下特點:發射源點面積小,煙霧初始速度大,溫度高,初始位置和運動方向相同,在運動的開始階段煙霧粒子所受空氣作用明顯;在運動過程中,局部溫差大,所受到的熱浮力大小不一,容易發生局部的漩渦效應。催淚煙霧運動過程可做以下描述:煙霧從發煙孔噴出時,由于初速大、溫度高,受到空氣阻力的影響做急劇減速運動;當速度降到一定程度時,受熱浮力、風力等影響在空氣中做擴散運動。相對于一般火焰煙霧,催淚煙霧運動更為復雜,初始的急劇減速運動和隨后的擴散運動兩個過程中煙霧的運動特點和規律明顯不同。而火焰煙霧運動初始速度不高,受到的空氣阻力不大,沒有明顯的減速過程,整個過程運動特點和規律變化也不大,傳統的煙霧運動模型通常沒有將運動過程做詳細區分。因此,根據催淚煙霧的運動特點,傳統的煙霧運動模型并不適合催淚煙霧的運動模擬。

    1.2粒子系統原理粒子系統是1983年Reeves[6]提出的,它把運動的不規則物體看作由有限的具有確定屬性的流動粒子所組成的集合,每一個粒子都具有形狀、大小、顏色、透明度、運動速度、運動方向、生命周期等相關的屬性,而其中的很多屬性都是與時間相關的函數,隨著時間的推移,每個粒子都會經歷產生、活動和消亡3個階段,通過對粒子在系統中形狀、特征和運動來模擬不規則物體的運動變化[7]。粒子系統和催淚煙霧模擬的結合點在于把整個煙霧看成由很多個煙霧團組成,再用系統中的粒子來表征煙霧團,通過對粒子在系統中形狀、特征和運動來模擬煙霧團的運動變化,從而達到對整個催淚煙霧運動的仿真

    1.3催淚煙霧分段式運動模擬催淚煙霧從發煙孔噴出后急劇減速運動和隨后在空氣中的擴散運動,這兩個階段運動規律區別最明顯,因此本文將催淚煙霧運動過程大致分為兩個階段:第一階段為噴煙階段,為煙霧從發煙孔噴出后受到空氣阻力影響急劇減速的運動過程;第二階段為擴散階段,當速度降到一定值后,煙霧在空氣中緩慢擴散的過程。對于噴煙階段,此過程持續時間短,煙霧運動速度快,軌跡相對集中,空氣阻滯對煙霧運動的影響占主導作用,因此可忽略煙霧擴散的情況,直接根據牛頓第二定律求得粒子運動軌跡方程;對于擴散階段,空氣阻力對粒子運動的作用不明顯,煙霧運動以擴散為主,此階段利用N-S不可壓縮氣體擴散模型求得運動軌跡方程。兩個階段各自適用對應的運動規律,以速度v1為連接點,共同組成描述催淚煙霧整個運動過程的階段運動模型。

    1.4階段運動模型建立1)煙粒子初始屬性設置煙霧粒子從發煙孔噴出時的狀態為系統中粒子的初始狀態,初始質量。2)階段力環境屬性設置現實煙霧運動過程中,空氣阻力、熱浮力、重力、和風力是貫穿整個過程的,除了重力其它力都是隨時間變化的,在仿真程序中根本不可能實現精確地控制。為了便于程序實現,現將模型中兩階段的受力情況作如下假設:①設煙霧噴出方向與x-y平面平行和風力方向與x-z平面平行;②噴煙階段只考慮空氣阻力、熱浮力和風力的影響,由于噴煙階段時間短、速度快,煙霧軌跡彎曲度不大,故設定此階段空氣阻力的作用方向始終與煙霧初始噴出方向相反,與x軸夾角為α;③擴散階段由于粒子運動速度小,不考慮空氣阻力的影響。兩個階段受力情況如表1所示:3)計算煙粒子軌跡在粒子系統中,將煙粒子的連續運動離散化,假設系統刷新時間間隔為Δt,在Δt很小的情況下計算粒子位移時,可以認為在Δt時間內粒子的速度是恒定的,根據粒子對應階段軌跡方程求得經歷Δt后煙粒子的位置P(t+Δt)。對于噴煙階段,由于持續時間短暫,煙霧運動速度快,軌跡相對集中,可忽略煙霧擴散的情況,直接根據牛頓第二定律求得粒子的軌跡運動方程:4)煙粒子和環境的屬性更新為下一次循環計算煙粒子位置做準備,在經歷Δt時間后,質量m不變或稍有擾動;速度屬性則可根據粒子處于的階段,按照相應的速度變化規律進行刷新。年齡age+=Δt;橫向加速度ax=fx/m;縱向加速度az=fz/m;垂直加速度ay=fy/m;加速度矢量a=ax,ay{,a}z;顏色和透明度應相應的發生變化。

    1.5模型編程實現根據上述煙霧粒子系統模型,在VC++編程的基礎上,利用程序的迭代實時刷新粒子在屏幕上的顯示,形成幀動畫。利用OpenGL繪制煙霧,使用VegaAPI提供的回調機制將煙霧繪制集成到場景中,從而實現Vega場景中煙霧的模擬,具體實現方法如下:1)建立粒子類,將粒子的屬性和刷新方法集成到類中;2)在主程序中建立粒子類的實例數組,在刷新環境屬性的同時遍歷所有粒子實例,刷新每個粒子的屬性,刷新時需要注意:①判斷幀粒子數量,如沒有達到要求,則遍歷所有粒子,將死亡的粒子激活,直至達到要求;②判斷粒子年齡,如已超過壽命,則不再刷新和顯示此粒子;③判斷粒子處于的階段,調用相應階段的粒子運動模型進行刷新。④碰撞檢測。判斷粒子的當前位置是否位于反彈面(例如地面),如果粒子已經落到反彈面,則根據反彈面的傾斜情況和反彈系數反彈此粒子。3)粒子位置和環境屬性刷新。粒子的大小隨著壽命逐漸擴大,顏色根據煙團的顏色變化,透明度隨著壽命逐漸加大直到完全透明而消失。

    2煙霧繪制處理

    每一幀畫面中的粒子,在它的各個狀態及屬性值都確定以后,就開始繪制和渲染。程序中用OpenGL對煙霧進行繪制和渲染時可針對粒子運動中的特點采用一些優化處理來減少系統開銷和獲得逼真的視覺效果。煙粒子的濃淡分布一般是中心對稱的,從任何方向看,煙粒子的形態應基本相同,因此,為了減少粒子系統繪制開銷,在煙霧粒子系統中采用面向視點的多邊形面片來表示粒子,如圖3所示。由于多邊形面片有分明的棱角,不能表現一些邊界模糊或有湍流運動的景象。為了消去多邊形的明顯的邊界,利用OpenGL的Alpha融合功能和深度測試功能,再加上紋理和顏色的調節,可以模擬出特殊效果。為了模擬粒子效果,每個矩形上都貼上透明紋理,貼圖后效果如圖4所示。煙粒子一般經歷生成、變形擴散和消失的過程,運動形態相似。可將煙粒子的運動變化用一組動態紋理來描述,表現出粒子運動過程中不斷翻滾的現象,讓煙霧從局部到整體更為生動。動態紋理組由30張輪廓相同,但形態不斷變化的紋理圖組成。圖5是翻滾周期內不同時刻的粒子效果,Ti表示一個翻滾周期內第i個時刻(i∈[1,30])。

    3實驗結果分析

    本實驗的硬件環境:AMD速龍II250雙核3.0GHz,內存4GB,獨顯GforceGT610,顯存2GB,操作系統是Win7。軟件環境:編程平臺VC++6.0,圖像繪制OpenGL,視景仿真Ve-ga。按照粒子系統繪制畫面的一般步驟及本文所述的方法,生成催淚煙霧每幀圖像的基本流程如圖6所示。當粒子數為500時,分別在催淚煙霧兩個運動階段截的幀圖像如圖7所示,以及本文仿真畫面和真實催淚煙霧的對比圖如圖8所示。通過對比可以看出,該模擬方法得到的煙霧圖像在形狀和行為上跟真實的煙霧都較為相似,逼真的描述出催淚煙霧從產生到擴散的運動特點。實驗中模擬場景的復雜度以及對應的畫面幀率如表2所示,從中可以看出,應用本文所述方法畫面幀率達到59.94FPS,能很好的滿足仿真中的實時性要求。本文基于粒子系統,結合催淚煙霧的運動特點,建立階段運動模型,描述了催淚煙霧從產生到擴散的運動形態。利用動態紋理映射技術體現了煙霧粒子運動時的翻滾形態。通過實驗表明,本文所述方法逼真地體現了催淚煙霧運動過程中的形態特征,增強了虛擬場景的真實感,而且生產速度快,適合在實時性仿真中應用。

    作者:吳華莊弘煒趙法棟黃彩福單位:武警工程大學裝備工程學院

    擴展閱讀
    主站蜘蛛池模板: 波多野结衣的AV一区二区三区| 老熟女高潮一区二区三区| 日本精品一区二区在线播放| 国产成人精品一区二三区 | 久久人妻无码一区二区| 日本精品视频一区二区| 美女免费视频一区二区| 无码人妻精品一区二区三18禁| 亚洲一区二区三区91| 夜夜爽一区二区三区精品| 国产区精品一区二区不卡中文| 老熟妇仑乱视频一区二区| 精品无码国产AV一区二区三区| 精品日韩在线视频一区二区三区| 国产激情无码一区二区| 人妻体内射精一区二区| 一色一伦一区二区三区| 日韩电影一区二区三区| 美女福利视频一区二区| 欧美亚洲精品一区二区| 久久久久人妻一区二区三区vr | 少妇人妻精品一区二区| 一区二区三区四区免费视频| 久久久久人妻一区精品| 国产精品亚洲一区二区三区 | 一区二区三区视频免费观看 | 亚洲av区一区二区三| 亚洲AV成人精品一区二区三区| 精品一区二区在线观看| 免费观看一区二区三区| 国产成人精品无人区一区| 色一乱一伦一区一直爽| 国产成人久久一区二区三区| 无码人妻精品一区二区三区9厂| 人妻少妇久久中文字幕一区二区| 无码人妻精品一区二区三区66| 搡老熟女老女人一区二区| 一区二区三区四区视频| 亚洲AV无码一区二区一二区| 亚洲色偷精品一区二区三区| 在线观看一区二区三区视频|