使用py生成一个烟花
时间: 2024-10-09 09:03:00 浏览: 19
在Python中,你可以使用matplotlib库结合一些艺术性的绘图技巧来模拟烟花的效果。这里提供一个简单示例,展示如何绘制随机点状烟花:
```python
import matplotlib.pyplot as plt
import numpy as np
def draw_firework(canvas_size=500):
fig, ax = plt.subplots(figsize=(8, 8))
ax.set_xlim(0, canvas_size)
ax.set_ylim(canvas_size, 0)
# 创建随机位置和大小的烟花粒子
particles = np.random.rand(100, 2) * canvas_size
sizes = np.random.randint(10, 50, size=100)
for particle, size in zip(particles, sizes):
# 让每个粒子有一个短暂的生命期,并随机改变颜色
life_span = np.random.uniform(1, 5)
color = (np.random.random(), np.random.random(), np.random.random())
# 绘制圆环代表烟花爆炸
ax.scatter(*particle, s=size, c=color, alpha=0.7, marker='o')
ax.plot([particle[0]], [particle[1]], 'o', color=color, ms=size)
# 渐变地缩小粒子并消失
for t in np.linspace(0, life_span, int(life_span * 60)):
ax.scatter(*particle + (t, -t), s=size * (life_span - t), c=color, alpha=t / life_span)
plt.show()
# 调用函数开始显示烟花效果
draw_firework()
```
这个代码会创建一个随机分布的烟花图形,每次运行都会有所不同。如果你想控制烟花的具体样式,可以进一步调整粒子的颜色、大小以及爆炸的动画效果。
阅读全文