@Canonvar
2016-04-05T21:38:28.000000Z
字数 1102
阅读 1764
计算物理作业
学号: 2013301020085
本次作业完成第6次作业level2,在不计科里奥利力、忽略地球形状与重力加速度随高度改变的情况下,给出了大炮在空间维度精确打击远处物体的解决方案。
考虑到方程没有解析解,故需要通过遍历的方法得到从目标位置得到发射的最佳角度和初速度。
定义类FlightState
用于存储每一时刻的飞行状态,包括水平、垂直位置x
、y
,水平、垂直速度v_x
,v_y
,时刻t
。 参考教材,有
factor
来对空气阻力在不同高度进行修正; python源码地址:Cannon
x=20000m, y=2000m
,结果如下,当计算击中目标后退出程序并保存打印发射角和发射初速度,对目标进行打击 程序执行完成后得到打击参数如下
Target position:
X: 20000.000000
Y: 2000.000000Shooting angle: 48.600000
Shooting Speed: 584.738976Attacking accuracy: 9.504954
即从以的速度发射炮弹可以击中目标,误差为。
参考了老师的代码模板。