8.1 动画原理及动画绘制函数

更新于 2026年10月10日 版权声明
8.1 动画原理及动画绘制函数

经过科学家的研究,人类视觉存在暂停现象(Duration of Vision),即人眼观察物体时,在物体的反射光信号传入大脑后,在大脑中视觉形象仍然保留一段时间的现象。这种现象是由大脑视神经的反应速度造成的,其反应时间是1/24 s。所以动画、电影利用1/24 s的时间间隔,每秒提供24帧画面,每个画面之间有细微的变化,进而使动画、电影达到动感的效果。

1.FuncAnimation( )函数的工作原理

FuncAnimation( )函数利用视觉暂停现象,采用逐帧(Frame by Frame)动画方式,通过一定时间间隔不断调用参数func,更新一帧帧的图片,实现动画效果。

2.FuncAnimation( )函数主要参数使用方法

(1)fig:用于设置绘制动画的窗体matplotlib.figure.Figure对象,必选参数。

(2)func:设置调用每一帧的函数,必选参数;func( )函数采用def func(frame,*fargs)方式,其中该函数的第一个参数frame为从func( )函数后面参数frames(FuncAnimation( )函数的参数)传递过来的一个帧数据,新增帧的位置参数由fargs提供。(https://www.daowen.com)

(3)frames :用于向func( )函数的参数frame传递一个帧数据,其值可以是可迭代对象(iterable,如列表、元组等)、整数、生成器或None,可选参数。如果其值为None,相当于传递itertools.count(从0开始逐步增1的整数值)。

(4)init_func :用于初始化帧的函数,在生成第1帧之前,会调用一次该函数,可选参数;如果不提供该参数,将使用frames参数中的第一个元素的绘制结果。

(5)interval:帧之间的间隔时间,单位为毫秒,整数,默认值为200毫秒,可选参数。

(6)repeat:在帧序列执行一次之后是否循环执行,布尔值,默认值为True,可选参数。

(7)repeat_delay:当repeat参数设置为True时生效,即动画循环执行的间隔时间,单位为毫秒,默认值为0。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)