Python中turtle绘图模块

1、turtle的介绍及基础知识

1.1、介绍turtle模块

海龟绘图(Turtle Graphics),python内置模块,是一个简单的绘图工具,使用海龟绘图可以编写重复执行简单动作的程序,从而画出精细复杂的形状。turtle中有画布(Canvas)和画笔两个工具元素。

2、画布

2.1、介绍画布

画布是turtle模块用于绘图的区域,在该画布上有一个坐标轴,坐标原点在画布的中心

坐标系:turtle模块中的x轴正方向指向右侧,y轴正方向指向上方。坐标原点位于画布的中心。

2.2、画布的使用

主要介绍两个函数:

1、设置画布的大小和背景颜色

turtle.screensize(canvwidth=None, canvheight=None, bg=None)

  • canvwidth:画布的宽度
  • canvheight:画布的高度
  • bg:背景颜色
  •  当宽度或者高度为整数时表示的是像素;小数时, 表示占据电脑屏幕的比例。当高度或者宽度超过窗口大小时,会出现滚动条。
  • 若不设置值,默认参数为(400,300,None)

2、设置画布的大小和位置

turtle.setup(width, height, startx=None, starty=None)
  • width,height:输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例
  • (startx,starty):这一坐标表示矩形窗口左上角顶点的位置。如果为空,则窗口位于屏幕中心

3、画笔

3.1、画笔状态

turtle模块使用位置方向描述画笔的状态。

默认情况下,画笔的坐标为坐标原点,方向指向x轴正方向,画笔处于放下状态。

3.2、画笔的属性

画笔属性:颜色、画线的宽度、移动速度等。

turtle.pensize():设置画笔的宽度,数字越大,画笔越粗;
turtle.pencolor():没有参数传入,返回当前画笔颜色,传入参数设置画笔颜色,可以是字符串如"green", "red",也可以是rgb3元组。注意:当是rgb时,r、g、b取值为0.0~1.0之间。

例如:

turtle.pencolor(1.0, 0.0, 0.0) 
#或者tup1=(1.0, 0.0, 0.0)
#turtle.pencolor(tup1) #当然列表等其他可迭代序列也可以。同样也可以使用turtle.pencolor((tup1))

turple.pencolor("red")
turtle.pencolor("#32c18f")

turtle.speed(speed):设置画笔移动速度,画笔绘制的速度范围[0,10]整数,数字越大越快,移动速度越快。

3.3、绘图命令

绘图命令通常分为3类:画笔移动命令、画笔控制命令、全局控制命令。

3.3.1、画笔移动命令

turtle.penup() #提起画笔

turtle.pendown() #放下画笔,开始默认状态

turtle.forward(distance)#向当前画笔方向移动distance像素长度

turtle.backward(distance) #向当前画笔相反方向移动distance像素长度

turtle.right(degree) #顺时针移动degree°

turtle.left(degree) #逆时针移动degree°

turtle.goto(x,y) #将画笔移动到坐标为x,y的位置

setx( ) #将当前x轴移动到指定位置

sety( ) #将当前y轴移动到指定位置

turtle.circle() #画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆

setheading(angle) #设置当前朝向为angle角度

home() #将画笔回到原点,并且将画笔指向右侧。注意:当笔放下时,会留下移动到痕迹。

dot(r,color) 
#绘制一个直径为size,颜色为 color 的圆点。
#若size未指定,则直径取pensize+4和2*pensize中的较大值。
#若未指定color则color为pencolor。

3.3.2、画笔控制命令

turtle.fillcolor(colorstring) #绘制图形的填充颜色

turtle.color(color1, color2) #同时设置pencolor=color1, fillcolor=color2

turtle.filling() #返回当前是否在填充状态

turtle.begin_fill() #准备开始填充图形

turtle.end_fill() #填充完成

turtle.hideturtle() #隐藏画笔的turtle形状

turtle.showturtle() #显示画笔的turtle形状

3.3.3、全局控制命令

turtle.done() #使绘图窗口不会自动消失

turtle.clear() #清空turtle窗口,但是turtle的位置和状态不会改变

turtle.reset() #清空窗口,重置turtle状态为起始状态

turtle.undo() #撤销上一个turtle动作

turtle.isvisible() #返回当前turtle是否可见

stamp() #复制当前图形

turtle.write(s [,font=("font-name",font_size,"font_type")]) 
#写文本,s为文本内容,font是字体的参数,分别为字体名称,大小和类型;

4、示例

示例1,绘制五角星:

import turtle

t=turtle.Turtle() #创建turtle对象(建议方式)这样就可以创建多个画笔了
t.pencolor("red") #设置画笔颜色为红色

t.penup() #先提画笔
t.goto(-100,100) #移动画笔位置,使最后的图像居中
t.pendown() #放画笔

t.speed(2) #控制画笔速度
t.fillcolor("red") #填充颜色为红色
t.begin_fill() #开始填充颜色
for i in range(0,5):
    t.forward(200)
    t.right(144)
t.end_fill() #停止填充

t.hideturtle() #隐藏画笔的turtle形状
turtle.done() #使turtle窗口不会自动消失

运行截图:

示例2,绘制一个勋章——一个圆里嵌套一个五角星:

import math
import turtle

turtle.colormode(255) #切换颜色模式,turtle.colormode(cmode=None)返回颜色模式或将其设为 1.0 或 255。有1.0模式和255模式
t1=turtle.Turtle()
t2=turtle.Turtle() #创建两个对象,turtle1用来画圆,turtle2用来画五角星

#画圆
r=100 #半径为100
t1.color((217,217,25),(217,217,25)) #前面一个参数是pencolor,后一个参数是fillcolor
t1.pensize(3)

t1.penup()
t1.goto(0,200)
t1.pendown()
t1.begin_fill()
t1.circle(r*(-1)-10) #其实原本半径为100,但是为了美观,就将半径放大了
t1.end_fill()
t1.hideturtle()
#画五角星
t2.color("red","red")

t2.penup()
t2.goto(r*(-1)*math.cos(math.pi/10),r*math.sin(math.sin(math.pi/10))+r)
t2.pendown()
t2.begin_fill()
for i in range(0,5):
    t2.forward(100*math.cos(math.pi/10)*2)
    t2.right(144)
t2.end_fill()
t2.hideturtle()

turtle.done()

效果如下图:

  • 82
    点赞
  • 541
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Pythonturtle模块是用来绘制图形的模块,可以让程序员通过代码控制画笔的移动和绘制,从而绘制出各种图形。主要的turtle函数包括:turtle.forward()(向前移动一定距离)、turtle.backward()(向后移动一定距离)、turtle.right()(向右旋转一定角度)、turtle.left()(向左旋转一定角度)、turtle.penup()(将画笔抬起)、turtle.pendown()(将画笔落下)、turtle.color()(设置画笔颜色)、turtle.pensize()(设置画笔大小)等。除了这些基本函数,还有许多高级函数可以完成更加复杂的绘图任务,如turtle.circle()、turtle.fill()等。 ### 回答2: Turtle模块Python操作图形化窗口的模块,可以在窗口上绘制图形。通常被用来展示脚本执行的过程和结果。 在使用Turtle模块之前,需要先引入该模块并创建一个画布窗口,例如: ``` import turtle # 创建画布窗口 turtle.setup(width=600, height=600) ``` 创建完成之后,我们可以使用Turtle模块提供的命令来创建图形。以下是Turtle模块的一些主要命令: 1. forward(distance): 沿着当前方向移动指定的距离。 2. backward(distance): 沿着当前相反方向移动指定的距离。 3. left(angle): 向左旋转指定的角度。 4. right(angle): 向右旋转指定的角度。 5. penup(): 提起笔,移动时不会留下痕迹。 6. pendown(): 落下笔,移动时会留下痕迹。 7. setpos(x, y): 将画笔移动到指定的坐标。 8. setheading(angle): 改变当前方向为指定角度。 9. circle(radius): 绘制一个圆形,半径为指定的大小。 10. dot(size): 绘制一个指定大小的点。 11. color(color): 设置笔的颜色。 12. bgcolor(color): 设置背景色。 13. pensize(size): 设置笔的大小。 14. speed(speed): 设置绘图速度。 下面简单示例一下一个使用Turtle模块绘制五角星的例子: ```import turtle turtle.screensize(600,600) #设置画布大小 turtle.pensize(5) #设置画笔宽度 turtle.penup() #提起画笔 turtle.goto(-200,0) #移动画笔到指定位置 turtle.pendown() #落下画笔 turtle.color("red") #设置画笔颜色 turtle.begin_fill() #开始填充 for i in range(5): #绘制五角星 turtle.forward(400) turtle.right(144) turtle.end_fill() #结束填充 turtle.done() #关闭画布 ``` 以上是Turtle模块的一些主要用法,也是使用该模块进行绘图的基本命令。它可以用于各种简单的图形绘制,如五角星、正方形、三角形、矩形等。但是,在实际使用,还需要结合其他模块来完成更为复杂的绘图任务。 ### 回答3: Python语言turtle模块可以帮助我们制作一些基于图形的应用,比如画图和简单的动画效果等。该模块Python标准库的一个模块,可通过首先引用turtle模块,然后创建一只海龟来使用,可以使用Python语言编写出一些图形程序。 首先,我们需要安装导入turtle模块。导入turtle库,我们可以在python输入:import turtle。执行此命令后,turtle库将被自动导入到我们的代码环境。 接下来创建一只海龟,执行该命令:tt = turtle.Turtle()。在创建海龟后,您可以在屏幕上绘制一些基本的图形,例如正方形,圆形,三角形等。 tt.forward(dis) 前进dis的距离 tt.backward(dis) 后退dis的距离 tt.right(deg)向右旋转deg的角度 tt.left(dfg)向左旋转deg的角度 tt.penup() 移动时 屏幕上不会留下轨迹 tt.pendown() 移动时屏幕上会留下轨迹 tt.color('green') 设置线条的颜色 tt.pensize(size) 设置线条的宽度 tt.fillcolor(colorstring) 设置填充颜色 tt.begin_fill() 开始填充图形 tt.end_fill() 结束填充图形 tt.reset() 重置turtle并清除绘图指令 tt.shape('turtle') 可以将turtle的形状变为飞机,箭头,等等不同的形状 使用turtle模块需要编写的代码比较简单,可以让初学者快速入门Python语言。您可以使用turtle模块制作自己的图形应用程序,例如绘制自己的家,飞机等,还可以设计简单的小游戏。 总之,turtle模块Python语言非常有趣的一个库,可以用来进行图形编程,还可以帮助初学者更好地理解编程的概念。使用turtle库会提高人们的视觉领域,也可以通过视觉工具缩短编程的学习时间,是一个非常有趣的模块

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值