@Canonvar
2016-04-10T18:53:19.000000Z
字数 1415
阅读 1481
计算物理作业
学号: 2013301020085
本次作业完成第7次作业level2,在上次作业的基础上增加科里奥利力影响,并将显示平台转移到VPython,给出了大炮在空间维度精确打击远处物体的解决方案。
考虑到方程没有解析解,故需要通过遍历的方法得到从目标位置得到发射的最佳角度和初速度。
参考教材,每一时刻炮弹的状态可用如下公式得到,有
由于科里奥利力方向垂直于速度方向,所以它不直接对物体做功,只是通过改变轨迹来改变物体所受的空气阻力,又地球自转速度较小,在小距离炮弹发射时,科里奥利力只影响发射方向,对炮弹的发射距离影响可忽略,所以可先确定发射的大致方向和速度。
x
,z
坐标值计算得到;在北半球,由于科里奥利力的影响,炮弹将向右偏移,所以通过向左移动水平发射角即可得到精确发射方向,当移动偏大超过目标方向时在向右移动校准,重复上述过程直到角度偏差可忽略不计;再通过自增遍历至一较精确值后,即可得到精确落点。
python源码地址:Cannon-3D
程序执行完成后得到打击参数如下
Target position:
X: 20000.000000m
Y: 2000.000000m
Z: 20000.000000m
Shooting Velocity:
X: 387.313296m/s
Y: 596.425203m/s
Z: 384.170456m/s