'); } '); } Python绘图turtle库命令合集 | Journey to paradise

Python绘图turtle库命令合集


Python绘图turtle库命令合集 turtle库是python中用来绘制图像的函数库,turtle:乌龟,小乌龟从坐标原点(默认值)开始,服从我们输入的指令在画布(有一个以画布中心为坐标原点的坐标轴)中移动,形成我们绘制的图形

turtle绘图的基础认识

1.画布(canvas)

画布是我们绘图所在的区域,我们可以改变他的初始位置和大小

1.设置画布的大小

turtle.screensize(canvwidth= , canvheight= , bg='' )
参数分别为画布的宽(默认值400px), 高(默认值300px), 背景颜色(颜色的英文单词 eg:'red')。

2.设置画布的位置

turtle.setup(width=0.5, height=0.75, startx= , starty= )
参数分别为画布的宽,高(输入值为整数时表示具体像素,输入值为小数时表示画布窗口占电脑屏幕的比例), (startx,starty)表示窗口左上顶点的坐标(默认值时,画布窗口在屏幕中心)

2.画笔

画笔呢就是小乌龟,它一开始默认是在坐标原点的,朝向x轴正方向
画笔的属性设置

  • turtle.pensize():设置画笔的宽度也就是画线的粗细,单位为px
  • turtle.pencolor():设置画笔的颜色,传入参数可以是代表颜色的字符串也可以是rgb值,如果没有参数传入则返回当前画笔颜色
  • turtle.speed():设置画笔移动的速度,范围为[0,10]整数,数字越大移动越快

绘图命令

turtle绘图命令分为三种:运动命令,画笔控制命令和全局控制命令。

1.画笔运动命令
setheading(angle)设置当前朝向为angle度
命令 说明
turtle.forward(distance) 向当前画笔方向移动distance像素长度
turtle.backward(distance) 向当前画笔相反方向移动distance像素长度
turtle.right(degree) 顺时针移动degree°
turtle.left(degree) 逆时针移动degree°
turtle.pendown() 落笔,绘制图形
turtle.penup() 提笔,不绘制图型,一般用于转到另一个地方绘制
turtle.goto(x,y) 将画笔移动到位置(x,y)
turtle.circle(radius, extent=None, steps=None)
  • radius(半径):半径为正(负),表示圆心在画笔的左边(右边)画圆
  • extent(弧度) (optional)
  • steps (optional) :做半径为radius的圆的内切正多边形,多边形边数为steps
setx() 将当前x轴移动到指定位置
sety() 将当前y轴移动到指定位置
home() 设置当前画笔位置为原点,朝向x轴正方向
dot(r) 绘制一个指定直径和颜色的圆点

2.画笔控制命令
命令 说明
turtle.fillcolor(colorstring) 填充图形的颜色
turtle.color(color1, color2) 同时设置pencolor=color1, fillcolor=color2
turtle.filling() 返回当前是否在填充状态
turtle.begin_fill() 开始填充
turtle.end_fill() 结束填充
turtle.hideturtle() 隐藏画笔
turtle.showturtle() 显示画笔
3.全局控制命令
turtle.clear() 清空turtle窗口,turtle的位置和状态不变
turtle.reset() 清空窗口,重置turtle状态为起始状态
turtle.undo() 撤销上一条命令
turtle.isvisible() 返回当前turtle是否可见
stamp() 复制当前图形
turtle.write(s [,font=("font-name",font_size,"font_type")]) turtle写文本,s为文本内容,font是字体的参数,分别为字体名称,大小和类型;font为可选项,font参数也是可选项
4.其他命令
命令 说明
turtle.mainloop()或turtle.done() 启动事件循环 -调用Tkinter的mainloop函数。 必须是乌龟图形程序中的最后一个语句。
turtle.mode(mode=None) 设置乌龟模式(“standard”,“logo”或“world”)并执行重置。如果没有给出模式,则返回当前模式。
模式 初始龟标题 正角度
standard 向右 逆时针
logo 向上 顺时针
turtle.delay(delay= ) 设置以毫秒为单位的绘图延迟
turtle.begin_poly() 开始记录多边形的顶点。当前的乌龟位置是多边形的第一个顶点
turtle.end_poly() 停止记录多边形的顶点。当前的乌龟位置是多边形的最后一个顶点,与第一个顶点相连。
turtle.get_poly() 返回最后记录的多边形
eg:
turtle画国旗
    #画国旗红色方形背景
    import turtle
    turtle.goto(-120,120)
    turtle.color("red","red")

    turtle.begin_fill()
    turtle.forward(480)
    turtle.right(90)
    turtle.forward(320)
    turtle.right(90)
    turtle.forward(480)
    turtle.right(90)
    turtle.forward(320)
    turtle.end_fill()
    #画大五角星
    turtle.right(90)
    turtle.goto(-72,24)
    turtle.color("yellow","yellow")
    turtle.begin_fill()
    for _ in range(5):
        turtle.forward(84)
        turtle.right(144)
    turtle.end_fill()
    #画五个小五角星
    turtle.penup()
    turtle.goto(20,90)
    turtle.pendown()
    turtle.begin_fill()
    for _ in range(5):
        turtle.forward(35)
        turtle.right(144)
    turtle.end_fill()

    turtle.penup()
    turtle.goto(70,56)
    turtle.pendown()
    turtle.begin_fill()
    for _ in range(5):
        turtle.forward(35)
        turtle.right(144)
    turtle.end_fill()

    turtle.penup()
    turtle.goto(70,-8)
    turtle.pendown()
    turtle.begin_fill()
    for _ in range(5):
        turtle.forward(35)
        turtle.right(144)
    turtle.end_fill()

    turtle.penup()
    turtle.goto(20,-40)
    turtle.pendown()
    turtle.begin_fill()
    for _ in range(5):
        turtle.forward(35)
        turtle.right(144)
    turtle.end_fill()  

运行结果:
国旗


文章作者: 涂爽
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 涂爽 !
评论
 上一篇
JAVA加载与执行 JAVA加载与执行
JAVA加载与执行 java的语言特性 简单性: 相对而言,例如java不再支持多继承,c++是支持多继承的,c++中有指针,java中屏
2020-05-15
本篇 
Python绘图turtle库命令合集 Python绘图turtle库命令合集
Python绘图turtle库命令合集 turtle库是python中用来绘制图像的函数库,turtle:乌龟,小乌龟从坐标原点(默认值)开始,服从我们输入的指令在画布(有一个以画布中心为坐
2020-03-13
  目录
Copyright © 2020 涂爽
  站点总字数: 145.4k 字 本站总访问量 人次, 访客数 人.
载入运行时间... 鄂ICP备20005056