@newton2ndlaw
2016-05-02T22:10:43.000000Z
字数 1916
阅读 958
张琦 2013301510086
第七次作业
作业L1 2.19题
建议:可以使用argparse和ConfigParser两个包设置程序初始参数
作业L2 使用vpython可视化炮弹发射或者棒球运动
建议:可参考一些例子
球的运动比较复杂,利用数值解法对球的运动轨迹进行分析研究。
Caculate the effect of backspin on a fastball. Asssume an angular velocity of 2000 rpm.
翻译结果:计算一个球下旋效果。假设2000转每分钟的角速度。
根据课本p39,可知球的运动方程为:
得到递推关系:
根据以上递推公式,即可编写程序。本次作业重力加速度选用的是武汉当地数值,其他采用的是书上的数值,,角速度采用题干中给出的数值。
程序的特性
效果图:
输出的结果:
Initial position x = 0.0 m
Initial position y = 0.0 m
Initial position z = 2.0 m
Initial velocity x = 20 m/s
Initial velocity y = 0 m/s
Initial velocity z = 0 m/s
Landing point x = 9.57682235369 m y = -1.23234336984 m z = -0.000674396603882 m Total steps = 5016 dt = 0.0001 s
效果图:
输出的结果:
Initial position x = 0.0 m
Initial position y = 0.0 m
Initial position z = 2.0 m
Initial velocity x = 20 m/s
Initial velocity y = 0 m/s
Initial velocity z = 0 m/s
Landing point x = 9.57636102389 m y = -1.2319749225 m z = -6.93082773343e-05 m Total steps = 50157 dt = 1e-05 s
可以看出,效果图上看不出有任何变化,进一步观察数据后可以知道步长为0.00001s已经可以将误差减小到1mm左右。后来又经过进一步缩短步长,可以得出0.00001s足够满足计算的需求了。
重大更新
新特性
效果图:
顺便固定了z轴坐标
效果图:
作可视化棒球运动
虽然实现了棒球的可视化运动,但是明显觉得效果不如直接作图。并且vpython是我用过的python模块中最不好用的(经常停止响应)。所以只给出一个简单的图和代码,已经研究过vpthon。
效果图:
可以利用python得到棒球在不同情况下的运行轨迹,并对比不同的初始条件所造成的轨迹区别。
课本。