Python之Turtle

画笔控制相关

  1. 向当前画笔方向移动distance像素长度
turtle.forward(distance)
  1. 向当前画笔相反方向移动distance像素长度
turtle.backward(distance)
  1. 顺时针移动degree°
turtle.right(degree)
  1. 逆时针移动degree°
turtle.left(degree)
  1. 移动时绘制图形,缺省时也为绘制
turtle.pendown()
  1. 将画笔移动到坐标为x,y的位置
turtle.goto(x,y)
  1. 提起笔移动,不绘制图形,用于另起一个地方绘制
turtle.penup()
  1. 画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆
turtle.circle()
  1. 将当前x轴移动到指定位置
turtle.setx( )
  1. 将当前y轴移动到指定位置
turtle.sety( )
  1. 设置当前朝向为angle角度
turtle.setheading(angle)
  1. 设置当前画笔位置为原点,朝向东。
turtle.home()
  1. 绘制一个指定直径和颜色的圆点
turtle.dot()

画笔控制相关

  1. 绘制图形的填充颜色
turtle.fillcolor(colorstring)
  1. 同时设置pencolor=color1, fillcolor=color2
turtle.color(color1, color2)
  1. 返回当前是否在填充状态
turtle.filling()
  1. 准备开始填充图形
turtle.begin_fill()

5.填充完成

turtle.end_fill()
  1. 隐藏画笔的turtle形状
turtle.hideturtle()
  1. 显示画笔的turtle形状
turtle.showturtle()

全局控制相关

  1. 清空turtle窗口,但是turtle的位置和状态不会改变
turtle.clear()
  1. 清空窗口,重置turtle状态为起始状态
turtle.reset()
  1. 撤销上一个turtle动作
turtle.undo()
  1. 返回当前turtle是否可见
turtle.isvisible()
  1. 复制当前图形
turtle.stamp()
  1. 写文本,s为文本内容,font是字体的参数,分别为字体名称,大小和类型;font为可选项,font参数也是可选项
turtle.write(s [,font=("font-name",font_size,"font_type")])

其他

  1. 启动事件循环 -调用Tkinter的mainloop函数。必须是乌龟图形程序中的最后一个语句。
turtle.mainloop()或turtle.done()
  1. 设置乌龟模式(“standard”,“logo”或“world”)并执行重置。如果没有给出模式,则返回当前模式。
turtle.mode(mode=None)
#standard         向右(东)      逆时针
#logo             向上(北)      顺时针
  1. 设置或返回以毫秒为单位的绘图延迟。
turtle.delay(delay=None)
  1. 开始记录多边形的顶点。当前的乌龟位置是多边形的第一个顶点。
turtle.begin_poly()
  1. 停止记录多边形的顶点。当前的乌龟位置是多边形的最后一个顶点。将与第一个顶点相连。
turtle.end_poly()
  1. 返回最后记录的多边形。
turtle.get_poly()

绘制五角星

def draw_pentagram():
    """绘制五角星"""
    turtle.pencolor("red")
    turtle.fillcolor('red')
    turtle.begin_fill()
    for i in range(5):
        turtle.forward(100)
        turtle.right(144)
    turtle.end_fill()

递归方式绘制分形树

import turtle


def draw_branch(length, pensize):
    if length > 10:

        if length < 20:
            turtle.pencolor('#228B22')
        elif length < 40:
            turtle.pencolor('#D2B48C')
        else:
            turtle.pencolor('#CD853F')
        turtle.pensize(pensize)
        turtle.forward(length)
        turtle.right(20)
        draw_branch(int(length * 3 / 4), int(pensize * 11 / 12))

        turtle.left(40)
        draw_branch(int(length * 3 / 4), int(pensize * 11 / 12))

        turtle.right(20)
        turtle.penup()
        turtle.backward(length)
        turtle.pendown()


if __name__ == '__main__':
    turtle.left(90)
    turtle.speed(0)
    turtle.penup()
    turtle.backward(200)
    turtle.pendown()
    draw_branch(100, 5)
    turtle.hideturtle()
    turtle.exitonclick()
分形树.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Turtle库 简介 什么是Turtle 首先,turtle库是一个点线面的简单图像库,能够完成一些比较简单的几何...
    zero_f460阅读 12,918评论 0 4
  • 今天是2018年的5月的最后一天,想用python发现下心情,却无意中在python自动的turtle库能做一些有...
    keitwo阅读 4,578评论 0 2
  • Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原...
    yeszao阅读 8,251评论 1 5
  • 文/阿韩 我不想要落在别人的身后,精神上亦或着是经济上。 因为我的停滞不前...
    阿韩儿阅读 3,818评论 0 0
  • 亲爱的 你好: 亲,在这安静柔美的夜晚,在这差一刻就到零晨的时刻,你或许已进入了甜甜的梦乡;或许,正梦见我们初相识...
    蓝凤蝶阅读 2,405评论 0 0

友情链接更多精彩内容