端午节,我用 Python 画了一盘粽子送给大家
今天是端午节,首先祝大家端午安康,说到端午节,粽子则是必不可少的,现在粽子的种类也是五花八门,但我还是喜欢传统的白棕子,你喜欢哪种粽子呢?在大家吃着美味粽子的同时,本文我们画一盘粽子送给大家。
先睹为快
我们先来欣赏一下最终的效果图:
从图中我们可以看出整体分三部分组成:盘子、粽子、文字,下面我们展开来说一下相应实现。
盘子实现
首先,我们来画一个盘子,盘子的组成比较简单,就是一个椭圆再加上填充色,代码实现如下:
# 画盘子 def plate(a, b, angle, steps, rotateAngle): minAngle = (2 * math.pi / 360) * angle / steps rotateAngle = rotateAngle / 360 * 2 * math.pi penup() # 起笔 setpos(b * math.sin(rotateAngle), -b * math.cos(rotateAngle)) pendown() # 落笔 for i in range(steps): nextPoint = [a * math.sin((i + 1) * minAngle), -b * math.cos((i + 1) * minAngle)] nextPoint = [nextPoint[0] * math.cos(rotateAngle) - nextPoint[1] * math.sin(rotateAngle), nextPoint[0] * math.sin(rotateAngle) + nextPoint[1] * math.cos(rotateAngle)] setpos(nextPoint)
效果如下:
粽子实现
接着,我们看一下本文最核心的部分-粽子的实现,实现代码如下:
# 画粽子 def rice_dumpling(): pensize(2) # 画笔宽度 pencolor(2, 51, 12) # 画笔颜色 fillcolor(4, 77, 19) # 填充色 begin_fill() fd(200) # 向前 circle(15, 120) #画圆弧 fd(200) circle(15, 120) 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) right(60) back(105) a = pos() pendown() color(60, 67, 0) fillcolor(85, 97, 9) begin_fill() fd(120) goto(a) 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()
效果如下:
文字实现
我们再接着看一下如何添加文字,比如我要添加的文字是:祝大家端午安康,添加文字实现很容易,只需一行代码即可,代码实现如下:
write("祝大家端午安康", move=False, align="center", font=("Comic Sans", 18, "bold"))
文中全部代码已经为大家整理好了,有需要的在公众号Python小二后台回复端午即可获取。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Linux内核睡眠唤醒调试
本文基于RockPI 4A单板Debian系统Linux4.4内核介绍下睡眠唤醒(suspend/resume)的一些调试方法。 一、参数设置 1、关闭串口睡眠 在Linux内核睡眠过程中,会先调用suspend_console()函数使串口进入睡眠状态,这样会导致后续设备驱动的睡眠过程不可见。可以在boot启动参数中增加no_console_suspend参数,显示设备驱动睡眠日志。 ## 启动参数中增加no_console_suspend root@linaro-alip:~# cat /boot/extlinux/extlinux.conf timeout 10 menu title select kernel .... label kernel-debug kernel /debug/Image fdt /debug/rk3399-rock-pi-4a.dtb append earlyprintk console=ttyFIQ0,1500000n8 init=/sbin/init ... rootfstype=ext4 no_console_su...
- 下一篇
【SpringCloud技术专题】「Hystrix」(3)超时机制的原理和实现
[每日一句] 也许你度过了很糟糕的一天,但这并不代表你会因此度过糟糕的一生。 [温馨提示] 承接上一篇文章🏹「Hystrix」(2)参数配置的详细介绍 在这里推荐给大家martinfowler的熔断器介绍和权威指南,有兴趣的小伙伴们可以研究一下哈。 主要介绍相关:官网说明 关于 【Hystrix如何运行的介绍】的介绍 [背景介绍] 分布式系统的规模和复杂度不断增加,随着而来的是对分布式系统可用性的要求越来越高。在各种高可用设计模式中,【熔断、隔离、降级、限流】是经常被使用的。而相关的技术,Hystrix本身早已算不上什么新技术,但它却是最经典的技术体系!。 Hystrix以实现熔断降级的设计,从而提高了系统的可用性。 Hystrix是一个在调用端上,实现断路器模式,以及隔舱模式,通过避免级联故障,提高系统容错能力,从而实现高可用设计的一个Java服务组件库。 Hystrix实现了资源隔离机制 前提介绍 Hystrix的超时检测本质上通过启动单独线程去检测的,线程的执行的时间刚好就是任务超时的时间,本质上就是这么个简单的逻辑。 Hystrix超时后会抛出一个HystrixTimeout...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装Docker,最新的服务器搭配容器使用
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Linux系统CentOS6、CentOS7手动修改IP地址
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- MySQL8.0.19开启GTID主从同步CentOS8
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装