Python画笔案例-033 绘制爆炸图

news2024/9/21 18:38:41

1、绘制蝌蚪

通过 python 的turtle 库绘制爆炸图,如下图:

在这里插入图片描述

2、实现代码

 绘制爆炸图,以下为实现代码:

爆炸图,非函数版本 :

 """
  爆炸图.py
"""
import turtle
import random

cs = ['yellow','red','purple','blue']

turtle.bgcolor('black')
turtle.delay(0)
turtle.speed(0)
turtle.pensize(4)
index = 0
for index in range(3,-1,-1):
    c = cs[index]
    turtle.color(c)
    turtle.pensize(index+2)
    
    for _ in range(150):
        d = (index+1) * random.randint(50,120)
        f = random.randint(1,360)
        turtle.seth(f)
        turtle.fd(d)
        turtle.goto(0,0)

turtle.done()

爆炸图,函数版:

"""
  爆炸图.py
"""
import turtle
import random

def scatter(c,length):
    """
       散射条函数
       这个函数会设定画颜色,然后根据length
       来决定需要前进的距离。
    """
    turtle.color(c)
    turtle.pensize(length)
    for _ in range(150):
        d = length * random.randint(50,120)
        f = random.randint(1,360)
        turtle.seth(f)                    # 设置方向为f 
        turtle.fd(d)
        turtle.goto(0,0)                  # 回到原点
   
turtle.bgcolor('black')                   # 设定背景颜色为黑
turtle.delay(0)                           # 设定绘画延时为0
turtle.speed(0)                           # 设定移动速度为最快
turtle.pensize(4)                         # 设定画笔粗细为4
    
scatter('blue',4)                         # 调用函数画蓝线条 
scatter('purple',3)
scatter('red',2)
scatter('yellow',1)                       # 调用函数画黄线条 

turtle.done()                             # 进入事件循环


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2106263.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

企业如何避免六西格玛黑带培训陷入形式主义?

在开展六西格玛黑带培训的过程中,不少企业陷入了形式主义的泥潭,导致培训效果大打折扣。本文,深圳天行健企业管理咨询公司旨在分享如何避免六西格玛黑带培训陷入形式主义,确保培训成果真正转化为企业的生产力。 一、明确培训目标与…

电商企业借助精益六西格玛培训提升资产周转率——从资本困局到效率跃升

随着市场日益饱和,电商企业的增长模式被迫从粗放式扩展向精细化运营转型。这个过程许多电商企业遭遇了资产周转率低下的瓶颈,资金流动性不足直接影响企业的扩展能力与市场竞争力。面对这一困境,越来越多的电商企业开始借助精益六西格玛这一强…

认知杂谈46

今天分享 有人说的一段争议性的话 I I 强者思维的人际关系观 拥有强者思维的人在和人交往的时候,可不会粗心大意。 I I 他们在人际交往这个大舞台上,会充分考虑他人的感受,绝不会像那些在网上肆无忌惮乱喷的人。 I I 他们深知人心的复杂多变…

链表.......

从右到左 更新尾部 typedef typedef struct ListNode { int value; struct ListNode *next;(这里不能用listnode*应为还没有定义) } ListNode; #include <stdio.h> #include <stdlib.h> // 定义链表节点结构体 struct ListNode { int value; s…

红黑树总结(RbTree)——C++版

目录 红黑树的五大规则 这些规则的作用 插入和删除中的规则修正(简单了解一下) 代码实现 单纯的变色 左旋变色 右旋变色 双旋变色 其他细节 简单的数据测试 set/map进行封装 红黑树是一种自平衡的二叉搜索树&#xff0c;它通过一组规则来确保树在插入或删除操作后保…

华为手机找不到wifi调试?不急,没有wifi调试一样可以进行局域网模式调试

最近小黄在使用uniapp启动无线调试的时候突然发现华为的手机突然找不到wifi调试了&#xff0c;那么我们怎么进行无线调试呢&#xff1f; 其实他只是找不到开关而已&#xff0c;正常使用就行。 1.使用数据线连接手机。 打开cmd命令行执行&#xff1a;adb tcpip 5555 2.再执行ad…

IOS 22 自定义标题栏(Toolbar)

标题栏实现效果 实现逻辑 自定义标题栏&#xff0c;我们可以基于系统NavigationBar定制&#xff0c;也可以使用控件完全自定义。本文使用控件完全自定义来实现自定义标题栏效果。 SuperToolbarView 创建一个自定义控件SuperToolbarView&#xff0c;可以把SuperToolbarView分…

如何查找自己文件的复制记录 - 用这个方法简单

如何查看自己文件的复制记录&#xff1f;在电脑操作的过程中经常会复制文件&#xff0c;那么这些记录在哪里可以看&#xff0c;怎么查找&#xff0c;我们可以使用专门的软件工具进行查看文件的复制、剪切历史记录&#xff0c;下面推荐一款比较实用的文件复制记录查看软件。 文…

Chrome 浏览器插件获取网页 window 对象(方案三)

前言 最近有个需求&#xff0c;是在浏览器插件中获取 window 对象下的某个数据&#xff0c;当时觉得很简单&#xff0c;和 document 一样&#xff0c;直接通过嵌入 content_scripts 直接获取&#xff0c;然后使用 sendMessage 发送数据到插件就行了&#xff0c;结果发现不是这…

51单片机-第十一节-DS18B20温度传感器(One_Wire单总线)

一、DS18B20温度传感器介绍&#xff1a; DS18B20是一种数字温度传感器。 测温范围&#xff1a;-55C - 125C 通信接口&#xff1a;1-Wire&#xff08;单总线&#xff09; 二、引脚及应用电路&#xff1a; 很简单&#xff0c;电源&#xff0c;接地&#xff0c;通讯接口。 三…

认知杂谈38

今天分享 有人说的一段争议性的话 I I 《灵感&#xff0c;创意的魔法棒》 嘿&#xff0c;咱可得好好唠唠灵感这玩意儿。你说怪不怪&#xff0c;有时候就喝那么一杯热乎乎的茶&#xff0c;哎呀妈呀&#xff0c;脑袋里一下子就跟开了闸似的&#xff0c;各种点子“哗哗”地往外…

[米联客-XILINX-H3_CZ08_7100] FPGA程序设计基础实验连载-29基于FPGA实现触摸屏实验

软件版本&#xff1a;VIVADO2021.1 操作系统&#xff1a;WIN10 64bit 硬件平台&#xff1a;适用 XILINX A7/K7/Z7/ZU/KU 系列 FPGA 实验平台&#xff1a;米联客-MLK-H3-CZ08-7100开发板 板卡获取平台&#xff1a;https://milianke.tmall.com/ 登录“米联客”FPGA社区 http…

FFmpeg开发笔记(五十四)使用EasyPusher实现移动端的RTSP直播

之前的文章《利用RTMP协议构建电脑与手机的直播Demo》介绍了如何使用RTMP Streamer实现完整的RTMP直播流程&#xff0c;另一篇文章《利用SRT协议构建手机APP的直播Demo》介绍了如何使用SRT Streamer实现完整的SRT直播流程&#xff0c;接下来介绍如何使用EasyPusher-Android实现…

golang学习笔记03——gin框架的核心数据结构

文章目录 1.核心数据结构1.1 gin.Context1.2 前缀树&#xff08;1&#xff09;前缀树&#xff08;2&#xff09;压缩前缀树&#xff08;3&#xff09;代码实现 上期文章我们讲到了golang中gin框架的基本原理和底层请求、渲染的流程&#xff0c;还不知道的小伙伴查看golang学习笔…

Docker 部署 Redis (图文并茂超详细)

部署 Redis ( Docker ) [Step 1] : 拉取 Redis 镜像, 推荐使用 7 的 Redis 版本 docker pull redis:7.0.12[Step 2] : 创建 Redis 相关目录 ➡️ 启动 Redis 容器 ➡️ 拷贝文件 ➡️ 授权文件夹 ➡️ 删除容器 # 创建 Redis 相关目录 mkdir -p /data/redis/{conf,data,log…

页面小组件-搜索栏(一)

样例展示 效果示例-折叠状态 效果示例-展开状态 代码示例 <custom-search-wrapper><!--showFoldBtn 需要展示折叠按钮时传值--><template slotleft><el-form:model"searchFormData"inlinesize"small"><el-form-item><e…

Linux 虚拟网络三大基石:Namespace、Veth pair 与 Bridge

引言 在 Linux 的世界里&#xff0c;虚拟网络技术是系统管理、云计算和容器化不可或缺的一部分。今天&#xff0c;我们将深入探讨构建这些虚拟网络的三大基石&#xff1a;Namespace、Veth 对和 Bridge&#xff0c;揭示它们如何在背后默默支撑起你的网络环境。 Namespace&…

PNP与NPN型传感器

PNP与NPN型传感器 一、磁性开关1、==磁性开关分类及原理==:2、==磁性开关配线==3、磁性开关串连和并联(不重要)4、磁性开关选型(不重要)二、PNP型与NPN型的选用1、PNP型传感器(高电平输出)1.1、对于`PNP-NO`(常开)型1.2、对于`PNP-NC`(常闭)型:2、NPN型传感器(低电…

Navicat 17 新特性 | 新增 Redis 哨兵部署模式

随着 Navicat 17 的发布&#xff0c;在业界引起了广泛的共鸣与热议。我们曾深入剖析其众多革新特性&#xff0c;包括新增 PolarDB 与 Garnet、模型设计创新与优化、增强的商业智能 BI 能力、高效的查询与配置、用户界面交互体验再升级&#xff0c;以及原生适配国产平台和操作系…

商品信息的标准化

销售环节的数字化见效最快 现在&#xff0c;企业的数字化是非常热的话题&#xff0c;工业&#xff14;.&#xff10;&#xff0c;人工智能&#xff0c;物联网&#xff0c;机器人都是企业数字化转型的主要方向&#xff0c;但是某些时候&#xff0c;我们走的太远&#xff0c;却忘…