Python绘画案例2——用Python写动态小人发射爱心~~,包含源码

news/2025/2/25 5:19:31

Python绘画案例2——用Python写动态小人发射爱心,包含源码

写在开始

这个Python专栏大概会出一百多个绘画作品,大家有喜欢的收藏关注一下,谢谢咯~

运行结果展示

小人发射爱心~

话不多说,展示源代码

python">import turtle as t
import time


def draw_people(x, y):
    t.penup()
    t.goto(x, y)
    t.pendown()
    t.pensize(2)
    t.color('white')
    t.setheading(0)
    t.circle(35, 360)
    t.penup()
    t.pensize(3)
    t.setheading(90)
    t.fd(45)
    t.setheading(180)
    t.fd(20)
    t.setheading(0)
    t.fd(35)
    t.pendown()
    t.circle(4, 360)
    t.penup()
    t.goto(x, y)
    t.pensize(2)
    t.setheading(0)
    t.fd(20)
    t.setheading(90)
    t.fd(20)
    t.setheading(-90)
    t.pendown()
    t.circle(5, 180)
    t.penup()
    t.goto(x, y)
    t.setheading(-90)
    t.pendown()
    t.fd(20)
    t.setheading(0)
    t.fd(35)
    t.setheading(60)
    t.fd(10)
    t.penup()
    t.goto(x, y)
    t.setheading(-90)
    t.pendown()
    t.fd(40)
    t.setheading(0)
    t.fd(35)
    t.setheading(-60)
    t.fd(10)
    t.penup()
    t.goto(x, y)
    t.setheading(-90)
    t.pendown()
    t.fd(60)
    t.setheading(-135)
    t.fd(60)
    t.bk(60)
    t.setheading(-45)
    t.fd(30)
    t.setheading(-135)
    t.fd(35)
    t.penup()


def draw_heart(size):
    t.color('pink', 'pink')
    t.pensize(2)
    t.pendown()
    t.setheading(150)
    t.begin_fill()
    t.fd(size)
    t.circle(size * -3.745, 45)
    t.circle(size * -1.431, 165)
    t.left(120)
    t.circle(size * -1.431, 165)
    t.circle(size * -3.745, 45)
    t.fd(size)
    t.end_fill()


def draw():
    t.speed(10.4)
    draw_people(-250, 20)
    t.penup()
    t.goto(-150, -30)
    draw_heart(14)
    t.penup()
    t.goto(-20, -60)
    draw_heart(25)
    t.penup()
    t.goto(205, -100)
    draw_heart(43)
    t.hideturtle()
    time.sleep(2)


if __name__ == '__main__':
    t.setup(1.0, 1.0)
    t.title("爱心发射")
    t.bgcolor('black')
    draw()
    t.done()










http://www.niftyadmin.cn/n/5864987.html

相关文章

在 Vue 中处理跨域请求:全面解析与实践指南

在 Vue 中处理跨域请求:全面解析与实践指南 在现代 Web 开发的复杂生态中,跨域请求(CORS)如同一个无处不在的难题,时刻考验着开发者的技术能力。当我们构建基于 Vue.js 的前端应用时,这一问题尤为凸显。因为…

Unity Shader Graph 2D - Procedural程序化图形循环加载进度效果

前言 在游戏中进度加载的效果是一种常见的效果,可以告诉玩家当前游戏处于一个资源加载的状态,这样玩家就能理解游戏不是卡住了或者是出现Bug了,而是正在进行一些数据的处理准备进入下一个场景。 创建一个LineLoading的Shader Graph文件,对应创建一个材质球,然后在…

Linux相关概念和易错知识点(30)(线程互斥、线程同步)

目录 1.线程互斥 (1)临界资源和临界区 (2)互斥和原子性 ①互斥 ②原子性 (3)加锁和解锁(互斥锁)的原理 (4)pthread_mutex系列函数和变量 ①lock、unlo…

WiFi相关功能使用教程(wpa_supplicant及wpa_cli)

WiFi相关功能使用教程(wpa_supplicant及wpa_cli) 在之前的博客文中,我们已经成功交叉编译了wpa_supplicant和wpa_cli相关文件。 此篇文章中我们将介绍如何使用和配置WiFi模块。 先将生成的可执行文件拷贝到设备里 采用TFTP的方式拷贝到设备中并全都加上可执行权限…

基于javaweb的SpringBoot酒店管理系统设计和实现(源码+文档+部署讲解)

技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…

C1车证学习笔记

科目一: 口诀: 能停就停能帮就帮;只有违法没有违章;人行横道不停不调;酒驾无照十二扣掉;高速路三车行;60,90,110;能见度200步;限速60隔百步&…

整车解决问题举例

一,调度中心 业务流程优化 1,JOB 地址解析/库存校验/承运商分配 导致问题:日志表量多大,高德调用量过大,频繁调用第三方接口,接口处理慢 处理方案:降量,处理历史数据从时间维度&…

XML DOM4J 二、document对象

DOM4J获取Document对象: 使用DOM4J来加载XML文档,需要先获取SAXReader对象,然后通过SAXReader对象的read()方法来加载XML文档: SAXReader reader new SAXReader(); // reader.setValidation(true);Document doc reader.read(&…