Python Turtle绘图 鼠年画老鼠爷

Python Turtle绘图 鼠年画老鼠爷

前言

本文介绍的是如何运用Python的turtle画一只老鼠。为什么会无聊想到做这个呢?还不是想获得24小时的请假时长学会turtle,掌握技术。

这是我们系举办的一个“对称图形编程大赛活动”,此次做这个初期也只是为了参赛,但做一件事情都要把它做好嘛,所以花费了一些时间和精力。

由于近期在自学Python,觉得turtle挺有意思的,刚好今年是鼠年,就想到用turtle画只老鼠。

由于本人画画功底渣+刚入门的小白,所以画出来的老鼠略微丑萌,与实际参考图有一定差距,但是没关系,自己女朋友看着开心就行!

在这里插入图片描述
在画之前,先参考了画小猪佩奇的方法,有了初步的理解和认识。网上有很多优秀的作品也可供大家参考。

通过这项活动我浅学会了Python Turtle这个神奇又强大的工具,操作起来真的就跟画笔没两样,牛批!

代码不难,难得是要找角度,不过这玩意还是很好入门的。博主愚钝,在女朋友十万分的鼓励和不断提出修改建议的情况下,敲了好久才有这只小老鼠。

所以哈,大家会儿借鉴的时候,稍微,就稍微啊,标一下出处。感恩啊!

效果图

下面先来看一下效果图吧,丑萌丑萌的,勿喷(开心就好)。

在这里插入图片描述

必要知识

要想画出老鼠,必须掌握以下知识,也是一些turtle的基本操作,下面我对知识点做了一些说明,便于大家读懂。

命令 说明
turtle.right(degree) 简称:rt() 向右转degree°
turtle.left(degree) 简称:lt() 向左转degree°
turtle.forward(dis) 简称:fd() 向当前画笔方向移动dis像素长度
turtle.backward(dis) 简称:bd() 向当前画笔相反方向移动dis像素长度
turtle.penup() 简称:pu() 提起笔移动,不绘制图形,用于另起一个地方绘制
turtle.pendown() 简称:pd() 移动时绘制图形,缺省时也为绘制
turtle.goto(x,y) 将画笔移动到坐标为x,y的位置
turtle.fillcolor(colorstring) 绘制图形的填充颜色
turtle.color(color1, color2) 同时设置pencolor=color1, fillcolor=color2
turtle.setheading(angle) 简称:seth() 设置当前朝向为angle角度
turtle.circle(radius, extent=None, steps=None) radius(半径):半径为正(负),表示圆心在画笔的左边(右边)画圆;extent(弧度) (optional);steps (optional) (做半径为radius的圆的内切正多边形,多边形边数为steps)。

源代码

大家心心念念的源代码来了,感兴趣的小伙伴可以自行下载运行,编程中的快乐“鼠”于你!

我在代码中标明了注释,大家可以根据注释来理解代码的含义。

"""
作品名称:运鼠帷幄
前言:以下内容都是作者一点点测试出来的,如需转载,请附明源出处!
"""
import turtle as t
t.screensize(300,600)
def ears(dir):  # 耳朵,dir用来设置方向,左右耳对称
    #大圈
    t.pu()
    t.goto((0 - dir) * 150, 120)
    t.setheading(0)
    t.pd()
    t.fillcolor('#F2D391')
    t.begin_fill()
    t.circle(80)
    t.end_fill()
    #小圈
    t.pu()
    t.goto((0 - dir) * 120, 120)
    t.setheading(0)
    t.pd()
    t.fillcolor('#F9ECF5')
    t.begin_fill()
    t.circle(60)
    t.end_fill()
def face():  # 画脸
    #加底图
    t.pu()
    t.goto(-45,216)
    t.pd()
    t.color("#FFE4B5","#FFE4B5")#前一个是笔的颜色,后一个是填充的颜色
    t.begin_fill()
    t.goto(45,216)
    t.goto(65, -20)
    t.goto(-65, -20)
    t.end_fill()
    t.color("black","#FFE4B5")#底图增加完毕,笔的颜色置回黑色
    #右边脸颊
    t.pu()
    t.goto(65,-20)
    t.pd()
    t.fillcolor('#FFE4B5')
    t.begin_fill()
    t.setheading(10)
    t.circle(120,180)
    #左边脸颊
    t.pu()
    t.goto(-65,-20)
    t.pd()
    t.setheading(170)
    t.circle(-120,180)
    #下巴
    t.pu()
    t.goto(-65,-20)
    t.pd()
    t.goto(65,-20)
    t.end_fill()
def mouth(): # 嘴巴
    #右边嘴巴
    t.pu()
    t.goto(0, 30)
    t.pd()
    t.setheading(-70)
    t.circle(30,180)
    #左边嘴巴
    t.pu()
    t.goto(
  • 7
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值