[关闭]
@MilCOS 2016-05-17T22:52:26.000000Z 字数 919 阅读 703

作业三Artillery(matplotlib)的说明

Starlight Glimmer
作业 抛物线 Euler方法

作者:许晗 2013301020084 武汉大学物理学院


1.没有考虑科里奥利力以及地球的形状。
2.参考并且修改了老师提供的模板。


程序目的

  1. 学习使用Python中的类(Class)
  2. 展示不计空气阻力时,大炮相同初速度、不同角度发射条件下的运动轨迹。
  3. 展示计入空气阻力时,大炮相同角度、不同初速度发射条件下的运动轨迹。
  4. (精确打击)输入目标位置,找到合适角度和初速度来精确打击目标。计入空气阻力以及空气密度随高度的变化。

程序实现方法与计算

  1. 利用EasyGUI优化输入界面
  2. 无空气阻力。同Chapter1.01
    为初速,发射角度从25度变化到85度,以5度为间隔,共画出13条曲线。

  3. 引入空气阻力,则欧拉解法的运动方程:





    其中,
    为发射角度,发射速度从100m/s变化到340m/s,以20m/s为间隔,画出你希望的曲线数。可以选择显示轨迹或是显示速度随时间的变化。

  4. 计入空气密度随海拔高度的变化:,则上述式中空气阻力项应写成:.
    精确打击
    先找到能发射最远距离的发射角,再以此角将速度每1m/s地变化,扫描找到合适的发射速度。
    落点的修正
    , 最终落点为:


结果与演示

  1. 例如: 设目标位置是, 落点误差小于
    得到以发射,落点在

  2. 展示空气阻力起作用时,炮弹速度的变化。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注