端午节粽子(python)

news2024/9/22 19:31:26

目录

前言

正文

 粽叶绘制

粽叶绳绘制

祝福语绘制

源代码

 总结


前言

今天端午节,然后昨天也学习一下绘图的相关知识,然后就想看一下能不能画一下,结果还是有点困难的,用CharAI生成简直一言难尽了。后面是找了一个改了一下。

端午安康,用python给你画盘粽子~啾啾_python画粽子代码_他们叫我技术总监的博客-CSDN博客icon-default.png?t=N5K3https://blog.csdn.net/qq_29061315/article/details/125092068

正文

改的时候还是遇到了几个问题的,首先对goto函数的理解错误了,他是按照屏幕的中间作为原点了,之前学其他语言的时候记得是按照屏幕的左上角作为原点。python的turtle库认识和学习(4)之海龟位置(turtle.goto())_lovepython1314的博客-CSDN博客icon-default.png?t=N5K3https://blog.csdn.net/weixin_40840880/article/details/102760871

 粽叶绘制

这个的话就是要体现立体感觉先画主面再画侧面,我感觉吧这个画图要么需要头脑特别清晰的思路,就是他移动到哪个位置了,角度是朝向哪边,要么就只能像我一样不断调试了,角度不对或者移动的距离不对,每次都要修改很久。

我这里的画笔颜色还是黑色,粽叶的颜色采用的纯绿色,如果画笔也是绿色的话画出来感觉不是很美观,体现不出来线条。正面就是可以用循环来写,但是侧面的角度不同就不能一起写了。这里要保存一个点,方便之后的画封装线。

# 画笔宽度
pensize(2)
# 画笔颜色
pencolor("black")
# 粽子大体的填充色
fillcolor("green")
#开始填充
begin_fill()
#绘制粽子的正面
for i in range(3):
    #forward,在当前位置方向移动一定的距离
    fd(200)
    #画圆弧
    circle(15, 120)
#绘制粽子的侧面
fd(200)
circle(15, 60)
fd(100)
circle(15, 90)
fd(173)
circle(1, 90)
#停止填充
end_fill()

#将海龟笔尖提起
penup()
fd(100)
#向右旋转60
right(60)
#向后移动105
back(105)
#表存当前的坐标点
a = pos()
pendown()

粽叶绳绘制

这里用的粽叶绳颜色是深卡其色,大家可以根据自己的审美来修改,可以直接网上找或者用RGB来细化,最后可以通过hideturtle()来隐藏箭头让他更加美观,在箭头调转的时候最好将画笔抬起以及填充关闭,penup()和end_fill()调整要位置和角度之后再打开,除非是你程序故意这样设置的,当然要更直观的看画笔的角度和位置还是要开启去调整的。

#画笔颜色
color("black")
#带子的颜色(深卡其色)
fillcolor("darkkhaki")
#绘制正面的带子
begin_fill()
fd(120)
goto(a)
#pen up调整位置
penup()
back(15)
left(90)
fd(20)
right(90)
pendown()
fd(150)
right(120)
fd(24)
right(60)
fd(120)
right(60)
fd(24)
end_fill()
#侧面的带子
begin_fill()
left(110)
fd(65)
left(100)
fd(24)
left(80)
fd(50)
#结束填充
end_fill()

#画下面的那条带子
#绘制正面的带子
#摆正他的方向
right(50)
#得到a点的坐标
x,y=a
#让a点坐标向右下靠
x=x+30
y=y-50
b=x,y
#提起画笔把初始的位置什么设置好(角度和准备),此时不能填充
penup()
fd(120)
goto(b)
back(15)
left(90)
fd(20)
right(90)
#配置好了之后就可以填充了
begin_fill()
pendown()
#先画下面的直线
fd(210)
right(120)
#右边的直线
fd(24)
right(60)
#上面的直线
fd(180)
right(60)
#左边的直线
fd(24)
end_fill()
#侧面的带子
begin_fill()
left(110)
fd(90)
left(100)
fd(24)
left(80)
fd(75)
#结束填充
end_fill()

# 隐藏turtle图形(箭头)
hideturtle()

祝福语绘制

这个就是goto之前要提起,不然就会留下沿途的痕迹,调用write函数输入祝福语以及字体的相关信息。

#输出祝福语
#将海龟笔尖提起
penup()
goto(-80,-160)
pendown()
write("端午安康",font=('楷体', 30, 'bold'))

最后要保留的界面的话还是要done的,不然就直接关闭了,调试也不好调试。

# 暂停程序,停止画笔绘制,但绘图窗体不关闭,直到用户关闭pythonTurtle图形化窗口为止
done()

源代码

from turtle import *
# 画粽子
#将海龟笔尖提起
penup()
#将海龟图形移动到画布上指定的位置(算是为了居中绘画吧)
goto(-100,-50)
#将海龟笔尖落下
pendown()

# 画笔宽度
pensize(2)
# 画笔颜色
pencolor("black")
# 粽子大体的填充色
fillcolor("green")
#开始填充
begin_fill()
#绘制粽子的正面
for i in range(3):
    #forward,在当前位置方向移动一定的距离
    fd(200)
    #画圆弧
    circle(15, 120)
#绘制粽子的侧面
fd(200)
circle(15, 60)
fd(100)
circle(15, 90)
fd(173)
circle(1, 90)
#停止填充
end_fill()

#将海龟笔尖提起
penup()
fd(100)
#向右旋转60
right(60)
#向后移动105
back(105)
#表存当前的坐标点
a = pos()
pendown()

#画笔颜色
color("black")
#带子的颜色(深卡其色)
fillcolor("darkkhaki")
#绘制正面的带子
begin_fill()
fd(120)
goto(a)
#pen up调整位置
penup()
back(15)
left(90)
fd(20)
right(90)
pendown()
fd(150)
right(120)
fd(24)
right(60)
fd(120)
right(60)
fd(24)
end_fill()
#侧面的带子
begin_fill()
left(110)
fd(65)
left(100)
fd(24)
left(80)
fd(50)
#结束填充
end_fill()

#画下面的那条带子
#绘制正面的带子
#摆正他的方向
right(50)
#得到a点的坐标
x,y=a
#让a点坐标向右下靠
x=x+30
y=y-50
b=x,y
#提起画笔把初始的位置什么设置好(角度和准备),此时不能填充
penup()
fd(120)
goto(b)
back(15)
left(90)
fd(20)
right(90)
#配置好了之后就可以填充了
begin_fill()
pendown()
#先画下面的直线
fd(210)
right(120)
#右边的直线
fd(24)
right(60)
#上面的直线
fd(180)
right(60)
#左边的直线
fd(24)
end_fill()
#侧面的带子
begin_fill()
left(110)
fd(90)
left(100)
fd(24)
left(80)
fd(75)
#结束填充
end_fill()

# 隐藏turtle图形(箭头)
hideturtle()

#输出祝福语
#将海龟笔尖提起
penup()
goto(-80,-160)
pendown()
write("端午安康",font=('楷体', 30, 'bold'))
# 暂停程序,停止画笔绘制,但绘图窗体不关闭,直到用户关闭pythonTurtle图形化窗口为止
done()

 总结

有点简陋,不过祝福是真心的:

愿你的心情像粽子一样饱满,事业和家庭像粽叶一样紧密相连,幸福美满!!!

平安喜乐

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

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

相关文章

MicroBlaze Processor hello world实验

MicroBlaze Processor hello world实验 实验目的 搭建microblaze工程,通过串口打印hello world,了解microblaze的使用,加深对FPGA硬件和软件开发的理解。 实验原理 MicroBlaze Processor是xilinx提供的一个软核处理器(使用FPGA…

Delta型腿机器狗全动作展示

1. 功能说明 本文示例将实现R322样机Delta型腿机器狗维持身体平衡、原地圆形摆动、原地踏步、蹲起、站立、前进、后退、转向、横向移动、斜向移动等功能。 2. 电子硬件 本实验中采用了以下硬件: 主控板 Basra主控板(兼容Arduino Uno)‍ 扩展…

追寻技术巅峰:开发者的端午征途

近年来,随着信息技术的飞速发展,开发者们以前所未有的速度和规模推动着技术的进步。而正如端午节的文化内涵所体现的那样,我们以屈原名言为指引,勉励着广大开发者在技术征途上不断追求极致,勇往直前。 一、端午节与技术…

macOS Sonoma 14 beta 2 (23A5276g) Boot ISO 原版可引导镜像

macOS Sonoma 14 beta 2 (23A5276g) Boot ISO 原版可引导镜像 本站下载的 macOS 软件包,既可以拖拽到 Applications(应用程序)下直接安装,也可以制作启动 U 盘安装,或者在虚拟机中启动安装。另外也支持在 Windows 和 …

【Flume】高级组件之Sink Processors及项目实践(Sink负载均衡和故障转移)

文章目录 1. 组件简介2. 项目实践2.1 负载均衡2.1.1 需求2.1.2 配置2.1.3 运行 2.2 故障转移2.2.1 需求2.2.2 配置2.2.3 运行 1. 组件简介 Sink Processors类型包括这三种:Default Sink Processor、Load balancing Sink Processor和Failover Sink Processor。 Defa…

AIGC连续内容生成几种方案

背景 从AI可以画图到现在各家都在功课的连续性内容的输出,正在AI画图进入到大众圈其实也不过1年左右时间。对于单图的研究已经逐渐完善,单图理论上讲,只要你能按要求做promt的设计出图率应该是比较高的。但是对于要生成连续的图或者要生成连…

推荐 5 个 火火火 的 GitHub 项目

推荐 5 个开源项目,前两个是 AI 相关,后面 3 个为逛逛GitHub 的读者推荐,如果你挖掘到了很棒的开源项目,可以给老逛投稿。 本期推荐开源项目目录: 1. SuperAGI(AI) 2. 一键换脸(AI&a…

macOS Monterey 12.6.7 (21G651) Boot ISO 原版可引导镜像

macOS Monterey 12.6.7 (21G651) Boot ISO 原版可引导镜像 本站下载的 macOS 软件包,既可以拖拽到 Applications(应用程序)下直接安装,也可以制作启动 U 盘安装,或者在虚拟机中启动安装。另外也支持在 Windows 和 Lin…

计算机实习自我鉴定范文5篇

精选计算机实习鉴定 (一) 时间过的真快,在这过去一个3个月时间里,我在**科技有限公司实习从事运维工作。 在公司实习的这段时间,我主要和其他的实习生一起负责公司刚开发的**系统的部署、更新以及维护。 这三月的时间,在同事和项目…

【并发知识点】CAS的实现原理及应用

系列文章目录 AQS的实现原理及应用 CAS的实现原理及应用 文章目录 系列文章目录前言1、CAS的概念2、CAS的实现原理3、单JVM内锁CAS实现3.1、效果 4、模拟赛龙舟比赛 前言 本章节介绍CAS概念、实现原理,并通过java代码应用,最终模拟赛龙舟比赛。 1、CA…

设计模式之适配器模式笔记

设计模式之适配器模式笔记 说明Adapter(适配器)目录类适配器模式示例类图适配者类的接口适配者类目标接口具体的SD卡类计算机类适配器类测试类 对象适配器模式适配者类的接口适配者类目标接口具体的SD卡类计算机类适配器类测试类 说明 记录下学习设计模式-适配器模式的写法。J…

力扣高频SQL50题(基础版)——第十天

力扣高频SQL50题(基础版)——第十天 1 只出现过一次的最大数字 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出1 1.1.3 示例输入输出2 1.2 示例sql语句 # 查不到时的结果自然就为Null SELECT MAX(t.num) num FROM (SELECT numFROM MyNumbersGROUP By numHAVING count…

窥探系列之Mybatis-plus BaseMapper实现

我们知道,mybatisplus的BaseMapper接口中提供了一些如updateById的方法,框架本身已经实现了这些CRUD功能,基本的CRUD我们就没必要写sql,直接使用java语法就能对数据进行操控,很方便。那么这些功能是如何被实现的呢&…

【并发知识点】AQS的实现原理及应用

系列文章目录 AQS的实现原理及应用 CAS的实现原理及应用 文章目录 系列文章目录前言一、AQS是什么?1、应用场景2、优缺点 二、案例应用1.使用AQS来实现一个简单的互斥锁2.模拟赛龙舟程序 总结 前言 在Java技术方面,AQS指的是AbstractQueuedSynchronize…

2023最新高薪岗位大爆料,大模型算法工程师!凭什么人均月薪50K

大模型算法工程师工资收入一般多少钱一个月? 最多人拿50K以上占 53.7%,2023年较2022年增长了10%。 按学历统计,本科工资¥41.9K。 按经验,1-3年工资¥40.0K。 一起来看华为招聘的大模型工程师的工资水准 岗位…

[补充]机器学习实战|第二周|第2章:监督学习|课后习题

目录 第二章 监督学习 2. 使用不同的超参数,如kernel"linear"和kernel“rbf”,尝试一个支持向量机回归器。并思考最好的SVR预测器是如何工作的? [代码]3. 为MNIST数据集构建一个分类器,并在测试集上达成超过97%的精度…

关于Java中单例模式(饿汉模式和懒汉模式)的简析

目录 一.什么是单例模式 二.饿汉模式和懒汉模式 饿汉模式 代码 懒汉模式 代码 关于多线程安全的问题 如何解决懒汉模式多线程安全问题 双if判断 一.什么是单例模式 简单来说,就是我们在程序中通过代码进行限制,在该程序中 只能创建一个对象 二.饿汉模式和懒汉模式 …

【2023,学点儿新Java-17】变量与运算符:Java中的关键字及类型划分(附: 官网) | 保留字 | 字面量 | 附:Java部分关键字介绍

前情回顾: 【2023,学点儿新Java-16】编程语言的学习方法总结 | 编程的本质和架构 | 如何深度理解编程知识和技能 | 如何成为优秀的软件开发工程师 | 附:Java初学者的困惑!【2023,学点儿新Java-15】案例分享&#xff1…

机器视觉初步7:模板匹配专题

今天端午,祝各位端午安康! 今天来说说模板匹配这个专题。 模板匹配(Template Matching)是一种图像处理技术,用于在一幅图像上查找与另一幅模板图像相同的区域。模板图像和待匹配图像的大小相同。模板匹配的目的是在待…

【MongoDB大作业】MongoDB服务器的部署

【MongoDB大作业】MongoDB服务器的部署 作业要求作业步骤一、在VMware Workstations安装Linux操作系统(最小安装即可)二、安装完成后登录系统三、将ip地址设置为固定ip地址192.168.80.134四、设置虚拟网络编辑器五、使用 CRT 工具远程连接虚拟机六、下载…