首页 > 代码库 > 仿真时间推进的逻辑时间与物理时间如何成比例推进

仿真时间推进的逻辑时间与物理时间如何成比例推进

     仿真过程中,如何控制邦元的推进速度已经成为仿真过程中重要的问题,仿真中有实时仿真推进、加快仿真时间推进、 减慢仿真时间推进。

    假如仿真系统默认的推进速度为1秒(物理时间,一个步长所需要的物理时间为1秒)。那在程序中如何实现仿真过程中的推进速度呢,假如成员从上一次推进完到下一次申请推进的物理时间为lt,也即lt=1。

    我们知道成员每推进一步,成员内部计算模型需要一定的时间,如果模型计算所需的时间小于等于lt,则模型运算完后还需要(等待(lt(物理时间)-模型运算时间))(物理时间)这长的时间,才能申请推进。而如果模型运算所需的时间大于lt,则模型不等待,直接模型运算完后就申请推进。

   从上面的分析我们很容易就能看出怎么控制成员的推进速度:加快仿真推进速度,我们只需要减小lt,但加快推进总有个限制的,也即lt不能小于模型运算的时间。而减慢仿真推进  速度,只需要扩大lt即可。

   仿真过程中仿真时间如何与物理时间结合起来,我们只需要给每个成员设定一个初始步长时间(仿真时间),代表仿真推进一步,仿真时间走了多少,这个初始步长时间在模型运算中使用,如导弹运动,导弹每一步长走的距离就是导弹速度*初始步长时间。