Python基础7-画图

python实现 跳动爱心代码 ,表白神器又+1+1+1...... 关于表白神器什么的,我是豪不吝啬给的,别说小熊猫我没发嗷~ 阅读详情

画图

python放烟花

效果图
在这里插入图片描述


'''
FIREWORKS SIMULATION WITH TKINTER
*self-containing code
*to run: simply type python simple.py in your console
*compatible with both Python 2 and Python 3
*Dependencies: tkinter, Pillow (only for background image)
*The design is based on high school physics, with some small twists only for aesthetics purpose
'''

import tkinter as tk

# from tkinter import messagebox

# from tkinter import PhotoImage

from PIL import Image, ImageTk

from time import time, sleep

from random import choice, uniform, randint

from math import sin, cos, radians

# gravity, act as our constant g, you can experiment by changing it

GRAVITY = 0.05

# list of color, can choose randomly or use as a queue (FIFO)

colors = ['red', 'blue', 'yellow', 'white', 'green', 'orange', 'purple', 'seagreen', 'indigo', 'cornflowerblue']

'''
Generic class for particles
particles are emitted almost randomly on the sky, forming a round of circle (a star) before falling and getting removed
from canvas
Attributes:
    - id: identifier of a particular particle in a star
    - x, y: x,y-coordinate of a star (point of explosion)
    - vx, vy: speed of particle in x, y coordinate
    - total: total number of particle in a star
    - age: how long has the particle last on canvas
    - color: self-explantory
    - cv: canvas
    - lifespan: how long a particle will last on canvas
'''


class part:

    def __init__(self, cv, idx, total, explosion_speed, x=0., y=0., vx=0., vy=0., size=2., color='red', lifespan=2,
                 **kwargs):

        self.id = idx

        self.x = x

        self.y = y

        self.initial_speed = explosion_speed

        self.vx = vx

        self.vy = vy

        self.total = total

        self.age = 0

        self.color = color

        self.cv = cv

        self.cid = self.cv.create_oval(

            x - size, y - size, x + size,

            y + size, fill=self.color)

        self.lifespan = lifespan

    def update(self, dt):

        self.age += dt

        # particle expansions

        if self.alive() and self.expand():

            move_x = cos(radians(self.id * 360 / self.total)) * self.initial_speed

            move_y = sin(radians(self.id * 360 / self.total)) * self.initial_speed

            self.cv.move(self.cid, move_x, move_y)

            self.vx = move_x / (float(dt) * 1000)



        # falling down in projectile motion

        elif self.alive():

            move_x = cos(radians(self.id * 360 / self.total))

            # we technically don't need to update x, y because move will do the job

            self.cv.move(self.cid, self.vx + move_x, self.vy + GRAVITY * dt)

            self.vy += GRAVITY * dt



        # remove article if it is over the lifespan

        elif self.cid is not None:

            cv.delete(self.cid)

            self.cid = None

    # define time frame for expansion

    def expand(self):

        return self.age <= 1.2

    # check if particle is still alive in lifespan

    def alive(self):

        return self.age <= self.lifespan


'''
Firework simulation loop:
Recursively call to repeatedly emit new fireworks on canvas
a list of list (list of stars, each of which is a list of particles)
is created and drawn on canvas at every call, 
via update protocol inside each 'part' object 
'''


def simulate(cv):
    t = time()

    explode_points = []

    wait_time = randint(10, 100)

    numb_explode = randint(6, 10)

    # create list of list of all particles in all simultaneous explosion

    for point in range(numb_explode):

        objects = []

        x_cordi = randint(50, 2000)

        y_cordi = randint(50, 500)

        speed = uniform(0.5, 1.5)

        size = uniform(0.5, 3)

        color = choice(colors)

        explosion_speed = uniform(0.2, 1)

        total_particles = randint(10, 50)

        for i in range(1, total_particles):
            r = part(cv, idx=i, total=total_particles, explosion_speed=explosion_speed, x=x_cordi, y=y_cordi,

                     vx=speed, vy=speed, color=color, size=size, lifespan=uniform(0.6, 1.75))

            objects.append(r)

        explode_points.append(objects)

    total_time = .0

    # keeps undate within a timeframe of 1.8 second

    while total_time < 1.8:

        sleep(0.01)

        tnew = time()

        t, dt = tnew, tnew - t

        for point in explode_points:

            for item in point:
                item.update(dt)

        cv.update()

        total_time += dt

    # recursive call to continue adding new explosion on canvas

    root.after(wait_time, simulate, cv)


def close(*ignore):
    """Stops simulation loop and closes the window."""

    global root

    root.quit()


if __name__ == '__main__':
    root = tk.Tk()

    cv = tk.Canvas(root, height=1015, width=2180)

    # use a nice background image

    image = Image.open("./timg.jpg")  # 背景照片路径自行选择,可以选择酷炫一点的,看起来效果会#更好

    photo = ImageTk.PhotoImage(image)

    cv.create_image(0, 0, image=photo, anchor='nw')

    cv.pack()

    root.protocol("WM_DELETE_WINDOW", close)

    root.after(100, simulate, cv)

    root.mainloop()




Python画图常用代码总结,这20个画图代码现拿现用 Python画图常用代码总结,现拿现用!Python画图常用代码总结,现拿现用! 大家好,今天分享给大家20个Matplotlib图的汇总,在数据分析与可视化中非常有用,大家可以收藏下来慢慢练手。 阅读详情

相关推荐

Python源码:海龟画图turtle画史迪仔

--------------turtle源码集合---------------Python源码19:海龟画图turtle画螺旋的彩色的逐渐放大的文字。Python源码分享13:使用海龟画图turtle画一个会眨眼的皮卡丘。Python源码20:使用海龟画图turtle画一个会动的星空。Python源码分享11:使用海龟画图turtle画航天火箭。Python源码分享11:使用海龟画图turtle画航天火箭。Python源码14:使用海龟画图turtle画我的城堡。

我的Python教程 1599

特别有趣的spyder运行程序

文章目录计算三角形面积求解一元二次方程 计算三角形面积 运行结果如下: 求解一元二次方程 运行结果如下:

FILWYGIRL的博客 1034

Python从0到50(三十六):OpenCV-实战画图

OpenCV-实战画图

904

python画个哆啦A梦

# * -- utf-8 -- * # Author: Tang import turtle as t t.speed(10) t.pensize(8) t.hideturtle() t.screensize(500, 500, bg='white') # 猫脸 t.fillcolor('#00A1E8') t.begin_fill() t.circle(120) t.end_fill...

ZJC'博客 3418

Python源码26:海龟画图turtle画向日葵

--------------turtle源码集合---------------Python源码19:海龟画图turtle画螺旋的彩色的逐渐放大的文字。Python源码分享13:使用海龟画图turtle画一个会眨眼的皮卡丘。Python源码20:使用海龟画图turtle画一个会动的星空。Python源码分享11:使用海龟画图turtle画航天火箭。Python源码分享11:使用海龟画图turtle画航天火箭。Python源码14:使用海龟画图turtle画我的城堡。

我的Python教程 2125

Graphviz 画图教程(Python)

python库Graphviz的安装及简单使用

EdisonLeeeee的博客 1万+

python好玩的短代码

在这个函数中,我们将会把日期的数字部分添加到 txt文件中。Python语言是一种流行的编程语言,在 Python语言中有很多有趣的特性,比如: 1.变量可以定义为字符串,也可以定义为字符串对象 2.变量可以用来初始化一个函数或模块,函数或者模块可以定义成一个类,这个类被称为实例对象(experimental object) 3.变量的类型必须和实际使用的类型保持一致,也就是必须与实际使用的对象保持一致 5.在 Python中,如果一个变量的类型不确定,就必须把它当作一个参数传递给一个变量。

花生日记 4132

spyder常用快捷键(分享)

下面小编就为大家带来一篇spyder常用快捷键(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

Python|十五个超级炫酷的代码

视频是动态的,不信你运行试试。 2 温柔的狮子 4 520+爱心 5 鲜艳的玫瑰 6 一颗小爱心 7 一个呆萌的皮卡丘 8 小猪佩奇 9 放烟花 10 小呆呆小黄人 11 十里桃花飘落 12 炸死小坏蛋 13 哆啦A梦 14 一个微信表情包 15 秀死他......

weixin_61181717的博客 17万+

嵌入式常见英文2500词总结

嵌入式常见英文总结

qq_28576837的博客 1万+

抖音最新风控体系研究

小编从技术角度对抖音的风控史和落地目标,跟大家聊一聊抖音,包括海外版抖音TikTok的现状与生态。 1、非常非常早的时期,抖音刚出来的时候,没有任何封禁,这个阶段,导入一个开发库,加上一个请求头,咵咵咵的数据随便拿。 2、2018-2019年,抖音加入了设备id和xg机制,在绝大多数的接口中,携带了设备id参数,同时在请求头中加入了xg,如今的apk市场,能追溯到的最早xg是0200打头的,而小编见过的最早的xg是0000打头的。这个时期的接口,这些参数都还只是预设,没有实际的用处,设备随便写,

qq517348412的博客 1万+

python画图零基础入门教程_Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 7. 条件循环...

条件循环能够让程序在条件成立时(即为真时)重复执行循环体中的语句。如果条件一直成立(即永远不会为假),则循环会一直进行下去,不会停止。如果初始时,条件不成立,则循环 1 次也不会执行。Python 中条件循环使用 while 关键字来实现。看下面这段示例代码,import turtleturtle.shape("turtle")turtle.speed(0)def forward(max_dist...

weixin_39630855的博客 271

MT4-EA自动化交易研究笔记(2022-04-22)

自从接触到mt4的EA自动化交易,更让我这个10多年的老程序员看到了曙光,目前来看也确实出了一点成果,只是是否能稳定盈利有待时间的考验,所以开此专栏,一来做做记录与分析,更好的优化我的EA,二来也希望能与更多的高手交流,以完善我的交易系统

t35254056的博客 2292

python简单代码画图-Python科学画图代码分享

Python画图主要用到matplotlib这个库。Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。这里有一本电子书供大家参考:《Python图表绘制:matplotlib绘图库入门》具体来说是pylab和pyplot这两个子库。这两个库可以满足基本的画图需求,而条形图,散点图等特殊图,下面再单独具体介绍。首先给出pylab...

weixin_37988176的博客 1700

[Linux外设驱动详解]RK3588 U-Boot网络功能深度分析

本文深入分析了RK3588平台上U-Boot的网络功能实现,主要内容包括: 网络架构:详细剖析了从硬件层到协议层的完整网络栈架构,包括GMAC驱动、TFTP/NFS启动、网络命令等关键组件。 驱动实现:重点介绍了RK3588 GMAC驱动结构,包含关键数据结构、专用操作函数集、设备树兼容性配置和GRF寄存器设置。 功能实现:详细说明了驱动初始化流程、RGMII速度适配机制以及PHY接口配置过程。 高级特性:涵盖了网络启动功能、镜像更新和MAC地址传递到Linux内核的机制。 文档通过代码片段和流程图清晰展示

Just Linux! 1115

Java/PHP:微信支付v3显示 “商户证书序列号有误。请使用签名私钥匹配的证书序列号。“(Spring Boot、thinkPHP微信支付失败返回错误,例如退款、企业付款到零钱等各种微信支付业务)

商户证书序列号有误。请使用签名私钥匹配的证书序列号,php,Java微信支付v3显示"商户证书序列号有误。请使用签名私钥匹配的证书序列号。"请问如何解决?httResponseBody[{"code":"SIGN_ERROR","message":"商户证书序列号有误。请使用签名私钥匹配的证书序列号"}]微信V3支付报错 平台证书及平台证书序列,vue3微信支付报错,Uniapp支付报错,微信支付签名错误解决方法,微信支付v3证书报错,微信支付平台证书过期(报错:证书序列号错误)计算签名时,商户号、商户AP

✅ 精选推荐文章 4598

Python画图——基础篇

python画图——基础篇1 前言2 基础知识2.1 图像坐标系3 matplotlib3.1 画直线图3.2画散点图3.3 区域填充3.4 坐标轴相关3.4.1 坐标轴范围3.4.2 坐标轴刻度3.4.3 坐标轴标签3.4.4 隐藏坐标轴3.5 标题3.6 画布设置3.7 保存文件3.8 实例4 pygal4.1 直方图 1 前言 本文章基于《Python编程,从入门到实践》,Eric Matt...

hello_xhx的博客 5375

【一 扣子客户案例合集】【 1.3 识典古籍基于扣子智能助手的古籍数字化全流程技术解析】

古籍数字化智能处理系统全流程解析 本文详细介绍了基于扣子智能助手的古籍数字化解决方案,核心技术包括: 多层级架构设计:采用"云-边-端"三层次架构,整合高精度扫描设备与AI处理模块,实现从物理古籍到结构化数据的全流程自动化。 智能图像处理:通过12道预处理工序(包括畸变校正、污渍去除和对比度增强)处理古籍图像,采用改进的EAST算法和ViT模型实现高精度文字检测与识别,准确率达98.7%。 NLP增强处理:结合Transformer-XL预训练模型和N-gram语言模型进行文本校正,基于

商务合作|问题讨论|交流学习 请联系作者微信,加微信请务必注明来意,博客主页有联系方式 1442

python画图-Python基础-画图:matplotlib

Python画图主要用到matplotlib这个库。具体来说是pylab和pyplot这两个子库。这两个库可以满足基本的画图需求。pylab神器:pylab.rcParams.update(params)。这个函数几乎可以调节图的一切属性,包括但不限于:坐标范围,axes标签字号大小,xtick,ytick标签字号,图线宽,legend字号等。具体参数参看官方文档:http://matplotli...

weixin_37988176的博客 494

智驾车载以太网(18)-switch之报文转发和vlan处理流程

本文详细解析了交换机中报文处理和转发流程:1)通过目标MAC查找转发端口,源MAC创建ARL条目;2)VLAN标签处理包括tagged/untagged帧判断、默认VID标记等5种处理方式;3)完整转发流程包含CRC校验、IQ封装、VLAN和ARL表查询、端口向量计算及优先级队列发送。文中还涉及TCAM修改VLAN、802.1q多种模式处理等细节,省略了流量控制等次要流程。该过程实现了基于MAC和VLAN的高效二层交换。

mitugaoyang1993的博客 44

Python爬虫教程:微博热点话题抓取与社交媒体分析

微博是中国最大的社交媒体平台之一,拥有海量的用户和丰富的讨论话题。通过爬取微博的热门话题和讨论内容,我们可以深入分析用户的兴趣、舆论走势、社会情绪等。通过爬取微博的热点话题和讨论内容,我们可以获得关于当前热门话题的宝贵数据,并基于这些数据进行多种社交媒体分析。本文将通过Python爬虫技术,详细介绍如何抓取微博上的热门话题、话题讨论内容,并进行社交媒体分析。希望本文为你提供了一个全面的微博数据抓取与分析的指南,帮助你在社交媒体数据分析的道路上迈出坚实的第一步。微博上的一些页面内容是静态的,可以直接通过。

2201_76125261的博客 591

chatgpt赋能python:Python画图符号详解:入门必知的基础功能

本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。🧡AI职场汇报智能办公文案写作效率提升教程 🧡专注于AI+职场+办公方向。下图是课程的整体大纲下图是AI职场汇报智能办公文案写作效率提升教程中用到的ai工具。

findyi123的博客 476

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

如何利用Python画图

一、问题描述 对于刚刚学习编程的同学来说对编程是非常陌生的,对很多的代码也是非常陌生,高中忙于学习的我们甚至可以说是对编程是一无所知,进入大学进入到这个专业才开始接触很多电脑相关的东西才开始接触编程,下面我就教大家如何利用编程语言画图,以Python语言为例,我们这次利用Python画一个爱心。 二、问题分析 刚开始进入大学学习的我们,对于高中和大学教学方式的巨大转变一时间可能会有点适应不了导致我...

weixin_43825475的博客 1万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

python画图代码大全-Python科学画图代码分享

Python画图主要用到matplotlib这个库。Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。这里有一本电子书供大家参考:《Python图表绘制:matplotlib绘图库入门》具体来说是pylab和pyplot这两个子库。这两个库可以满足基本的画图需求,而条形图,散点图等特殊图,下面再单独具体介绍。首先给出pylab...

q6q6q的专栏 1万+

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

python软件怎么打开画图_Python实现画图软件功能

概述虽然Python的强项在人工智能,数据处理方面,但是对于日常简单的应用,Python也提供了非常友好的支持(如:Tkinter),本文主要一个简单的画图小软件,简述Python在GUI(图形用户界面)方面的应用,仅供学习分享使用,如有不足之处,还请指正。设计思路页面布局:主要分为上下两部分 a. 绘图区域,本例以Canvas实现 b. 下部:功能区,由按钮实现事件监听:通过给功能按钮绑定事件,...

weixin_39915721的博客 1969

Python画图

Python画图

Python单行客的博客 1万+
上一篇: 统计学基础4-卡方分布与方差分析
下一篇: 机器学习算法梳理(六):XGB
程序员椰子橙
博客等级 码龄9年 46粉丝 163原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值