返回

元旦喜庆 | 绚丽烟花照亮新年夜空 | Python烟花代码

后端

用 Python 编程绘制璀璨夺目的烟花盛宴

烟花表演是人们庆祝节日和重大事件的传统方式之一,它能为夜空增添色彩,带来欢乐和喜悦。借助强大的 Python 编程语言,我们能够模拟烟花的绽放效果,打造一场绚丽夺目的新年烟花表演。

1. 导入必要的库

首先,我们需要导入一些必要的 Python 库,这些库将帮助我们轻松绘制烟花图案并控制其发射。

  • turtle: 这个库提供画笔对象,使我们能够绘制烟花形状。
  • colorsys: 这个库允许我们转换颜色,为烟花添加不同的色彩。
  • random: 这个库提供随机数生成功能,帮助我们创建更具随机性和真实感的烟花效果。
import turtle
import colorsys
import random

2. 定义烟花绘制函数

接下来,我们需要定义一个绘制烟花图案的函数。在这个函数中,我们将使用 turtle 库的画笔对象来绘制烟花。

def draw_firework(x, y):
  # 设置烟花颜色
  hue = random.random()
  color = colorsys.hsv_to_rgb(hue, 1, 1)
  turtle.color(color)

  # 绘制烟花图案
  turtle.penup()
  turtle.goto(x, y)
  turtle.pendown()
  for i in range(5):
    turtle.forward(random.randint(5, 10))
    turtle.left(random.randint(60, 120))

3. 定义烟花发射函数

然后,我们需要定义一个烟花发射函数。在这个函数中,我们将使用 turtle 库的画笔对象来控制烟花的发射角度和速度。

def launch_firework(x, y):
  # 设置烟花发射角度和速度
  angle = random.randint(0, 360)
  speed = random.randint(5, 10)

  # 发射烟花
  turtle.penup()
  turtle.goto(x, y)
  turtle.setheading(angle)
  turtle.pendown()
  turtle.forward(speed)

4. 主程序

最后,我们需要定义主程序,在这个程序中,我们将创建画布并使用循环不断发射烟花。

# 创建画布
turtle.setup(800, 600)
turtle.bgcolor("black")

# 发射烟花
for i in range(100):
  x = random.randint(-350, 350)
  y = random.randint(-250, 250)
  launch_firework(x, y)
  draw_firework(x, y)

# 等待用户关闭画布
turtle.done()

运行程序

运行程序后,我们将看到一个不断发射烟花的绚丽场景,五彩缤纷的烟花照亮了整个夜空,为新的一年带来欢乐和喜庆。我们可以通过调整代码中的参数,例如发射角度、速度和图案,来创造出更加丰富多彩的烟花表演。

常见问题解答

  • 如何改变烟花的发射频率?

    • 修改主程序中的循环次数,即 for i in range(100) 中的数字。
  • 如何让烟花飞得更高或更远?

    • 增加 launch_firework 函数中的 speed 值。
  • 如何让烟花绽放成不同的形状?

    • 修改 draw_firework 函数中烟花图案的绘制代码。
  • 如何添加更多烟花颜色?

    • draw_firework 函数中使用更宽的随机 hue 值范围,例如 hue = random.random() * 0.5
  • 如何让烟花轨迹更逼真?

    • launch_firework 函数中添加一个重力效果,例如 turtle.setheading(angle) 后添加 turtle.right(random.randint(0, 10))