原标题:《编程课堂》海龟制图
0、前言
turtle是python内置的一个比较有趣的模块,俗称海龟制图。 它基于tkinter模块构建,提供了简单的绘制工具。 龟标制图来源于20世纪60年代的标志编程语言,此后,酷酷的python程序员构建了turtle库,其他程序员只能通过导入turtle进行python
1、基本功能介绍
在海龟的制图中,可以写命令让虚拟的(想象中的)海龟在画面上来回移动。 海龟有钢笔,所以无论你移动到哪里,你都可以用钢笔画画。 写代码,用各种酷的模式移动海龟,我们就能画出惊人的照片。 使用海龟进行绘图,不仅只需要几行代码就可以产生令人印象深刻的视觉效果,而且还可以根据海龟查看每行代码如何影响其移动。 这有助于理解代码的逻辑。 所以海龟的制图也经常被用作初学者学习Python的一种方法。
1.1 Turtle motion (运动控制) )。
本节介绍运动控制中的常用函数
Turtle.goto(x,y ) )。
使画笔位于坐标(x,y )处
Turtle.forward(distance ) )。
将距离的长距离向正方向移动
Turtle.backward(distance ) )。
将距离的长距离向负方向移动
turtle.right(Angle ) )。
向右角度
turtle.left(Angle ) )。
靠左角度
turtle.home (
回到原点
turtle.circle(radius,extent=None,steps=None ) )。
画圆的radius为半径,extent为圆的角度
turtle.speed(speed ) )。
以高速工作
看了这么多函数一定已经头很大了,我用例题来说明。
首先画一边长为100的正方形,然后以半径为50画其3/4圆。
#控制画笔速度
turtle.speed(5) )。
#将画笔放置在原点
Turtle.goto () 0,0 ) ) ) ) ) )。
#描绘从原点开始一边的长度为100的正方形
foriinrange(4) :
正向移动100个距离Turtle.Forward(100 )
#向右偏移90度的Turtle.right(90 ) )。
#将画笔放置在原点
turtle.home (
画一个半径为100、3/4的圆
turtle.circle (50,270 )。
最后,得到以下结果。
1.2 Pen control (画笔控制)。
此部分包含画笔控制函数,通常如下所示:
turtle.pendown (
放下笔,在那个状态下描绘运动的轨迹
turtle.penup ()
起笔,在这种状态下不描绘运动的轨迹
Turtle.Pensize(width=none
刷子的粗细
turtle.pencolor(*Args
画笔颜色
turtle.fillcolor(*Args ) ) ) ) ) ) ) ) )。
填充颜色
turtle.begin_fill ()
开始填充
turtle.end_fill ()
结束填充
turtle.write(arg,move=False,align=”left ",font=("arial ",8," normal " ) )
写文字
同样,用例题说明。
画正方形填充,最后写文字
#控制画笔颜色
turtle.pencolor('red ' ) )。
#落笔
turtle.pendown (
#设置填充颜色
turtle.fillcolor('blue ' )。
#开始填充
turtle.begin_fill ()
#描绘从原点开始一边的长度为100的正方形
foriinrange(4) :
正向移动100个距离Turtle.Forward(200 )
#向右偏移90度的Turtle.right(90 ) )。
#turtle.end_fill(turtle.penup ) turtle.goto (100,- 100 ) turtle.write (cross in编程教室) )中的填充结束
最后的结果是这样的
同时,我们还可以设置画笔打粗细、画笔的速度等属性。
1.2 Window control (视窗控制)
这里有两个常用的函数
turtle.bgcolor(*args)
设置背景颜色
turtle.bgpic(picname=None)
背景图片填充
设置代码如下
turtle.bgcolor( 'red')turtle.bgpic( r'yourpic.png') 2、海龟作图实例
我们用几个简单的例子讲解海龟作图的用法。
2.1 用正方形画圆 importturtle
fori inrange( 360): turtle.setheading(i)
fori inrange( 4): turtle.forward( 100) turtle.left( 90)
360 个正方形每隔 1 度排列,短短几行代码可以生成一个漂亮规则的图形。
2.2 红色的五角星
使用填充功能画出一个大红星
importturtleturtle.color( 'red', 'red')turtle.begin_fill()
fori inrange( 5): turtle.forward( 100) turtle.right( 144)turtle.end_fill()
结果如图:
2.3 更多案例
讲的再多也不如自己动手做一做,我们在网上挑选了几张使用 turtle 做的有意思的图片,大家可以欣赏并试着做一下。
3、后记
更丰富详细的功能及知识可以参考:
官方文档:https://docs.python.org/3/library/turtle.html
海龟作图—用 Python 绘图:http://www.epubit.com.cn/book/onlinechapter/37788
Simple drawing with turtle:https://opentechschool.github.io/python-beginners/en/simple_drawing.html
Hello, little turtles!:http://openbookproject.net/thinkcs/python/english3e/hello_little_turtles.html
Turtle examples:https://fzddm0x2a.com/blog/turtle-examples
Easy Designs - Turtle Graphics Python:http://www.instructables.com/id/Easy-Designs-Turtle-Graphics-Python/
近期文章推荐阅读:
欢迎加入
Crossin的编程教室
crossincode.com
新手入门QQ群:553518572
微信请加 crossin11 留言入群(新手/进阶)
请把我们分享给身边爱学习的小伙伴 :)返回搜狐,查看更多
责任编辑:
版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。