我想,每个人对于美好的事物总有想要提笔在纸上生动形象地把它们描绘出来的欲望,它可能是一朵小花,或是一个卡通人物,亦或是表达我们特殊情感的精致图案……可奈何我们大多数人既无妙手也无丹青,于是只能将这种欲望深埋心底。
今非昔比,Python的出现,
让每个人用键盘都能绘制出大师般的杰作。
那如何才能熟练的绘制出我们想要的图形呢?
首先我们需要解决以下问题:
1:计算机绘图是什么原理?
(一段程序为什么能产生窗口?为何能在窗口上绘图?)
2:Python绘制从哪里开始呢?
(如何绘制一条线?一个弧形?)
让我们先来了解一只海龟-Turtle库
turtle库是turtle绘图体系python的实现;
turtle绘图体系:1969年诞生,主要用于程序设计入门;
turtle库是python的标准库之一;属于入门级的图形绘制函数库;
turtle库绘制原理:有一只海龟在窗体正中心,在画布上游走,走过的轨迹形成了绘制的图形,海龟由程序控制,可以自由改变颜色、方向宽度等。
也就是说 我们用turtle库绘制出的图形,都是依靠控制小海龟一步一步走出来的。
那如何正确的控制小海龟呢?
我们需要认识以下函数:
唤醒小海龟:
import turtle
调用海龟需要使用turtle.<函数名>()
例如:turtle.circle();
from turtle import *:用此方法调用海龟直接采用<函数名>()
import turtle as t:用此方法调用海龟采用t.<函数名>()
海龟控制函数:
画笔操作后一直有效,一般成对出现
--turtle.penup() 别名turtle.pu()
抬起画笔,海龟在飞行
--turtle.pendown() 别名turtle.pd()
落下画笔,海龟在爬行
画笔设置一直有效,直至下次重新设置
-turtle.pensize(width) 别名turtle.width(width)
画笔宽度,海龟的腰围
--turtle.pencolor(color) color为颜色字符串或R,G,B值
画笔颜色,海龟在涂装
颜色字符串:turtle.pencolor('purple')
RGB的小数值:turtle.pencolor(0.63,0.56,0.89)
(每色取值范围为整数0-255,小数0-1)
默认采用小数值可切换为整数值:turtle.colormode(mode)
海龟运动控制函数:
控住海龟行进:走直线&走曲线
-turtle.forward(d)别名turtle.fd(d)
向前行进,海龟走直线
-d:行进距离,可以为负数
-turtle.circle(r,extend=None)
根据半径r绘制extend角度的弧形
-r:默认圆心在海龟左侧r距离位置
-extend:绘制角度,默认是360度正圆
海龟方向控制函数:
控制海龟面对方向:绝对角度&海龟角度
-turtle.left(angle) 海龟向左转
-turtle.right(angle) 海龟向右转
--angle 海龟转向的角度
turtle.setheading(angle) 别名turtle.seth(angle)
改变行进方向,海龟走角度
-angle:改变行进方向,海龟走角度
循环语句:
for (变量)in range:
-range(N)产生0到N-1的整序列
-range(M,N)产生从M到N的整序列
def:Python提供def函数功能,可以将我们这部分功能抽象成一个函数以方便程序调用,或者提供给其他模块使用。
最后,turtle.done:手动退出所画的图像
现在,我们已经学会了如何用turtle库绘制图形,可以根据以下步骤,绘制出你所需的图案。
例如,画一个月饼,发送到“相亲相爱一家人”里送去祝福:
(原创作者:公众号[数恪]:Janie)
或是给心爱的她(他)画一颗炽热的心:
或是画可爱的Pikachu
亲手试试吧。Don’t be afraid,just do it!