今天,我们将会完成以下2个内容:
绘制方法:拆解绘制法
将绘图步骤拆解完成后,标记出各个部分的起始坐标点位,方便后面绘图。
首先我们绘制圆脸部分,主要步骤是:
1.定义一个绘制圆脸的函数
2.用黑色画笔画圆
3.用金色填充圆的内部
# 从turtle模块中导入所有函数
from turtle import *
# 定义draw_face()函数绘制脸部
# 首先,定义一个draw_face()函数绘制脸部
def draw_face():
# 进入函数的主体部分后,第一步需要将小乌龟放置到我们期待的位置:(-120,0)
# 抬起画笔
penup()
# 移动到坐标点为(-120,0)的地方
goto(-120,0)
# 落笔
pendown()
# 将画笔颜色设置为黑色"black"
pencolor("black")
# 将画笔粗细设置为4
pensize(4)
# 调整海龟朝向-90度方向
seth(-90)
# 开始填充颜色
begin_fill()
# 画圆,圆的半径为130,圆心角为360度
circle(130,360)
# 填充颜色为"gold"
fillcolor("gold")
# 停止填充颜色
end_fill()
相关步骤如下:
1.定义函数,设置初始位置
为了避免留下小乌龟从初始位置移动到(-120,0)的轨迹,我们可 以:
penup()抬起小乌龟
goto()把小乌龟移动到目标位置
再使用pendown()放下小乌龟
2.设置颜色、大小和朝向
设置画笔颜色和大小:
使用pencolor()将画笔颜色设置为黑色’‘black’',
使用pensize()函数将画笔粗细设置为4.
3.设置画笔的朝向:
为了圆脸的位置正确,需要把小乌龟的头竖直向下放置:
使用seth()函数,设置画笔朝向-90度的方向开始绘制。
⭐️两种调整角度的方法
4.绘制圆并填充颜色
绘制圆:
使用circle()函数设置圆的半径为130,圆心角度为360度
填充颜色:
用fillcolor()函数将填充颜色设置为"gold"
用begin_fill()函数设置填充起点
用end_fill()函数设置填充终点
绘制嘴巴可以分为以下几步:
1.画笔移动到坐标点(-80,-10)的位置。
2.朝向-90度的方向
3.绘制一个半径为90的半圆。
# 定义draw_mouth() 函数绘制嘴巴
def draw_mouth():
# 抬起画笔
penup()
# 移动到坐标点为(-80,-10)的位置
goto(-80,-10)
# 落笔
pendown()
# 调整海龟朝向-90度方向
seth(-90)
# 绘制一个半径为90,圆心角为180的半圆
circle(90,180)
相关步骤如下:
1.设置画笔的初始位置:
和前面绘制圆脸一样,我们也需要使用penup()等函数,将动小乌龟到目标位置:(-80,-10)
2.设置画笔的朝向:
为了嘴巴的位置正确,我们也需要把小乌龟的头竖直向下放置:seth(-90)
3.绘制嘴巴:
使用circle()函数设置圆的半径为90,圆心角度为180度
思考一下,眼白可以怎么绘制呢?
1.从嘴角位置向上直走60步
2.将海龟角度设置为155度
3.将画笔颜色设置为白色,粗度为20
4.绘制一个半径为100,圆心角为45度的圆弧
1.设置画笔的初始位置:
移动到目标位置前,使用penup()隐藏移动痕迹
在绘制完嘴巴的基础上,我们直接前进60步,即可到达目标位置:forward(60)
到达后,使用pendown()将小乌龟放置到画布上~
2.设置画笔的朝向:
将海龟角度设置为155度:seth(155)
3.设置画笔的粗细和颜色:
使用pencolor()将画笔颜色设置为白色’‘white’',
使用pensize()函数将画笔粗细设置为20.
4.绘制眼白:
使用circle()函数设置圆的半径为100,圆心角度为45度
示例代码如下:
# 定义eyes_white()函数绘制眼白
def eyes_white():
# 抬起画笔
penup()
# 往前直走60步
forward(60)
# 将角度调整为155度
seth(155)
# 落笔
pendown()
# 设置画笔粗细为20
pensize(20)
# 设置画笔颜色为"white"
pencolor("white")
# 绘制一个半径为100,圆心角为45的弧形
circle(100,45)
# 抬笔
penup()
ps.绘制完记得抬起小乌龟
绘制第二部分的眼白也是类似的:
- 抬起画笔,朝向180度的方向(正左)移动40步
- 角度调整为155度
- 绘制一个半径为100,圆心角为45度的圆弧
- 抬起画笔,朝向180度的方向(正左)移动40步
- 角度调整为155度
- 绘制一个半径为100,圆心角为45度的圆弧
绘制黑眼珠的方法和绘制眼白的方法是类似的
1.画笔朝向0度方向,向前移动6步
2.设置画笔粗细为15,颜色为黑色
3.画一个半径为5的圆
4.向前移动110步,再绘制一个半径为5的圆
太棒啦!现在我们已经完成了滑稽emoji的绘制~
回顾绘制的过程:
1.将图形拆解为不同的区域
2.分区进行绘制
3.定义函数使区域更明晰
在绘制你需要的图形时也可以使用这样的方法哦~
# 导入turtle中的全部函数
from turtle import *
# 定义draw_face()函数绘制脸部
def draw_face():
# 抬起画笔
penup()
# 移动到坐标点为(-120,0)的地方
goto(-120,0)
# 落笔
pendown()
# 将画笔颜色设置为黑色"black"
pencolor("black")
# 将画笔粗细设置为4
pensize(4)
# 调整海龟朝向-90度方向
seth(-90)
# 开始填充颜色
begin_fill()
# 画圆,圆的半径为130,圆心角为360度
circle(130,360)
# 填充颜色为"gold"
fillcolor("gold")
# 停止填充颜色
end_fill()
# 定义draw_mouth() 函数绘制嘴巴
def draw_mouth():
# 抬起画笔
penup()
# 移动到坐标点为(-80,-10)的位置
goto(-80,-10)
# 落笔
pendown()
# 调整海龟朝向-90度方向
seth(-90)
# 绘制一个半径为90,圆心角为180的半圆
circle(90,180)
# 定义eys_white()函数绘制眼白
def eyes_white():
# 使用penup()函数抬起画笔
penup()
# 使用forward()函数往前直走60步
forward(60)
# 使用seth()函数将角度调整为155度
seth(155)
# 使用pendown()函数落笔
pendown()
# 使用pensize()函数设置画笔粗细为20
pensize(20)
# 使用pencolor()函数设置画笔颜色为"white"
pencolor("white")
# 使用circle()函数绘制一个半径为100,圆心角为45的弧形
circle(100,45)
# 使用penup()函数抬笔
penup()
# 使用seth()函数朝向180度方向
seth(180)
# 使用forward()函数向前走40步
forward(40)
# 使用seth()函数将角度调整为155度
seth(155)
# 使用pendown()函数落笔
pendown()
# 使用circle()函数绘制一个半径为100,圆心角为45度的圆弧
circle(100,45)
# 使用penup()函数抬笔
penup()
# 定义一个eyes_black()函数绘制黑眼珠
def eyes_black():
# 使用seth()函数将角度设置为0
seth(0)
# 使用forward()函数前进6步
forward(6)
# 使用pendown()函数落笔
pendown()
# 使用pensize()函数设置画笔粗细为15
pensize(15)
# 使用pencolor()函数设置画笔颜色为"black"
pencolor("black")
# 使用circle()函数绘制一个半径为5,圆心角为360度
circle(5,360)
# 使用penup()函数抬笔
penup()
# 使用forward()函数前进110步
forward(110)
# 使用pendown()函数落笔
pendown()
# 使用circle()函数绘制一个半径为5的圆
circle(5,360)
# 使用hideturtle()函数隐藏画笔
hideturtle()
# 调用draw_face()函数画脸
draw_face()
# 调用draw_mouth()函数画嘴巴
draw_mouth()
# 调用eyes_white()函数画白眼珠
eyes_white()
# 调用eyes_black()函数画黑眼珠
eyes_black()
# 调用done()暂停
done()
学到现在或许你有一些疑问:这么多函数太容易记混了,有没有办法归类呢?
在这里我们可以把turtle中常用函数分成三类:
1.运动控制命令
2.画笔控制命令
3.全局控制命令
1.前进后退
2.转向
3.控制速度
4.移动到固定点位
5.画圆
等等…………
1.改变画笔的大小和颜色
2.控制画笔的显示和隐藏
3.控制填充颜色
等等…………
全局控制命令是指可以应用在整个画布和绘画过程中的命令。
1.清空窗口
2.写文本
3.控制动画播放