逢年过节就拿出这些代码,Python 制作一个炫酷烟花秀

含源码,用Python实现浪漫烟花 Python实现浪漫的烟花特效现在很多地方都不能放烟花了,既然看不到,那作为程序猿的我们还不能自己用代码做一个吗?今天就带大家用代码做一个烟花特效吧。 阅读详情

前言

已经2023年了 ,到了这个时间点,部分小伙伴已经开始复盘这一年的得与失。比如今年增加了多少技能点,看了多少本书,写了多少篇文章或者年前的小目标实现进度大概多少等等;做一个象征性的年终总结来告别2022,迎接2023:

本篇文章,带大家用 Python 制作一个炫酷烟花秀,来迎接即将到来的元旦佳节。开始之前先看一下最终效果

在这里插入图片描述

需要Python零基础学习资料的伙伴,可以在公众号【码农资料库】中回复【py】自行领取 包括以下学习资料:

① Python所有方向的学习路线图,清楚各个方向要学什么东西

②Python课程视频,涵盖必备基础、爬虫和数据分析

③ Python实战案例,学习不再是只会理论

④ Python电子好书,从入门到高阶应有尽有

⑤ 华为出品独家Python漫画教程,手机也能学习 ⑥ 历年互联网企业Python面试真题,复习时非常方便

在这里插入图片描述

环境介绍:

语言:Python;

库:Pygame;

原理介绍

在介绍代码之前,先介绍下 Pygame 绘制烟花的基本原理,烟花从发射到绽放一共分为三个阶段:

1, 发射阶段 :在这一阶段烟花的形状是线性向上,通过设定一组大小不同、颜色不同的点来模拟“向上发射” 的运动运动,运动过程中 5个点被赋予不同大小的加速度,随着时间推移,后面的点会赶上前面的点,最终所有点会汇聚在一起,处于 绽放准备阶段 ;

在这里插入图片描述

2, 烟花绽放 :烟花绽放这个阶段,是由一个点分散多个点向不同方向发散,并且每个点的移动轨迹可需要被记录,目的是为了追踪整个绽放轨迹。

在这里插入图片描述

3, 烟花凋零 ,此阶段负责描绘绽放后烟花的效果,绽放后的烟花,而在每一时刻点的下降速度和亮度(代码中也叫透明度)是不一样的,因此在代码里,将烟花绽放后将每个点赋予两个属性:分别为重力向量和生命周期,来模拟烟花在不同时期时不同的展现效果,

在这里插入图片描述

代码实操

代码部分将烟花封装为三个类:

Firework : 烟花整体;

Particle : 烟花粒子(包含轨迹)

Trail : 烟花轨迹,本质上是一个点 。

三个类之间的关系为:一个Firework 由多个 Particle 构成,而一个 Particle 由多个 Trail 构成

首先设置全局变量,例如重力向量,窗口大小,Trail 的颜色列表(多为灰色或白色)以及不同状态下 Trail 之间间隔

gravity = vector(0, 0.3)
DISPLAY_WIDTH = DISPLAY_HEIGHT = 800


trail_colours = [(45, 45, 45), (60, 60, 60), (75, 75, 75), (125, 125, 125), (150, 150, 150)]
dynamic_offset = 1
static_offset = 3

创建 Trail 类,定义 show 方法绘制轨迹 、get_pos 实时获取轨迹坐标

class Trail:

def __init__(self, n, size, dynamic):
    self.pos_in_line = n
    self.pos = vector(-10, -10)
    self.dynamic = dynamic

    if self.dynamic:
        self.colour = trail_colours[n]
        self.size = int(size - n / 2)
    else:
        self.colour = (255, 255, 200)
        self.size = size - 2
        if self.size < 0:
            self.size = 0

def get_pos(self, x, y):
    self.pos = vector(x, y)

def show(self, win):
    pygame.draw.circle(win, self.colour, (int(self.pos.x), int(self.pos.y)), self.size)

Particle 类核心代码

class Particle:

def __init__(self, x, y, firework, colour):
    self.firework = firework
    self.pos = vector(x, y)
    self.origin = vector(x, y)
    self.radius = 20
    self.remove = False
    self.explosion_radius = randint(5, 18)
    self.life = 0
    self.acc = vector(0, 0)
    # trail variables
    self.trails = []  # stores the particles trail objects
    self.prev_posx = [-10] * 10  # stores the 10 last positions
    self.prev_posy = [-10] * 10  # stores the 10 last positions

    if self.firework:
        self.vel = vector(0, -randint(17, 20))
        self.size = 5
        self.colour = colour
        for i in range(5):
            self.trails.append(Trail(i, self.size, True))
    else:
        self.vel = vector(uniform(-1, 1), uniform(-1, 1))
        self.vel.x *= randint(7, self.explosion_radius + 2)
        self.vel.y *= randint(7, self.explosion_radius + 2)
        # 向量
        self.size = randint(2, 4)
        self.colour = choice(colour)
        # 5 个 tails总计
        for i in range(5):
            self.trails.append(Trail(i, self.size, False))

def apply_force(self, force):
    self.acc += force

def move(self):
    if not self.firework:
        self.vel.x *= 0.8
        self.vel.y *= 0.8
    self.vel += self.acc
    self.pos += self.vel
    self.acc *= 0

    if self.life == 0 and not self.firework:  # check if particle is outside explosion radius
        distance = math.sqrt((self.pos.x - self.origin.x) ** 2 + (self.pos.y - self.origin.y) ** 2)
        if distance > self.explosion_radius:
            self.remove = True

    self.decay()

    self.trail_update()

    self.life += 1

def show(self, win):
    pygame.draw.circle(win, (self.colour[0], self.colour[1], self.colour[2], 0), (int(self.pos.x), int(self.pos.y)),
                       self.size)

def decay(self):  # random decay of the particles
    if 50 > self.life > 10:  # early stage their is a small chance of decay
        ran = randint(0, 30)
        if ran == 0:
            self.remove = True
    elif self.life > 50:
        ran = randint(0, 5)
        if ran == 0:
            self.remove = True

Firework 类核心代码

class Firework:
    def __init__(self):
        # 随机颜色
        self.colour = (randint(0, 255), randint(0, 255), randint(0, 255))
        self.colours = (
            (randint(0, 255), randint(0, 255), randint(0, 255)),
            (randint(0, 255), randint(0, 255), randint(0, 255)),
            (randint(0, 255), randint(0, 255), randint(0, 255)))
        self.firework = Particle(randint(0, DISPLAY_WIDTH), DISPLAY_HEIGHT, True,
                                 self.colour)  # Creates the firework particle
        self.exploded = False
        self.particles = []
        self.min_max_particles = vector(100, 225)

    def update(self, win):  # called every frame
        if not self.exploded:
            self.firework.apply_force(gravity)
            self.firework.move()
            for tf in self.firework.trails:
                tf.show(win)

            self.show(win)

            if self.firework.vel.y >= 0:
                self.exploded = True
                self.explode()
        else:
            for particle in self.particles:
                particle.apply_force(vector(gravity.x + uniform(-1, 1) / 20, gravity.y / 2 + (randint(1, 8) / 100)))
                particle.move()
                for t in particle.trails:
                    t.show(win)
                particle.show(win)

 
    def remove(self):
        if self.exploded:
            for p in self.particles:
                if p.remove is True:
                    self.particles.remove(p)

            if len(self.particles) == 0:
                return True
            else:
                return False

最后,写一个 main 方法来对 pygame 环境进行初始化,例如背景图片,文字,设置页面刷新间隔,程序中设置的每 60ms 刷新一次。

pygame.display.set_caption("Fireworks in Pygame") # 标题
    background = pygame.image.load("img/1.png") # 背景
    myfont = pygame.font.Font("img/simkai.ttf",80)
    myfont1 = pygame.font.Font("img/simkai.ttf", 30)

    testsurface = myfont.render("元旦快乐",False,(255,255,255))
    testsurface1 = myfont1.render("By:小张Python", False, (255, 255, 255))

    # pygame.image.load("")
    win = pygame.display.set_mode((DISPLAY_WIDTH, DISPLAY_HEIGHT))
    # win.blit(background)
    clock = pygame.time.Clock()

    fireworks = [Firework() for i in range(2)]  # create the first fireworks
    running = True

    while running:
        clock.tick(60)
        win.fill((20, 20, 30))  # draw background
        win.blit(background,(0,0))
        win.blit(testsurface,(200,200))
        win.blit(testsurface1, (300,200))

        if randint(0, 20) == 1:  # create new firework
            fireworks.append(Firework())

        update(win, fireworks)

另外程序中会对你的按键命令进行监控:

当按下键 1时 ,会立即生成一个新的 “烟花”;
当按下键 2时,会同时生成 10 个 “烟花”

for event in pygame.event.get():
            if event.type == pygame.QUIT:
                running = False
            if event.type == pygame.KEYDOWN:  # Change game speed with number keys
                if event.key == pygame.K_1: # 按下 1
                    fireworks.append(Firework())
                if event.key == pygame.K_2: # 按下 2 加入10个烟花
                    for i in range(10):
                        fireworks.append(Firework())

总的来说,整个小案例的代码量不算很多,一共250行左右,但案例中涉及到较为复杂的绘制逻辑和抽象的类之间的封装关系,因此大家理解代码相对会需要耗费点时间。

写到这里,本篇文章算基本结束了,主要介绍就是如何用 Pygame 来模拟一个烟花绽放过程,核心内容大致两点:第一,如何用绘制点的方式来模拟烟花绽放运动轨迹;第二 介绍Pygame 一些基础用法:替换背景,绘制文字,更新状态等功能;

Python烟花代码,用Python制作一个烟花特效 Python实现浪漫的烟花特效 现在很多地方都不能放烟花了,既然看不到, 那作为程序猿的我们还不能自己用代码做一个吗? 今天就带大家用代码做一个烟花特效吧。 阅读详情

相关推荐

Python代码示例,可以生成烟花表演效果

请注意,这只是一个简单的示例程序,并不包含过多的交互性或复杂的动画效果。如果您需要更高级、更定制化的烟花表演效果,请考虑使用专业的图形库(如Pygame)和/或动画框架(如Tweening)。个简单的Python代码示例,可以生成烟花表演效果。您可以根据自己的喜好和需要来修改参数,以获得所需的效果。

qq_36146442的博客 1万+

python code自留地(1)

简易的代码,大家可以随意修改,望增添更多色彩。 将你的“墩”整活起来。 import turtle turtle.title("BingDwenDwen") # 速度 turtle.speed(100) # 左手 turtle.penup() turtle.goto(177, 112) turtle.pencolor("lightgray") turtle.pensize(3) turtle.fillcolor("white") turtle.begin_fill() turtle.pe.

Arican_的博客 1697

程序员过圣诞 | 用HTML写出绽放的烟花

2022年圣诞节到来啦,圣诞节是基督教纪念耶稣诞生的重要节日。亦称耶稣圣诞节、主降生节,天主教亦称耶稣圣诞瞻礼。耶稣诞生的日期,《圣经》并无记载。公元336年罗马教会开始在12月25日过此节。12月25日原是罗马帝国规定的太阳神诞辰。有人认为选择这天庆祝圣诞,是因为基督教徒认为耶稣就是正义、永恒的太阳。5世纪中叶以后,圣诞节作为重要节日,成了教会的传统,并在东西派教会中逐渐传开。因所用历法不同等原因,各教派会举行庆祝的具体日期和活动形式也有差别。

亮点菌 2万+

3个烟花代码,我已上传,也可复制代码

这烟花好看吗 ?源码如下

分享编程技术,让编程的世界没有孤岛。 11万+

数字太大放不下,高精度来补,如何放下超大数字,以及进制转换,高精度真的超好玩。 洛谷1009,1015

想必大家都遇到过数字大小超过int类型范围的情况,是不是碰到int放不下的数字自然就会想到,long int,long long int,甚至unsigned long long int呢。但是有一些出题者就很可恶,偏要出一些连unsigned long long int也放不下的算法题,应对这些问题时,我们是否有相应的应对方法呢?答案是:当然有,高精度就是一种应对这种问题时很好的解决办法。相信你在看完这篇文章后能对高精度有着更深更好的理解。我会循序渐进的来讲,这样大家也更容易听懂。

2303_79329831的博客 1230

S7-200SMART系列全套接线说明

SMART200接线方法,输入,输出,模拟量,面板,扩展糟等,并且详细说明接线原理。

文都龙哥 1万+

我的2022年总结

我的2022年总结 行走于世,风大时要表现逆的风骨,风小时要表现顺的悠然。 我们可以转身,但是不必回头,即使有一天你发现自己走错了,你也应该转身大步朝着对的方向去,而不是回头埋怨自己错了。

LDC,公众号【轻松学编程】 1725

避坑指南:STM32CubeMX安装后,你的第一个工程为什么中文全是乱码?

本文详细解析了STM32CubeMX安装后中文乱码问题的根源及解决方案。从诊断乱码现象到分析编码冲突背景,提供了新项目UTF-8化、旧项目GBK兼容及版本降级等多种实用方案,帮助开发者彻底解决这一常见问题。

weixin_30699955的博客 475

2024年新春快乐跨年烟花代码(小白操作)

全屏烟花动画特效,跨年新春烟花漫天效果。无加密,完整可用哦。

i_Awesome的博客 1万+

从零开始STM32cubeide学习

使用的是正点原子的精英版,单片机是STM32F103ZET6,详细讲解完成跑马灯实验

weixin_44077208的博客 2285

全局–局部傅里叶神经算子(GL-FNO):原理、严格推导与 PINN 混合策略

本文提出了一种全局-局部傅里叶神经算子(GL-FNO)及其与物理信息神经网络(PINN)的结合方法。主要内容包括: 架构设计:GL-FNO包含两个分支 - 全局分支处理低频结构,使用下采样输入;局部分支处理高频细节,使用全分辨率输入。两分支通过自适应门控机制融合。 理论分析:证明了GL-FNO在"低频全局+高频局部"任务上的优势,给出了误差分解和复杂度分析,并推导了与PINN结合时的渐进一致性条件。 实现方法:采用频谱微分计算物理残差,推导了完整的训练流程,包括数据损失与物理损失的联合优

VectorShift的博客 1334

python烟花代码

转载

Code808的博客 1万+

LeRobot 宇树人形机器人 G1 部署 GR00T 运动策略

本文详细介绍了Unitree G1人形机器人的完整设置流程。首先通过以太网连接机器人并进行SSH访问,然后配置WiFi网络实现无线连接。在机器人端安装LeRobot软件并运行服务器程序,最后在控制端配置IP地址并运行GR00T移动控制系统。指南涵盖了29自由度和23自由度版本G1机器人的配置方法,支持通过WiFi进行远程策略部署,提供双足行走与平衡控制功能,并详细说明了遥控器操作方式。

2506_90492529的博客 2173

11套烟花代码,多种方式实现的烟花代码,基于Html/jQuery/css实现的烟花代码合集,总有一款是你喜欢的

基于HTML/CSS/Echarts的会议展览、业务监控、风险预警、数据分析展示等多种展示需求可视化集合。

Python代码大全 1万+

抓包网络调试工具 reqable抓包教程

如果CA根证书未安装成功,网络图标是黄色,点击盾牌图标可以进入CA根证书安装界面,详细步骤请阅读。在API调试中,获取流量是第一步也是最基本的操作,这里讲解下如何使用Reqable获取流量,通俗地讲就是抓包。我们可以选择一个图片请求,双击打开详情面板,能够看到该请求的详细信息。如果系统代理未设置,网络图标是黄色,点击网络图标可以自动设置系统代理。此域名的结构树,可以查看该域名下所有请求的目录结构,点击选择可以查看该请求的详情。首先,需要启用Reqable的调试功能,点击最右上角的。打开浏览器,输入地址。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 2566

【Segment Anything Model】三:SAM模型微调自定义数据集,更改混合提示方式:点,框,点框混合

1.微调SAM预备知识。

cvxiayixiao的博客 1万+

python代码画动态烟花,python画烟花绽放出字

这篇文章主要介绍了python代码画动态烟花,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

www55597的博客 2221

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

python炫酷烟花表白源代码-python炫酷烟花表白源代码

天天敲代码的朋友,有没有想过代码也可以变得很酷炫又浪漫?今天就教大家用Python模拟出绽放的烟花,工作之余也可以随时让程序为自己放一场烟花秀。python炫酷烟花表白源代码这个有趣的小项目并不复杂,只需一点可视化技巧,100余行Python代码和程序库Tkinter,最后我们就能达到下面这个效果:学完本教程后,你也能做出这样的烟花秀。整体概念梳理我们的整个理念比较简单。如上图示,我们这里通过让画...

weixin_37988176的博客 6878

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【2024最新版】我用python代码带你看最绚烂的烟花,浪漫永不过时!

我用python代码带你看最绚烂的烟花,浪漫永不过时!

2301_78217634的博客 1万+

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

除夕最炫烟花代码----跨年必备合集

导语: 除夕除夕,就是除去烦脑,迎接新的希望!在这里小编先祝大家除夕快乐,岁岁常欢笑,事事皆如意! 正文: 创建画布 setup和draw是p5.js的两个主函数,里头的createCanvas用于创建画布的大小,background来设置画布的背景颜色 function setup() { createCanvas(1303 / 2, 734 / 2) } function draw() { background(50); } 画烟花粒子 考虑到会有很多,通过一个函数Particle

m0_67392010的博客 7911

Python烟花(有源码)

【代码】Python烟花(有源码)

一只正的博客 8387

python烟花代码通过编写程序来模拟烟花的绽放过程

该代码使用 turtle 库来绘制烟花的效果。首先,设置窗口大小和标题,定义烟花的颜色和数量。然后,定义烟花的形状,采用 turtle.Shape 的方式来定义,包括圆形和尾迹。接着,注册烟花的形状,采用 turtle.register_shape 的方式来注册。然后,定义烟花类 Firework,包括初始化位置、颜色、速度等属性,以及更新位置的方法 update。接着,创建烟花,将其添加到 fireworks 列表中。最后,进入动画循环,不断更新烟花的位置,直到所有烟花都绽放完毕。

2301_78263023的博客 1万+

烟花源代码

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Canvas烟花</title> <meta name="description" content=""> <meta name="keywords" content=""> <link href="" rel="stylesheet"> <style type="text/css

一只默默撸代码的忆寒 8万+
上一篇: 毫无基础的人如何入门 Python ?
下一篇: 如何自学成为Python大神?
黑客老许
博客等级 码龄8年 6157粉丝 1028原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值