[关闭]
@newton2ndlaw 2016-05-02T22:10:43.000000Z 字数 1916 阅读 958

Homework 7

张琦 2013301510086


摘要

第七次作业


背景介绍

球的运动比较复杂,利用数值解法对球的运动轨迹进行分析研究。


正文

作业L1 2.19题

Caculate the effect of backspin on a fastball. Asssume an angular velocity of 2000 rpm.

翻译结果:计算一个球下旋效果。假设2000转每分钟的角速度。

根据课本p39,可知球的运动方程为:


其中有:

得到递推关系:

根据以上递推公式,即可编写程序。本次作业重力加速度选用的是武汉当地数值,其他采用的是书上的数值,,角速度采用题干中给出的数值

程序的代码链接

程序的特性


初始速度为 x方向上,y和z方向上为,初始高度为,步长为,运行后得到的效果如下

效果图:

输出的结果:

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轴坐标

效果图:


作业L2 使用vpython可视化炮弹发射或者棒球运动

作可视化棒球运动
虽然实现了棒球的可视化运动,但是明显觉得效果不如直接作图。并且vpython是我用过的python模块中最不好用的(经常停止响应)。所以只给出一个简单的图和代码,已经研究过vpthon。
效果图:

代码

结论

可以利用python得到棒球在不同情况下的运行轨迹,并对比不同的初始条件所造成的轨迹区别。

致谢

课本。

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