首页 > 编程语言 > 软件测试|手把手教你用Python来模拟绘制自由落体运动过程中的抛物线

软件测试|手把手教你用Python来模拟绘制自由落体运动过程中的抛物线

时间:2023-02-08 19:02:07浏览次数:45  
标签:__ plt Python 教你用 yx 抛物线 绘制 软件测试

学过高中物理的我们都知道,当我们在一定高度上以一定速度水平抛出一个物体时,物体的运动轨迹实际上就是一条抛物线,那么,我们如何用Python将这个抛物线绘制出来呢。

思路

其实解决问题的关键点就是在于两点。其一是基于加速度公式,通过Python得到对应的x和y的点值;其二是针对这些点集进行作图。这里例举一种方法,肯定还有其他的方法的,也欢迎大家在评论区留言拍砖。

分析

需要定义一个列表,用于存储物体的坐标值,其中总高度我们可以自己自定义,之后水平上的位置和垂直高度的位置都可以通过相关公式进行计算,将每次计算得到的点集追加到列表之后,之后调用作图函数进行绘制抛物线,具体实现如下。

具体实现

直接上代码,如下所示:

# coding: utf-8
from matplotlib import pyplot as plt

def pwx(v, h):
yx = [] # 定义一列表
# 物体从高处位置为点50米的地方
g = 9.8
height = 5 # 这个是常量每运行一行为5米
hh = 5*v # 总高度
for i in range(h):
y = height
height = y+5
x = int(v*(2*y*(1/9.8))**0.5)
yx.append((hh, x))
hh -= 5
return yx

def huaxian(yx):
plt.title("Parabolic trajectory curve")
plt.xlabel("x")
plt.ylabel("y")
for y, x in yx:
plt.plot(x, y, "*")
print(y, x)
plt.show()


def main():
v = int(input("请输入初速度v: "))
h = int(input("请输入绘制行数h: "))
yx = pwx(v, h)
huaxian(yx)


if __name__ == "__main__":
main()

当在Pycharm中运行之后,输入初速度为10,绘制行数为10之后,程序就会自动跑起来,如下图所示:

 软件测试|手把手教你用Python来模拟绘制自由落体运动过程中的抛物线_点集

之后matplotlib库会给我们呈现一个完美的抛物线图,如下图所示:

 软件测试|手把手教你用Python来模拟绘制自由落体运动过程中的抛物线_点集_02

总结

本文只是简单的实现了使用Python绘制自由落体抛物线问题,还有一些不完美的地方,欢迎大家留言拍砖。


标签:__,plt,Python,教你用,yx,抛物线,绘制,软件测试
From: https://blog.51cto.com/u_15640304/6044725

相关文章

  • Python__25--模块
    1创建模块.py文件,文件名不与python自带的标准模块名相同,见名知意2导入模块2.1import模块名称[as别名]导入该模块所有内容使用时需要:模块名称.函数名不会出现函......
  • 软件测试|Python实用炫酷技能——推导式
    Python推导式判断一个程序员水平的高低,不能光看他的发量,也不能光看他的代码量,还要看他代码蕴含的思想,代码的质量。代码蕴含的思想主要体现在各种设计模式的运用上,而代码的质......
  • 软件测试|一步到位教会你Python字典操作(一)
    字典(dict)是python中的基础数据类型之一,字典的设计并不复杂,我们经常会用到这种数据类型。同时,字典也有一些比较实用的情景。学习任何一种编程语言,基础数据类型都是必备的......
  • 软件测试|手把手教你使用Python获取B站视频选集内容
    背景B站是我们年轻人最喜欢的学习网站,这句话没有任何问题!只有我们想不到的,没有B站上没有的,我们可以在B站上学做饭,学音乐,学数学,学历史......总之,B站就是如此包罗万象。言归正......
  • ubuntu18容器中安装python3.10
    在python官网https://www.python.org/下载python3.10的tgz的源码包。安装编译环境apt-getupdateaptinstallwgetbuild-essentialcheckinstallaptinstalllibreadline......
  • Kong Customize Python Plugin
    KongCustomizePythonPlugin前情提要:由于公司业务需求,需要针对Kong自定义插件,而Kong的插件主要是Lua语言,公司的技术栈是Python,所以升级了Kong版本到3.1。Kon......
  • 腾讯课堂Python使用Numpy入门数据计算
    p2array创建及属性array元素类型相同,list可不同1.array转化一维数组importnumpyasnplis=[1]np.array(lis)2.array转化二维数组importnumpy......
  • python 弹窗、提示和警告框MessageBox部件
    需要安装pywin32模块pipinstallpywin32-ihttp://pypi.douban.com/simple/--trusted-hostpypi.douban.comimportwin32api,win32con##提醒OK消息框win32api.MessageBo......
  • ChatGPT热度“狂飙”,教你用ChatGPT小程序搞点不一样的!
    最近几天ChatGPT的热度又重新起来了,在微信指数中搜索量一度飙升到3100万,大部分人都是看着ChatGPT的热度一点点消散,然后什么也做不了。做电商的卖账号、电话卡,做自媒体的写C......
  • ChatGPT热度“狂飙”,教你用ChatGPT小程序搞点不一样的!
    最近几天ChatGPT的热度又重新起来了,在微信指数中搜索量一度飙升到3100万,大部分人都是看着ChatGPT的热度一点点消散,然后什么也做不了。做电商的卖账号、电话卡,做自媒体的写......