[关闭]
@MilCOS 2016-05-17T22:47:31.000000Z 字数 1360 阅读 1013

作业四Baseball(Vpython)的说明

作业 棒球 Euler方法 Vpython
Twilight Sparkle
作者:许晗 2013301020084 武汉大学物理学院


程序目的

  1. 继续练习使用Python中的类(Class)。
  2. 展示棒球有自转且转速很大时,水平方向的偏离。
  3. 展示棒球有自转且转速很小时,棒球运动的轨迹。

实现方法与计算

  1. 在书上第33页,给出了空气阻力系数的计算公式:


    其中。然后给出阻力,设风速只在水平方向有,


    这样不加球自转地投球,不会在水平方向产生位移:
    发射角,45m/s的初速投出得到
    此处输入图片的描述
    Height表示垂直方向下落距离,下落了50cm,

  2. 投球时,有自转,并且设自转轴始终与地面垂直y轴。球会受到一个水平方向的力(Magnus Force),并且认为z方向速度很小。可以将近似:


    运动方程






    这里z,y方向上没有考虑空气阻力,因为空气阻力的二阶小量。数值计算中可以看到这两者相比与都很小。
    同样,以发射角,45m/s的初速投出得到:
    到接球手,棒球的水平位移z轴有33cm,因为走的距离更远一些,所以竖直y轴方向下落了更多。
    2

  3. 自转很慢的投球,并且设自转轴始终与地面垂直y轴。由大量实验给出球受到Lateral force

    .
    因为球在自转,所以其与x轴夹角也在变化:

    加到‘2.’中z轴方向所受的力。
    例如,以为起始,rev/s得到:
    最终水平位移与快速自转球(只考虑Magnus force)相比,使球向相反方向移动,且大小与起始的有关。

  4. 每次的结果在文件result.txt中,可以调用matplotlib画出的变化。也可以尝试不同的角度,来看看棒球的运动。为了使结果更明显,我将接球手位置后撤50m.仍使rev/s,即便只从Vpython看就可以看出棒球先向右运动,后来向左运动。

3

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