今天,我们将会完成以下2个内容:
- 绘制静态emoji
- 总结turtle中常用的绘图函数
文章目录
- 一、绘制静态emoji:
- :sparkles: 画脸:
- :sparkles:绘制嘴巴:
- :sparkles:绘制眼白:
- 绘制眼白-Part1:
- 绘制眼白—part2:
- :sparkles:绘制黑眼珠:
- 三、完整代码:
- 四、函数函数总结:
- 运动控制命令:
- 画笔控制命令:
- 全局控制命令:
一、绘制静态emoji:
绘制方法:拆解绘制法
将绘图步骤拆解完成后,标记出各个部分的起始坐标点位,方便后面绘图。
✨ 画脸:
首先我们绘制圆脸部分,主要步骤是:
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")# 将画笔粗细设置为4pensize(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度的方向开始绘制。
⭐️两种调整角度的方法
- 1.相对角度
以海龟的朝向为基准进行转向。
例如:left(),right()- 2.绝对角度
以坐标轴方向为基准调整角度。
例如:seth()
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度的圆弧
绘制眼白-Part1:
相关步骤如下:
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()# 设置画笔粗细为20pensize(20)# 设置画笔颜色为"white"pencolor("white")# 绘制一个半径为100,圆心角为45的弧形circle(100,45)# 抬笔penup()
ps.绘制完记得抬起小乌龟
绘制眼白—part2:
绘制第二部分的眼白也是类似的:
- 抬起画笔,朝向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")# 将画笔粗细设置为4pensize(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()函数设置画笔粗细为20pensize(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()函数将角度设置为0seth(0)# 使用forward()函数前进6步forward(6)# 使用pendown()函数落笔pendown()# 使用pensize()函数设置画笔粗细为15pensize(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.控制动画播放