王鵬華,汪文革,高小敏,馬勝輝
(解放軍炮兵學(xué)院,安徽 合肥 230031)
隨著計算機技術(shù)的發(fā)展,可視化仿真技術(shù)已在軍事領(lǐng)域中得到了廣泛的應(yīng)用。目前,在現(xiàn)有的火炮射擊模擬訓(xùn)練系統(tǒng)中,主要模擬炮手的操作過程,然后通過視景仿真技術(shù)逼真地展示彈丸的飛行姿態(tài)和毀傷效果,有效提高了炮手的操作水平。但在模擬訓(xùn)練中,忽略了實際射擊條件下射彈散布的存在,仿真可信度不高,如果用于模擬演習中,也不能真實反映對抗雙方的毀傷效果。本文在分析彈道條件、氣象條件和地形條件對外彈道影響基礎(chǔ)上,通過建立和解算外彈道數(shù)學(xué)模型,在三維仿真戰(zhàn)場環(huán)境中實現(xiàn)外彈道可視化,通過仿真計算獲得實際射擊條件下的落點散布特征。
對于地面火炮,散布是指用同一門火炮、相同的彈藥、裝定同一射擊諸元,在同樣的射擊條件下,由相同炮手用盡可能相同的手法進行操作,連續(xù)發(fā)射多發(fā)炮彈,所有射彈不落在同一點上,而是分布在一定范圍內(nèi)的現(xiàn)象。產(chǎn)生散布是由多種不同的原因引起的,主要是由于實際發(fā)射每發(fā)彈丸時的初速、射角、彈道系數(shù)產(chǎn)生的微小差異和彈丸在空氣中運動時,氣象條件存在的微小差異造成的。因此,在每次射擊中,散布誤差對落點的影響是不同的、隨機的,屬于隨機誤差,是不可避免的。
為了進行射彈散布仿真,充分考慮實際射擊條件對落點散布的影響,首先需要建立彈丸外彈道數(shù)學(xué)模型。根據(jù)外彈道理論,考慮彈道條件(初速、彈重和藥溫)和氣象條件(氣溫、氣壓和風)時的彈丸質(zhì)心運動方程組如式(1)[2]:
其中,方程組中各函數(shù)的表達式和含義為:空氣密度函數(shù):
阻力函數(shù):
聲速函數(shù):
式中各系數(shù)為:A1=230K,G1=6.328×10-3K·m-1,B1=1.172×10-6K·m-2
積分初始條件為:
聯(lián)立式(2)、(3)、(4)可以求得H1(y),聯(lián)立式(5)、(6)、(7)可以求得G(vr,c1)。其中,cx0n(M a)的值可以由Ma的值通過查表求得。在彈道系數(shù)Cb、射角θ0和初速v0等初始條件給定時,以時間h=0.1s為積分步長,利用四階龍格—庫塔法對該方程組進行數(shù)值積分解算,便可得到外彈道上任意離散時間點的彈道諸元。根據(jù)此彈道模型不僅可以計算單一條件非標準時產(chǎn)生的偏差,而且可以計算多隨機條件非標準時產(chǎn)生的綜合偏差。
依據(jù)上述外彈道模型,以某型火炮為例,使用VC++.net語言編制彈道解算程序,并用OriginLab軟件分析計算結(jié)果。
在標準條件下,已知初速620m/s,射角227.0mil,彈道系數(shù)0.5659,解算彈道方程可得落點諸元如表1所示。通過比較可以看出,解算結(jié)果與標準值非常接近,完全能夠滿足彈道仿真精度的要求。其彈道如圖1所示,橫軸代表水平距離,縱軸代表高度。
表1 彈道解算值與標準值的比較
圖1 彈道及離散點的顯示圖
在非標準條件下,通過彈道解算可以分別得到初速、氣溫、氣壓、縱風和橫風非標準時的修正量,與標準修正量的比較如圖2、3、4、5和6所示。其中,橫軸為射擊條件,縱軸為修正量,實線為標準值,虛線為彈道方程計算值。
圖2 距離修正量與氣溫偏差量關(guān)系
圖3 距離修正量與氣壓偏差量關(guān)系
圖4 距離修正量與初速偏差量關(guān)系
圖5 距離修正量與縱風偏差量關(guān)系
圖6 方向修正量與橫風偏差量關(guān)系
從圖2-6中可以看出,修正量隨偏差量的變化率是近似一致的,最大誤差為 0.01%。由于彈重和藥溫非標準主要對初速產(chǎn)生影響,因此可以折合成初速對彈道的影響進行解算。
綜上所述,進行非標準條件下的外彈道仿真時,氣溫、氣壓、初速和風對彈道的影響可以近似直接代入彈道方程求解。
VegaPrime(以下簡稱VP)是MultiGen—Paradigm公司推出的跨平臺可擴展的三維視景開發(fā)環(huán)境,能高效創(chuàng)建和配置視景仿真、基于仿真的訓(xùn)練、通用可視化等應(yīng)用程序。該軟件具有友好的圖形環(huán)境界面LynxPrime,完整的C++語言應(yīng)用程序接口API,豐富的實用庫函數(shù)及大量的功能模塊,用戶通過圖形化界面進行快速配置,運用底層場景圖形API來進行特定功能的創(chuàng)建,可滿足多種仿真要求。VP的強大功能不僅可以滿足目前復(fù)雜的應(yīng)用要求,而且其高度易用性又能大大提高開發(fā)效率,已經(jīng)成為視景仿真領(lǐng)域的主流開發(fā)平臺。
VP仿真應(yīng)用程序包括系統(tǒng)初始化、定義 ACF、配置ACF、仿真循環(huán)、仿真更新和關(guān)閉仿真循環(huán)等。本文基于 MFC/VegaPrime的應(yīng)用程序結(jié)構(gòu),利用VC++.net語言應(yīng)用程序接口API調(diào)用VegaPrime生成的 ACF文件,通過代碼編寫驅(qū)動或者設(shè)置模型的位置、姿態(tài)等,從而實現(xiàn)彈丸的飛行軌跡顯示及與地面的碰撞檢測等交互效果。
在外彈道可視化仿真中,為了直觀地顯示彈丸的飛行軌跡,可以利用粒子特效進行模擬,但由于粒子系統(tǒng)的很多參數(shù)不能隨意控制,而且具有擴散性,無法精確地模擬飛行軌跡。若粒子數(shù)量太大或者需要獲得不同射擊條件下的多條飛行軌跡,就會耗費大量的資源,運行起來速度很慢,也不能很好地滿足仿真實時性的要求。因此,本文在 VP程序中調(diào)用 OpenGL繪圖函數(shù),實現(xiàn)軌跡的精確顯示。
為了使OpenGL所繪制的場景與VP的三維場景完全融為一體,通常的做法是在回調(diào)函數(shù)中使用OpenGL在 VP場景中繪制圖形。首先用函數(shù)pfPushState()、pfPushMatrix()、pfBasicState()保存當前的顯示狀態(tài),然后直接用OpenGL函數(shù)繪制場景;繪制完后利用函數(shù)pfPopMatrix()、pfPopState()恢復(fù)到初始狀態(tài),就可以解決場景融合一致的問題。
在場景中繪制彈丸三維飛行軌跡,還需要設(shè)置投影矩陣和觀察矩陣,打開深度檢測。然后就可以編寫代碼,實現(xiàn)當彈丸的位置信息變化時,系統(tǒng)自動調(diào)用函數(shù)完成軌跡的繪制。繪制軌跡的主要程序代碼如下:
碰撞檢測是三維視景仿真系統(tǒng)中不可缺少的一個重要部分,是影響虛擬現(xiàn)實仿真系統(tǒng)逼真度和現(xiàn)實感的重要因素。主要有兩部分的內(nèi)容:一是檢測到有碰撞發(fā)生,二是計算出碰撞發(fā)生的位置。在外彈道可視化仿真中,為使彈丸的運動和獲得的彈著點坐標更加真實,彈丸與地形之間要不斷進行碰撞檢測計算。
在VP中設(shè)計了一個vpIsector類處理各種碰撞檢測問題。與Vega不同,VP沒有采用包圍盒或多邊形的碰撞算法,而是采用了一條直線來檢測碰撞。主要有七種碰撞檢測算法:Z、ZPR、HAT、Tripod、LOS、Bump和XYZPR。每種方法都可以與物體直接發(fā)生干涉,進行碰撞檢測。在本文中,主要是判斷彈丸運動與地形的碰撞。為了簡化碰撞檢測的算法,將彈丸視為質(zhì)點,選擇XYZPR算法檢測彈丸與地形的碰撞。XYZPR算法是以一條碰撞檢測線段計算碰撞點的坐標值和PR方向。主要程序代碼如下:
綜上,彈丸的飛行軌跡用OpenGL來繪制,落點位置通過 VP的碰撞檢測算法來實現(xiàn)。已知初速620m/s,射角 376.9mil,彈道系數(shù) 0.5664,其它條件為標準條件,在仿真戰(zhàn)場環(huán)境中的仿真效果如圖7所示。
圖7 彈丸飛行軌跡與落點顯示
通過上述分析可知,結(jié)合三維仿真場景,通過外彈道可視化可以獲得落點的位置,仿真效果逼真。落點散布仿真就是仿真彈丸在彈道參數(shù)和隨機條件下的落點散布。對于地面火炮,最重要的彈道諸元是射程和側(cè)偏,其落點散布也分為距離散布和方向散布。距離散布主要是由初速、射角、彈道系數(shù)和縱風引起的;方向散布主要是由橫風和偏流引起的。
仿真方法上:對于每個隨機條件,各用符合正態(tài)分布的偽隨機數(shù)表示,然后將偽隨機數(shù)代入描述彈丸運動的數(shù)學(xué)模型中進行解算,最后通過在三維仿真場景中實現(xiàn)外彈道可視化獲取落點位置。由于每發(fā)彈的偽隨機數(shù)不同,因此形成落點散布。假設(shè)初速的最大誤差±3m/s,射角的最大誤差±1mil,彈道系數(shù)的最大誤差0.001,風速最大誤差±2m/s,并且都符合一定的正態(tài)分布,則可以進行n次仿真計算。
通過對仿真結(jié)果的統(tǒng)計分析,可以求出所有落點與目標點的射程偏差均值和側(cè)偏均值,依據(jù)射表查取相應(yīng)的修正量,修正射擊開始諸元,提高火炮射擊精度。根據(jù)修正后的射擊開始諸元再進行射彈散布仿真,可以求出火炮對目標的命中率,進而可以計算出為達到一定命中概率時所需的彈藥消耗量。
本文主要分析了初速、射角、彈道系數(shù)和風對射彈散布的影響,基本上涵蓋了影響射彈散布的主要因素。通過相似的方法,也可以單獨分析隨機風的大小對落點的影響,便于在射前根據(jù)條件變化進行諸元修正。
可見,通過在三維仿真場景中進行外彈道可視化,不僅可以得到實際射擊條件下落點偏差的均值和方差,為實彈射擊開始諸元的修正提供依據(jù),進而提高火炮首發(fā)命中率,而且可以逼真地顯示落點散布特征,增強了模擬射擊訓(xùn)練的真實性,具有較好的經(jīng)濟效益和軍事效益。
[1]劉怡昕.炮兵射擊學(xué)[M].北京:海軍出版社,2000.
[2]韓子鵬.彈箭外彈道學(xué)[M].北京:北京理工大學(xué)出版社,2008.
[3]趙紀華,秦俊奇,狄長春,等.基于隨機動力學(xué)的火炮射彈散布評估[J].軍械工程學(xué)院學(xué)報,2008,20(5):38-41.
[4]李國平,張洪貴.三維視景中武器射擊命中精度仿真方法研究[J].電腦開發(fā)與應(yīng)用,2006,19(10):4-6.
[5]楊立功,郭齊勝,史立晨.蒙特卡羅法及其在射彈散布仿真中的應(yīng)用[J].計算機仿真,2001,18(1):84-86.
[6]程委,廖學(xué)軍,李智.基于Vega Prime與OpenGL的衛(wèi)星在軌運行視景仿真[J].裝備指揮技術(shù)學(xué)院學(xué)報,2007,18(6):50-54