Python精选

Python之Turtle

2019-01-18  本文已影响14人  Dalvik_

画笔控制相关

  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
上一篇 下一篇

猜你喜欢

热点阅读