代码也浪漫:用Python放一场烟花秀(底部有投票)
2023-09-27 14:19:45 时间
天天敲代码的朋友,有没有想过代码也可以变得很酷炫又浪漫?今天就教大家用Python模拟出绽放的烟花,工作之余也可以随时让程序为自己放一场烟花秀。
这个有趣的小项目并不复杂,只需一点可视化技巧,100余行Python代码和程序库Tkinter,最后我们就能达到下面这个效果:
学完本教程后,你也能做出这样的烟花秀。
整体概念梳理
我们的整个理念比较简单。
如上图示,我们这里通过让画面上一个粒子分裂为X数量的粒子来模拟爆炸效果。粒子会发生“膨胀”,意思是它们会以恒速移动且相互之间的角度相等。这样就能让我们以一个向外膨胀的圆圈形式模拟出烟花绽放的画面。经过一定时间后,粒子会进入“自由落体”阶段,也就是由于重力因素它们开始坠落到地面,仿若绽放后熄灭的烟花。
基本知识:用Python和Tkinter设计烟花
这里不再一股脑把数学知识全丢出来,我们边写代码边说理论。首先,确保你安装和导入了Tkinter,它是Python的标准 GUI 库,广泛应用于各种各样的项目和程序开发,在Python中使用 Tkinter 可以快速的创建 GUI 应用程序。
import tkinter as tk
from PIL import Image, ImageTk
from time import time, sleep
from random import choice, uniform, randint
from math import sin, cos, radians
除了Tkinter之外,为了能让界面有漂亮的背景,我们也导入PIL用于图像处理,以及导入其它一些包,比如time,random和math
相关文章
- Python_基础班知识-复习
- 【华为OD机试真题 python】士兵过河【2022 Q4 | 200分】
- 针对上一篇文章中的代码,想出的重构方案(python实现)
- 10个Python爬虫入门实例
- Python集合(set)的操作方法汇总(约20种操作方法),并附示例代码
- 使用 Python 和 Asyncio 编写在线多人游戏(一)
- 通信协议TLV的介绍及在python下的代码实现及仿真
- 在线cookie转json, 在线chrome请求 转python代码, 在线chrome请求转php代码
- 百行代码入门Python - Chapter2
- 《“笨办法”学Python(第3版)》——习题2 注释和#号
- Python代码库之比较2个文件是否一致(含代码)
- 安装MySQL-python库解决方案HTTPSConnectionPool(host='pypi.org', port=443)
- 爬虫实例(一) —— 5行 Python 代码爬取
- 编译boost python模块遇到的错误:../../libraries/boost_1_44_0/boost/python/detail/wrap_python.hpp:75:24: fatal error: patchlevel.h: No such file or directory
- 华为OD机试 - 计算堆栈中的剩余数字(Python) | 机试题+算法思路+考点+代码解析 【2023】
- 华为OD机试 - 卡片组成的最大数字(Python) | 机试题+算法思路+考点+代码解析 【2023】
- 华为OD机试 -相对开音节(Python) | 机试题+算法思路+考点+代码解析 【2023】
- 华为OD机试 - RSA 加密算法(Python) | 机试题+算法思路+考点+代码解析 【2023】
- 华为OD机试 - 商人买卖(Python) | 机试题+算法思路+考点+代码解析 【2023】
- 华为OD机试 - 子序列长度(Python)| 真题+思路+考点+代码+岗位
- 华为OD机试 - 机器人走迷宫(Python)| 真题+思路+考点+代码+岗位
- 华为OD机试 - 斗地主(Python)| 真题+思路+考点+代码+岗位
- 华为OD机试 - 最小传递延迟Python)| 真题+思路+考点+代码+岗位
- 华为OD机试 - 火星文计算 2(Python)| 真题+思路+代码
- 乔布斯 背单词 02 读句子 单词 字母 翻译,看动画 学英语 名言 我菜顾我在,我菜故我在,blender加python
- 数据预处理技术与对应python代码实现
- Python深度学习常用平台
- odoo15 python Scaffold 模板自定义
- 小学生python游戏编程arcade----坦克换色
- 记录python接口自动化测试--requests使用和基本方法封装(第一目)