手把手教你用Python来模拟绘制自由落体运动过程中的抛物线(附源码)
前言
前几天有个叫【-berry】的粉丝在问了一道关于自由落体运动过程中产生的抛物线作图的问题,如下图所示。
当某个物体以初速度v水平抛出,其轨迹为一条抛物线,模拟绘制这条抛物线。用高中物理知识,我们肯定可以轻易实现,但是今天我们需要用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之后,程序就会自动跑起来,如下图所示:
之后matplotlib库会给我们呈现一个完美的抛物线图,如下图所示:
四、总结
我是Python进阶者。本文基于粉丝提问,针对自由落体运动过程中产生的抛物线,使用Python来作图的问题,给出了具体的实现方案,顺利帮助粉丝解决了问题。虽然文中例举了1种方法,但是小编相信肯定还有其他的方法的,也欢迎大家在评论区谏言。
手把手教你用Python来模拟绘制自由落体运动过程中的抛物线(附源码)相关推荐
- 【python】利用python的tkinter-canvas函数绘制哆啦A梦过程详解(附源码)
1 引 言 绘制哆啦A梦的过程,其实是对哆啦A梦进行拆解的过程,得先构思出他的头部.眼睛.鼻子.嘴巴.胡须.身体.铃铛.口袋.手以及脚等(如下图所示),才能进行下一步的绘画工作.心中有丘壑,方能水到渠 ...
- 教你用python爬取王者荣耀英雄皮肤图片,并将图片保存在各自英雄的文件夹中。(附源码)
教你用python爬取王者荣耀英雄皮肤图片,并将图片保存在各自英雄的文件夹中.(附源码) 代码展示: 保存在各自的文件夹中 美么? 让我们开始爬虫之路 开发环境 windows 10 python3. ...
- matlab 地形模拟程序,MATLAB模拟小球自由落体运动
大部分朋友学习MATLAB,需要一个学习示例用来参考,有一个比较经典的题目就是如何利用Matlab模拟小球自由落体运动,这可能会是你的某次课后作业,这个程序的编写过程可以分为三个步骤: 第一部分,设置 ...
- wpf 模拟抖音很火的罗盘时钟,附源码,解压就能跑
wpf 模拟抖音很火的罗盘时钟,附源码,解压就能跑 前端时间突然发现,抖音火了个壁纸,就是黑底蕾丝~~~ 错错错,黑底白字的罗盘时钟! 作为程序员的我,也觉得很新颖,所以想空了研究下,这不,空下来了 ...
- wpf 模拟抖音很火的罗盘时钟,附源码,下载就能跑
wpf 模拟抖音很火的罗盘时钟,附源码 前端时间突然发现,抖音火了个壁纸,就是黑底蕾丝~~~ 错错错,黑底白字的罗盘时钟! 作为程序员的我,也觉得很新颖,所以想空了研究下,这不,空下来了就用wpf, ...
- Python 实现图片格式转换,jpg\png\webp等,附源码
Python 实现图片格式转换,jpg\png\webp等,附源码 需要使用 PIL库,但python 3是无法安装该库的,如果是python 3安装pillow库即可. 1.安装 python 2 ...
- 手把手教你用Python网络爬虫实现上海证券交易所定期报告pdf文件下载(附代码)...
点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 青山隐隐水迢迢, 秋尽江南草未凋. ...
- python没有pygame_Python制作十款经典的童年游戏(附源码)
不知道行友们每年六一是怎么度过的,行哥的童年是在游戏世界里度过.这里行哥分享一下十个python可以制作的经典游戏,看看有没有你的菜,代码链接放在文末 对了以下游戏皆是小学六年级的代码水平 如有不适, ...
- 手把手教你使用LabVIEW人工智能视觉工具包快速实现传统Opencv算子的调用(含源码)
文章目录 前言 一.图像滤波与增强 二.图像灰度处理 三.阈值处理与设定 四.二值化处理 五.边缘提取 六.角点检测 1.使用cornerMinEigenVal算子 2.使用cornerHarris算 ...
最新文章
- 洛谷模拟赛 数据结构
- 阿里巴巴的 Kubernetes 应用管理实践经验与教训
- Tkinter模块常用参数(python3)
- 浅析weak指针的实现
- Swift之深入解析如何结合Core Data和SwiftUI
- 购物车完善版,客户余额及所购商品保存在文件
- 模块化加载时断点调试没反应,进入不了断点
- Android开发之判断APP前后台的方法
- 判断字符串中是否包含中文
- 谷歌离开游览器不触发_谷歌游览器
- php成品代码,PHP代码
- knn算法python代码_在python中使用KNN算法处理缺失的数据
- javascript实现奥运倒计时代码
- Spring核心模块及功能汇总
- 什么是Microsoft Visual FoxPro?
- Xposed框架初次见面-开发自己的Xposed插件
- 一场胆战心惊的B站面试,哔哩哔哩也太难进了
- 第03课:储备-用户故事精要(iPad 版)
- windows store下载_年度付费软件排行榜这10款软件,你用过5款以上,就算效率达人!Windows平台...
- 14 医疗挂号系统_【阿里云OSS、用户认证与就诊人】