ODE还提供了X方向的运动速度Vx和Y方向的运动速度Vy,当Vx和Vy值不为0时,火炮就会在3D地形表面以速度V沿着方向矢量K行进。
其中
(1)
(2)
这样,就可以为火炮增加一个运动到指定地点的方法MoveToPos,该方法的基本原理就是:1) 比较火炮的当前位置和目的位置,从而确定方向矢量K和行进绝对速度V的大小;2) 启动一个定时器,在定时器事件中,计算当前位置与指定位置的绝对距离L,当L小于一定的阀值Lm时,就令Vx和Vy为0,这样火炮就会停止,同时关闭定时器。以下伪代码描述了火炮的行进过程:
ProcedureTArtillery.MoveToPos(XDes, YDes, Vel: Double);
// XDes, YDes描述行进目的地的坐标,Vel是行进的绝对速度
Var
XCur,YCur: Double;//当前位置坐标
L:Double; //距离
Begin
XCur := FGLObject.Position.X;
YCur := FGLObject.Position.Y;
L := SQRT((XDes - XCur) * (XDes - XCur) + (XDes - XCur) * (XDes -XCur));
Vx := Vel * (XDes - XCur) / L;
Vy := Vel * (YDes - YCur) / L;
MoveTimer.Enabled := true;//启动定时器
End;
ProcedureTArtillery.OnMoveTimer;//定时器事件
Var
XCur,YCur: Double;//当前位置坐标
L:Double; //距离
Begin
XCur := FGLObject.Position.X;
YCur := FGLObject.Position.Y;
L := SQRT((XDes - XCur) * (XDes - XCur) + (XDes - XCur) * (XDes -XCur));
If (L < Lm) then
Begin
Vx := 0;
Vy := 0;
MoveTimer.Enabled := false;
End;
End;

图2 虚拟战场仿真的效果
Fig.2 The effect ofthe simulation of virtual battlefield
以上代码就可以很好的实现一门火炮的运动仿真,并且在ODE的作用下,火炮会自动的沿地形表面行进。需要说明的是,由于3D地形不是一个平面,所以火炮的Up属性(代表X轴在全局坐标系中的矢量方向)和Direction属性(代表Z轴在全局坐标系中的矢量方向)是不断变化着的。图2为虚拟战场仿真的效果图。
6 结束语
计算机仿真是随着计算机技术、网络技术和虚拟现实等技术的高速发展,为了满足不断增长的仿真应用需求而发展起来的。基于虚拟现实技术,实现火炮武器系统虚拟战场仿真,不但可以在虚拟环境下验证武器的性能指标,同时也可以作为炮兵模拟训练的重要手段。随着数据库技术、分布技术、面向对象技术的涌现和发展,虚拟战场仿真环境将更加逼真,更加丰富,并进一步向着高重用性和高度互操作性的方向发展。本文提出的基于GLScene的虚拟战场仿真,对火炮武器系统的仿真应用具有一定的指导作用和借鉴意义。
[参考文献]
[1]黄柯棣,刘宝宏,黄健等.作战仿真技术综述[J].系统仿真学报.2004,16(9):1887~1895
[2]ClarkJH.Hierarchicalgeometricmodelsforvisiblesurfacealgorithms[J].CommunicationsoftheACM,1976,19(10):547~554
[3]GarlandM,HeckbertP.Fastpolygonalapproximationofterrainsandheightfields[R].TechnicalReportCMU-CS-95-181,Sept,1995
[4]HuguesHoppe.View-dependentrefinementofprogressivemeshes[C].Proceedingsofthe24thannualconferenceonComputergraphicsandinteractivetechniques,1997:189~198
[5]HoppeH.Smoothview-dependentlevel-of-detailcontrolanditsapplicationtoterrainrendering[C].ProceedingofIEEEVisualization,NorthCarolina,UnitedStates:ResearchTrianglePark,1998:35~42
[6]张芹,吴慧中.基于粒子系统的火焰模型及其生成方法研究[J].计算机辅助设计与图形学学报,2001,13(1):78~82
2/2 首页 上一页 1 2 |