《Python趣味工具》——自制emoji2(2)

今天,我们将会完成以下2个内容:

  1. 绘制静态emoji
  2. 总结turtle中常用的绘图函数

文章目录

  • 一、绘制静态emoji:
    • :sparkles: 画脸:
    • :sparkles:绘制嘴巴:
    • :sparkles:绘制眼白:
      • 绘制眼白-Part1:
      • 绘制眼白—part2:
    • :sparkles:绘制黑眼珠:
  • 三、完整代码:
  • 四、函数函数总结:
    • 运动控制命令:
    • 画笔控制命令:
    • 全局控制命令:

一、绘制静态emoji:

绘制方法:拆解绘制法

将绘图步骤拆解完成后,标记出各个部分的起始坐标点位,方便后面绘图。

《Python趣味工具》——自制emoji2(2)_第1张图片


✨ 画脸:

首先我们绘制圆脸部分,主要步骤是:

1.定义一个绘制圆脸的函数
2.用黑色画笔画圆
3.用金色填充圆的内部

《Python趣味工具》——自制emoji2(2)_第2张图片
示例代码如下:

# 从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.设置画笔的朝向:
为了圆脸的位置正确,需要把小乌龟的头竖直向下放置:
《Python趣味工具》——自制emoji2(2)_第3张图片
使用seth()函数,设置画笔朝向-90度的方向开始绘制。
《Python趣味工具》——自制emoji2(2)_第4张图片
⭐️两种调整角度的方法

  • 1.相对角度
    以海龟的朝向为基准进行转向。
    例如:left(),right()
  • 2.绝对角度
    以坐标轴方向为基准调整角度。
    例如:seth()
    《Python趣味工具》——自制emoji2(2)_第5张图片

4.绘制圆并填充颜色
绘制圆:
使用circle()函数设置圆的半径为130,圆心角度为360度
填充颜色:
用fillcolor()函数将填充颜色设置为"gold"
用begin_fill()函数设置填充起点
用end_fill()函数设置填充终点


✨绘制嘴巴:

绘制嘴巴可以分为以下几步:

1.画笔移动到坐标点(-80,-10)的位置。
2.朝向-90度的方向
3.绘制一个半径为90的半圆。

《Python趣味工具》——自制emoji2(2)_第6张图片

# 定义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度的圆弧
《Python趣味工具》——自制emoji2(2)_第7张图片

绘制眼白-Part1:

《Python趣味工具》——自制emoji2(2)_第8张图片
相关步骤如下:

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.绘制完记得抬起小乌龟


绘制眼白—part2:

《Python趣味工具》——自制emoji2(2)_第9张图片

绘制第二部分的眼白也是类似的:

  1. 抬起画笔,朝向180度的方向(正左)移动40步
  2. 角度调整为155度
  3. 绘制一个半径为100,圆心角为45度的圆弧
  4. 抬起画笔,朝向180度的方向(正左)移动40步
  5. 角度调整为155度
  6. 绘制一个半径为100,圆心角为45度的圆弧

《Python趣味工具》——自制emoji2(2)_第10张图片


✨绘制黑眼珠:

绘制黑眼珠的方法和绘制眼白的方法是类似的

1.画笔朝向0度方向,向前移动6步
2.设置画笔粗细为15,颜色为黑色
3.画一个半径为5的圆
4.向前移动110步,再绘制一个半径为5的圆

《Python趣味工具》——自制emoji2(2)_第11张图片


太棒啦!现在我们已经完成了滑稽emoji的绘制~

回顾绘制的过程:
1.将图形拆解为不同的区域
2.分区进行绘制
3.定义函数使区域更明晰

在绘制你需要的图形时也可以使用这样的方法哦~

《Python趣味工具》——自制emoji2(2)_第12张图片

三、完整代码:

# 导入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.画圆
等等…………

《Python趣味工具》——自制emoji2(2)_第13张图片


画笔控制命令:

1.改变画笔的大小和颜色
2.控制画笔的显示和隐藏
3.控制填充颜色
等等…………

《Python趣味工具》——自制emoji2(2)_第14张图片


全局控制命令:

全局控制命令是指可以应用在整个画布和绘画过程中的命令。

1.清空窗口
2.写文本
3.控制动画播放

《Python趣味工具》——自制emoji2(2)_第15张图片


你可能感兴趣的:(《Python项目实战》,python,开发语言)