铅球飞行的轨迹计算程序

Posted ylzchs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了铅球飞行的轨迹计算程序相关的知识,希望对你有一定的参考价值。

#铅球飞行的轨迹计算程序
from math import pi,sin,cos,radians
def main():
    #输入仿真参数
    angle=eval(input("Enter the lauch angle(in degrees):"))#投掷角度
    vel=eval(input("Enter the initial velocity(in meters?sec):"))#初始速度
    h0=eval(input("Enter the initial height(in meters):"))#初始高度
    time=eval(input("Enter the time interval:"))#飞行时间

    xpos=0#抛出点x坐标为0
    ypos=0#抛出点y坐标为0
    #抛出角度用radians()函数将输入的度转换为弧度,因为math库中角度值的单位是弧度
    theta=radians(angle)
    xvel=vel*cos(theta)#x轴方向的初始速度
    yvel=vel*sin(theta)#y轴方向的初始速度

#该循环体是在铅球落地之前保持更新它的位置和速度
"""
    当ypos>=0时铅球处于飞行状态,
    这用>=号是即使铅球从地面抛出仍可适用
    当ypos<0时表示铅球已落地
"""
    while ypos>=0:
        xpos=xpos+time*xvel#x坐标位置
        yvel1=yvel-time*9.8#该时间段y轴方向末速度
        ypos=ypos+time*(yvel+yvel1)/2#y坐标位置
        yvel=yvel1#更新铅球在该坐标点时的y轴方向速度
    #循环结束,即铅球落地,用print()输出x轴方向飞行距离
    print("
istance traveled:(0:0.1f)meters.",format(xpos))
main()

    
    

 

以上是关于铅球飞行的轨迹计算程序的主要内容,如果未能解决你的问题,请参考以下文章

阅读《基于谱聚类的终端区飞行轨迹分析》笔记

阅读《基于转弯点聚类的航空飞行轨迹分析》笔记

生成飞行轨迹的函数(3D 点列表、lat、lon、alt)

Unity游戏中的子弹碰撞体实现逻辑漫谈

毕设题目:Matlab无人机飞行作业

什么是 控制轨迹