如何用python制作创意动画?这简单的方法相信你也能理解
off999 2025-04-26 20:22 25 浏览 0 评论
目录:
1、动画效果展示
2、实现原理
3、制作步骤
4、更多创意想法
背景
python在当下的编程界的热门程度,就如互联网中的字节跳动一样,倍受关注。相信看到文章的朋友大部分都已经入门python,因为网上python入门的视频教程比比皆是。编程让我们将创意变成现实。
今天我们就来分享一个python进阶项目——python实现动态条形图。我以尽可能简单和接地气的表达向你介绍这个动画的制作过程。当然我们的目标不是让大家记住代码,而是了解整个制作过程和理解项目实现动画的思想。
动画效果展示:
一般python使用turtle库(一个简单易上手的几何图形库)可以实现笔迹动画,基本没难度。
本文要实现多幅图像组成的动画(同样使用简单的turtle库),也是动画和视频的制作原理。
实现原理:
通过关闭turtle库画笔的轨迹显示,快速的绘制一幅图像,让多幅图像在一定时间间隔显示生成动画。看到我们要实现的动画效果目标,我们可能觉得有点复杂,无从下手。此时,我们将任务分解,分步实现效果。我们先绘制一个长方形,接着就画多个长方形(例如16个)这样就组成一个静态的条形图,只要我们画多幅这种随机高度的条形图并显示一小段时间就能形成动画。
恭喜你看到这里,如果能理解我们的实现原理,就完成任务了!
如果大家闲的无聊,想要亲自实现一下我们的目标动画效果,也是可以的,也就30行代码的功夫。下面我按照我们实现原理的分解步骤向大家展现制作细节。
制作步骤:
0、在一开始导入我们的库,turtle (绘制几何图形),random (产生随机颜色和高度值)
import turtle as t #导入turtle库,并该起了个外号为t
import random as r1、编写一个画长方形的自定义函数,rect()。4个参数分别是长方形的高,颜色,x,y坐标值。
def rect(h, c, x, y):
t.goto(x, y) #画笔移到特定位置
t.fillcolor(c) #设置填充颜色
t.begin_fill()
for i in range(2): #画长方形
t.fd(20)
t.lt(90)
t.fd(h)
t.lt(90)
t.end_fill()2、绘制16个长方形,先要产生16种随机颜色存放到列表c中,形成静态条形图。
c = []
for i in range(16): #设置16中随机颜色
c.append((r.random(),r.random(),r.random()))
t.speed(11) #绘图的速度设置为11
x = -180
t.tracer(False) #关闭轨迹快速绘图
for i in range(16):
h = r.randint(20,220)
rect(h, c[i], x, 0)
x = x + 20 #下一个长方形x坐标值3、绘制6666幅静态条形图图案,并且注意停留时间的技巧。
for j in range(6666): #绘制6666次
x = -180
t.tracer(False)
for i in range(16):
h = r.randint(20,220)
rect(h, c[i], x, 0)
x = x + 20
t.tracer(True) #打开轨迹让绘制速度变慢
t.circle(1) #画一个半径为1像素的圆,为了停留一段时间
t.tracer(False)
t.clear()4、完整代码
import turtle as t
import random as r
def rect(h, c, x, y):
t.goto(x, y)
t.fillcolor(c)
t.begin_fill()
for i in range(2):
t.fd(20)
t.lt(90)
t.fd(h)
t.lt(90)
t.end_fill()
c = []
for i in range(16):
c.append((r.random(),r.random(),r.random()))
t.speed(11)
for j in range(6666):
x = -180
t.tracer(False)
for i in range(16):
h = r.randint(20,220)
rect(h, c[i], x, 0)
x = x + 20
t.tracer(True)
t.circle(1)
t.tracer(False)
t.clear()关键点
1、理解整个目标动画的关键在完整代码的最后4句。通过笔迹显示和画一个小圆为每幅图争取停留时间,可以调节我们动画的快慢。最后接到要清屏t.clear()。
t.tracer(True)
t.circle(1)
t.tracer(False)
t.clear()更多创意想法
1、你可以在以上代码基础上加入自己的想法,例如做一个环绕的动态条形图。
2、turtle不仅可画几何图形,还可以显示图片,实现键盘鼠标交互等。
3、我们将以上代码的倒数第3句 t.circle(1) 改为 t.circle(1, 3) 就可让条形图在另一个维度动起来。
能不能改成3D效果的条形图的呢?就要看各位有想法的朋友们了。本文到此结束有什么建议和问题都欢迎提出交流。
相关推荐
- win7安全模式进去也黑屏(win7安全模式黑屏只有鼠标能动)
-
分辨率设置超出范围或者显卡驱动有问题导致的。解决方法:1、开机按F8选择安全模式进入安全模式。2、在安全模式桌面用鼠标右键点我的电脑,属性,打开设备管理器,展开设备管理器,用鼠标右键选择显卡驱动卸载...
- win7激活程序(win7激活程序怎么用)
-
windows7的激活方法如下1、首先打开计算机,在计算机内找到暴风激活工具选项并使用鼠标右键点击,然后在弹出的选项栏内找到“以管理员身份运行”选项并使用鼠标点击。2、激活工具自动识别到win7版本,...
- 台式电脑联网怎么连接(台式电脑以太网怎么连接)
-
电脑连接家庭网络连接方法如下1.首先我们要检查自己的网络连接。检查网络连接的方法很简单,我们只需要把鼠标放到屏幕的上方,用右键点击一下桌面,点击“个性化”即可。 2.进入页面后我们点击左上方的主页。...
- 鸿蒙os系统(鸿蒙OS系统更新)
-
鸿蒙os是分布式模块化的一个系统!所谓的模块化就是它可以根据终端的不同,开发成不同的模块!但最底层都是一样的,都是鸿蒙!所以你会在电视,智能手表,手机等等产品上看到鸿蒙!鸿蒙是华为基于万物互联而打造的...
- 360手机助手极速版(360手机助手官方下载安装)
-
可以的,手机助手里面有很多功能,有手机加速悬浮球一、打开设定-关于设备-系统更新-更新。通过在线固件升级(FOTA)服务下载并安装固件更新。注:使用FOTA软件升级所需条件:1、稳定的WI-FI或...
- 幻影wifi手机版官网(幻影wifi2020官网版)
-
第一步、下载最新版“幻影Wifi破解软件”。 第二步、下载之后安装至手机。 第三步、安装成功后,就可以打开软件,之后该幻影Wifi破解软件会自动扫描接收到信号的WIFI,并且会显示几格信号...
- 怎么把c盘扩大(pe系统怎么把c盘扩大)
-
C盘的内存通常是指C盘的存储空间,而存储空间不能从别的盘直接增加,必须通过调整分区大小或者更换大容量硬盘来实现。具体操作可以通过以下两种方式之一:1.磁盘管理工具:在计算机的“控制面板”中找到“管理工...
- chrome 安卓下载(chrome安卓下载apk)
-
安卓手机可以先下载一个应用宝,然后在应用宝上下载一个谷歌地球,随后再下载一个ourplay,将之前下载的谷歌地球导入进ourplay就好了,谷歌地球就能使用了,我自己的手机就是这么操作的
- 最流畅的浏览器(浏览器流畅度排名)
-
我觉得QQ浏览器9.0就不错,我也是喜欢在浏览器上看视频,朋友给我推荐的这款。这款浏览器是以“快”著称的,体现在很多方面,上网速度快,平常看视频、玩游戏都是很流畅的,因为这款浏览器在系统的稳定性和流畅...
- sm总线控制器驱动下载(sm总线控制器是什么驱动程序)
-
SM总线控制器是主板控制芯片上的一个通信控制器.它主要是希望通过一条廉价并且功能强大的总线(由两条线组成),来控制主板上的设备并收集相应的信息。MBus为系统和电源管理这样的任务提供了一条控制总线,使...
- 固态硬盘选择mbr还是gpt(固态硬盘选择mbr还是guid)
-
固态硬盘用mbr。用mbr,除速度快之外,系统支持度更高。此外,微软对于gpt的支持还不是很好,win7以前的系统基本不支持gpt。主引导记录(MBR),也被称为主引导扇区,是计算机开机后访问硬盘时所...
- win10专业版系统镜像下载(win10专业版镜像下载哪个版本)
-
方法一:去微软官方网站在线制作U盘启动安装盘:点击“立即下载工具”,下载后运行工具。选择"为另一台电脑创建介质。再选择制作U盘或ISO文件:点击下一步,会制作U盘启动安装盘或下载ISO...
- office软件免费下载安装(office下载免费版)
-
1、首先打开360安全卫士,在安全卫士首页找到软件管家,点击进入。2、进入到软件管家之后,在左侧的导航栏里面点击办公软件选项进入。3、然后在右侧找到office办公软件,正常情况下office办公软件...
- system error是什么意思(system error怎么办)
-
系统错误通常是由软件或硬件故障引起的,解决方法取决于具体的情况。首先,尝试重新启动系统并查看是否问题得以解决。如果问题仍然存在,可以尝试卸载最近安装的软件或驱动程序,或者恢复系统到之前的稳定状态。另外...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
