码迷,mamicode.com
首页 > 其他好文 > 详细

铅球飞行的轨迹计算程序

时间:2020-07-01 15:52:30      阅读:56      评论:0      收藏:0      [点我收藏+]

标签:角度   参数   class   oci   坐标   orm   nis   仿真   dia   

#铅球飞行的轨迹计算程序
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("\nistance traveled:(0:0.1f)meters.",format(xpos))
main()

    
    

 

铅球飞行的轨迹计算程序

标签:角度   参数   class   oci   坐标   orm   nis   仿真   dia   

原文地址:https://www.cnblogs.com/ylzchs/p/13219510.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!