资源经验分享来用python画一只单身狗吧

来用python画一只单身狗吧

2020-03-03 | |  51 |   0

原标题: 来用python画一只单身狗吧

来源:CSDN博客    链接:https://blog.csdn.net/THU_COCO/article/details/104531684

1、python turtle 快速入门

Python的Turtle库可以画图,搞出许多有趣的可视化东西,是培养女朋友儿童编程兴趣的好帮手。


Turtle顾名思义,是一只小海龟。它根据函数指令的控制,在平面坐标系中移动,可以前行、后退、转弯、瞬移、原地画点……落笔时,它爬行留下指定颜色和粗细的路径;无论抬笔还是落笔时都可以圈地填色,画出有或无边界的平面图案。所谓海龟,其实就像机器人手中的画笔。只不过这个机器人走得非常精确,不需要PID。


##1.1 画布与画笔设置


默认原点(0,0)在正中间,画笔向东(0°方向)移动。

我们知道py文件的第一行一般是:


import numpy as npy

类似地,我们首先输入


from turtle import *

这样的好处是没有必要在每个函数之前都写xx.了,有种满篇野函数的感觉。


home():将画笔置于(0,0)点向东状态

clear():清空turtle窗口,不改变画笔位置

reset():清空窗口,回复画笔起始位置

hideturtle():隐藏画笔的turtle形状

showturtle():显示画笔的turtle形状,默认状态是与画笔同色的箭头

screensize(canvwidth,canvheight,bg):参数分别为画布的宽,高,背景颜色。

setup(width,height,startx,starty):参数宽和高为整数时表示像素;为小数时,表示占据电脑屏幕的比例,startx和starty表示矩形窗口左上角顶点的位置,如果为空则窗口位于屏幕中心

pensize(size):设置画笔粗细

seth(degree):设置画笔方向,参数取值0~360 speed(speed):设置画笔移动速度,参数取值1~10的整数

color(color)和fillcolor(color):设置笔触颜色/填充颜色,参数可以是RGB三元组或字符串。字符串对应色卡如图:

02.jpg

(直男朋友们注意一下,目测这里就有至少20种口红色号)


##1.2 运动命令


fd(d):向前移动距离d

bd(d):向后移动距离d

right(degree):画笔方向向右转动degree度

left(degree):画笔方向向左转动degree度

goto(x,y):将画笔移动到(x,y)位置

stamp():绘制当前图形

undo():撤销上一动作


1.3 画笔控制

pd():画笔落下,移动时绘制图形

pu():画笔抬起,移动时不绘制图形

dot(diameter,color):以画笔位置为中心绘制一个指定直径和颜色的圆,不改变画笔位置

circle(radius,degree):绘制度数为degree的圆弧,规律如下图,可见半径和度数均可取正负值:

1583220190545250.jpg

circle(radius,degree,step)与上条类似,将这条“圆弧”分段折线化,均匀分成step段。结束时,画笔方向为“圆弧”的切线。例如先分5段画半圆再沿画笔方向前进:

04.gif


1.4 插入文字

write函数,三个参数分别为内容、对齐方式和渲染格式。使用样例如下,为了明确align参数的定义方式,绘制圆点指明:


goto(-100,0)

dot(20)

write("EESAST the best!", align="right", font=("华文隶书",20,"bold")) #右端对齐

goto(100,50)

dot(20)

write("I love THUEE!", align="left", font=("Tempus Sans ITC",20,"bold")) #左端对齐

05.gif

2、画一只单身狗吧


1.FACE

从(0,0)开始,用朴素的方法,连接线段和90°圆弧绘制单身狗的脸(直男配色,直观体验)


#脸

pd() #落笔

fd(25) 

#从起始状态(0,0)向东前行25像素


circle(100,90) 

#画一个半径100的1/4圆弧(图中绿色)


circle(120,90)

#再画一个半径120的1/4圆弧(图中蓝色)


fd(10) 

#前行10像素(图中粉色)


circle(120,90)

circle(100,90)

fd(25)

pu() #抬笔

06.gif

2.EYES

goto(x,y)到达合适的位置,和画脸一样绘制眼眶。画眼球的时候可以dot画点,也可以按如下方式填充圆形:


# 眼球,刚才画完抬过笔了


goto(60,100)

begin_fill() #开始填充


circle(17) #眼球的轮廓


#如果不是闭合曲线,会连接首尾涂色


end_fill() #结束填充

07.gif

3.FINISH

类似地,通过计算(调参),画另一只眼睛,接着画嘴巴和耳朵,一只单身狗就画好啦!

08.gif

3、送你一颗小心心

阅读完上面的内容,你应该轻松地学会了一个技能,下一步就是用来装X撩弟撩妹了。送大家一颗调好参数的小心心。还是拼接圆弧,毕竟小编太懒了。


size=90 

#这一行可以改,是小心心的大小参数


pu()

goto(0,-100) 

#这一行可以改,是小心心的起始位置


pd()

# 如果删掉这一行不落笔,就是没有边框的小心心


begin_fill()

seth(150)

fd(size)

circle(-3.74*size, 45)

circle(-1.43*size, 165)

left(120)

circle(-1.43*size, 165)

circle(-3.74*size, 45)

fd(size)

end_fill()

设置画笔颜色为红色,填充为粉色,效果就是这样啦!

09.gif

链接文件:

开头单身狗的完整代码

超级精美可爱彩色高仿小猪佩奇社会人代码

————————————————

版权声明:本文为CSDN博主「EE Sheep」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/THU_COCO/article/details/104531684

THE END

免责声明:本文来自互联网新闻客户端自媒体,不代表本网的观点和立场。

合作及投稿邮箱:E-mail:editor@tusaishared.com

上一篇:机器学习验证集为什么不再有新意?

下一篇:物联网数据质量挑战及其解决方法

用户评价
全部评价

热门资源

  • Python 爬虫(二)...

    所谓爬虫就是模拟客户端发送网络请求,获取网络响...

  • TensorFlow从1到2...

    原文第四篇中,我们介绍了官方的入门案例MNIST,功...

  • TensorFlow从1到2...

    “回归”这个词,既是Regression算法的名称,也代表...

  • 机器学习中的熵、...

    熵 (entropy) 这一词最初来源于热力学。1948年,克...

  • TensorFlow2.0(10...

    前面的博客中我们说过,在加载数据和预处理数据时...