儿童节教你用 Python 画出童年回忆

百家 作者:CSDN 2020-06-01 16:00:06
作者 | 张同学
来源 | 凹凸数据
大家好,我是张同学。
又到一年一度的国际儿童节,作为逢节必过的程序猿,怎么可以放过这个学习技能的机会呢?
于是,今天我们来学习 Python 的 Turtle 库绘制童年的卡通人物,一起做回年轻的那个少年。
?
Turtle图形库简介

Turtle 库,又称海龟库,是 Python 语言中一个很流行的绘制图像的函数库。
大家可以想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。
Turtle 库一般 Python 环境会自带,如果没有这个库查询一下安装方法。

常用函数

1、画笔控制函数
  • penup():抬起画笔;
  • pendown():落下画笔;
  • pensize(width):画笔宽度;
  • pencolor(color):画笔颜色;color为颜色字符串或者rgb值
2、运动控制函数
  • forward(d)/fd(d):直行d个像素;
  • circle(r, extent = None):绘制半径为r,角度为extent的弧形,圆心默认在海龟左侧距离r的位置;
3、方向控制函数
  • setheading(angle)/seth(angle):改变前进方向;
  • left(angle):海龟左转;
  • right(angle):海龟右转;

代码演示

下面用海龟库完成小黄人的绘制,下面是部分源码,完整源码以及其余的卡通图案绘制源码见文末。
import?turtle?as?t

t.pensize(4)
t.speed(10)

#?=======头======
def?head():
????t.penup()
????t.fillcolor("#FFEE26")
????t.goto(-130,?10)
????t.pendown()
????t.begin_fill()
????t.seth(81)
????t.fd(90)
????t.seth(100)
????t.circle(-500,?3)
????t.circle(-100,?10)
????t.circle(-200,?25)
????t.circle(-110,?20)
????t.circle(-140,?30)
????t.circle(-180,?30)
????t.circle(-200,?20)
????t.circle(-140,?10)
????t.circle(-160,?50)
????t.seth(85)
????t.fd(-148)
????t.seth(-112)
????t.circle(-250,?14)
????t.fd(200)
????t.right(80)
????t.fd(190)
????t.seth(110)
????t.circle(-200,?7)
????t.circle(-130,?30)
????t.end_fill()
绘制过程:
6个卡通图案绘制源码(网页打开直接下载):
https://alltodata.cowtransfer.com/s/2b943c8a803e45
注:文中卡通图案绘制参考了部分教程。
【END】

更多精彩推荐

?开源公司 HashiCorp 国内险遭禁,阿里、华为也要做好 B 计划?

?航拍高手、吉他十级,6500+Star 开源项目作者,后浪程序员给力!

?面试官:你的 SQL 一般有几个 join?| 原力计划

?基于深度学习和传统算法的人体姿态估计,技术细节都讲清楚了

?面试中遇到这 3 个SQL问题,最容易掉坑里!

?好扑科技结合区块链行业发展趋势,重磅推出“好扑区块链合伙人”计划

点击阅读原文,精彩继续。

你点的每个“在看”,我都认真当成了喜欢

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接