matplotlib是Python中绘制2D图形使用最多的库,可以很轻松的将数据图形化。本文绘制了斜上抛运动,下面是最终的效果。
(菲菲老师教得好,幸不辱命 (? ̄?? ̄??)??° )
- 导入所需数据包
这里的animation.FuncAnimation(fig,update,generate,interval = 5)函数,是用于生成动态图片的。其中fig表示生成的图表对象;generate函数生成数据后传递给update函数更新,这样数据不断更新,图形也不停变化;interval表示时间间隔,设置的值越小,运动速度越快1 2 3
from matplotlib import pyplot as plt from matplotlib import animation import math
- 设置图形窗口参数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
font=FontProperties(fname=r"c:windowsfontssimsun.ttc",size=14) # 初始化图形窗口 fig = plt.figure() ax = fig.add_subplot(111) ax.set_aspect('equal') # 设置坐标轴的x,y取值范围 xmin = 0 ymin = 0 ax = plt.axes(xlim = (xmin, xmax), ylim = (ymin, ymax)) # 创建一个圆,圆点在(0,0),半径为1 circle = plt.Circle((xmin, ymin), 1) ax.add_patch(circle)
- 给定初始参数值
1 2 3 4
g = 9.8 u = 30 # 斜上抛的初速度 theta = 60 # 与水平方向的夹角θ theta_radians = math.radians(theta) # 返回一个角度的弧度值
- 计算衍生参数
1 2 3 4
t_flight= 2*u*math.sin(theta_radians)/g # 从A点到B点所需时间 t_max = u*math.sin(theta_radians)/g # 上升到最大高度所需时间 xmax = u*math.cos(theta_radians)*t_flight # AB两点的距离 ymax = u*math.sin(theta)*t_max - 0.5*g*t_max**2 # 上升的最大高度
大专栏 matplotlib绘图-斜上抛运动/table>
「制作动态效果」
主要利用前面介绍的animation.FuncAnimation函数。于是我们需要构造generate与update函数,让它动起来~
generate函数
1 2 3 4 5 6
#产生时间间隔参数(每个数据间隔为0.05),依次传递给updata函数 def (): t = 0 while t < t_flight: t += 0.05 yield t
update函数
1 2 3 4 5 6
#更新时间间隔参数,从而不断改变圆的圆心坐标位置,让其移动 def update(t): x = u*math.cos(theta_radians)*t y = u*math.sin(theta_radians)*t - 0.5*g*t*t circle.center = x, y return circle,
打印相关信息
1 2 3 4 5
def Print(): print (u"初始速度(米/秒):",u) print (u"发射角度(度)",theta) print (u"飞行总时间(秒)",t_flight) print (u"飞行距离(米)",xmax)
动画函数
1 2 3 4 5 6 7 8 9
anim = animation.FuncAnimation(fig, update,generate,interval=10) # 附加信息 anim= animation.FuncAnimation(fig, update,generate,interval=10) plt.title(u'导弹发射轨迹',fontproperties=font) plt.xlabel(u'水平距离(米)',fontproperties=font) plt.ylabel(u'导弹运行高度(米)',fontproperties=font) plt.show() Print()
最后就能看到首页的动态图了 ヾ(?’?`?)??
原文地址:https://www.cnblogs.com/sanxiandoupi/p/11693241.html
时间: 2024-10-21 14:03:36matplotlib绘图-斜上抛运动的相关文章
Javascript摸拟自由落体与上抛运动 说明!
JavaScript 代码 //**************************************** //名称:Javascript摸拟自由落体与上抛运动! //作者:Gloot //邮箱:[email protected] // QQ:345268267 //网站:http://www.cnblogs.com/editor/ //操作:在页面不同地方点几下 //*************************************** var $ = function(el)canvas 模拟小球上抛运动的物理效果
最近一直想用学的canvas做一个漂亮的小应用,但是,发现事情并不是想的那么简单.比如,游戏的逼真效果,需要自己来coding…… 所以,自己又先做了一个小demo,算是体验一下亲手打造物理引擎的感觉吧.*_* 代码效果预览地址:http://code.w3ctech.com/detail/2524 html: 1 <div class="container"> 2 <canvas id="canvas" style="border:1p[Unity算法]斜抛运动(变种)
之前的斜抛运动,如果运动到游戏中,显然是太呆板了,那么可以试着加入一些效果,让它看起来更生动一些,类似游戏中的击飞或者掉落效果: 1.在达到最高点的时间点±X的时间段内,会有"减速"效果,形成一种在空中停留的感觉 2.落地后,反弹一次,再落地,就像是与地面发生了碰撞 相关公式: 原文地址:https://www.cnblogs.com/lyh916/p/10415954.htmlPython3快速入门(十六)——Matplotlib绘图
Python3快速入门(十六)--Matplotlib绘图 一.Matplotlib简介 1.Matplotlib简介 Matplotlib是 Python 2D-绘图领域使用最广泛的套件,可以简易地将数据图形化,并且提供多样化的输出格式.matplotlib有两个接口,一个是状态机层的接口,通过pyplot模块来进行管理:一个是面向对象的接口,通过pylab模块将所有的功能函数全部导入其单独的命名空间内. 2.Matplotlib安装 使用conda安装如下:conda install matmatplotlib绘图学习
matplotlib绘图学习 (1)matplotlib安装 下载地址https://pypi.python.org/pypi/matplotlib#downloads 下载windows包matplotlib-2.1.0-cp35-cp35m-win_amd64.whl 安装命令: python -m pip --user matplotlib-2.1.0-cp35-cp35m-win_amd64.whl 检查是否安装成功使用import导入操作,不报错即可 (2)绘制一个简单的折线图 imp数据分析06 /matplotlib绘图
目录 数据分析06 /matplotlib绘图 1. 绘制线性图:plt.plot() 2. 绘制柱状图:plt.bar() 3. 绘制直方图:plt.hist() 4. 绘制饼状图:pie() 5. 绘制散点图:scatter() 数据分析06 /matplotlib绘图 1. 绘制线性图:plt.plot() 绘制单条线形图 import matplotlib.pyplot as plt import numpy as np x = [1,2,3,4,5] y = [5,4,3,2,1] p数据分析07 /matplotlib绘图
目录 数据分析07 /matplotlib绘图 1. 绘制线性图:plt.plot() 2. 绘制柱状图:plt.bar() 3. 绘制直方图:plt.hist() 4. 绘制饼状图:pie() 5. 绘制散点图:scatter() 数据分析07 /matplotlib绘图 1. 绘制线性图:plt.plot() 绘制单条线形图 import matplotlib.pyplot as plt import numpy as np x = [1,2,3,4,5] y = [5,4,3,2,1] ppython中,使用matplotlib绘图时,图片上文字无法显示问题。
在使用python过程中,我们往往需要使用matplotlib进行图片的绘制,在绘图过程中,我们有时需要在图片上进行文字的显示,在使用过程中,会出现文字无法显示的问题.如下图: 遇到上述问题我们只需在代码中加入如下语句即可解决: from pylab import mpl mpl.rcParams['font.sans-serif'] = ['SimHei']如下图: 原文地址:https://www.cnblogs.com/Leo-Xia/p/9997408.htmlmatplotlib绘图总结
本文作为学习过程中对matplotlib一些常用知识点的整理,方便查找. 类MATLAB API 最简单的入门是从类 MATLAB API 开始,它被设计成兼容 MATLAB 绘图函数. from pylab import * from numpy import * x = linspace(0, 5, 10) y = x ** 2 figure() plot(x, y, 'r') xlabel('x') ylabel('y') title('title') 创建子图,选择绘图用的颜色与描点符号© 2024 憋错料 | info#biecuoliao.com | 10 q. 0.023 s.