• python:turtle绘图模块


    turtle模块

    海龟绘图(Turtle Graphics),python内置模块,非常简单好玩的一个库。

    一、导入库

    import turtle
    
    from turtle import *

    二、画布的设置

    '''设置画笔大小'''
    turtle.screensize()       #返回默认大小(400, 300)
    turtle.screensize(800, 600, "white")
    
    '''设置背景/画布颜色'''
    turtle.bgcolor()

    三、画笔的设置

    画笔的状态描述:

    画布上,默认有一个坐标原点为画布中心的坐标轴,,坐标原点上有一只面朝x轴正方向小乌龟。

    这里我们描述小乌龟时使用了两个词语:坐标原点(位置),面朝x轴正方向(方向), turtle绘图中, 就是使用位置方向描述小乌龟(画笔)的状态。

    画笔属性的设置

    '''设置画笔的宽度'''
    turtle.pensize() 
    turtle.pensize(2)  #我喜欢用宽度2,舒服不解释 
    
    '''设置画笔颜色'''
    #设置画笔颜色,没有参数传入,返回当前画笔颜色,
    turtle.pencolor()
    #传入参数设置画笔颜色,可以是字符串如"green", "red"
    turtle.pencolor('yellow')
    #传入多钟颜色,用列表传入
    color = ['red','green','blue','orange']
    turtle.pencolor(color [%4])  
    
    '''设置画笔速度'''
    turtle.speed(5)

    四、绘图的命令

    操纵海龟绘图有着许多的命令,这些命令可以划分为3种:一种为运动命令,一种为画笔控制命令,还有一种是全局控制命令

    (1)画笔运动命令:

    #向当前画笔方向移动distance像素路程
    turtle.forward(distance)
    turtle.forward(10)
    
    #向当前画笔方向反向移动distance像素路程
    turtle.backward(sidtance)
    
    #顺时针移动degree度
    turtle.right(degree)
    
    #逆时针移动degree度
    turtle.left(degree)
    
    #将画笔移动到坐标x,y位置
    turtle.goto(x,y)
    
    #画圆,半径为正/负表圆心砸画笔的左/右边画
    turtle.circle()
    
    #画图马上出结果,传入值为True或没有这条就慢慢画
    turtle.tracer(False)   

    (2)画笔控制命令:

    #绘制图形的填充颜色
    turtle.fillcolor()
    
    #返回当前是否在填充的状态
    turtle.filling()
    
    #开始填充
    turtle.begin_fill()
    
    #填充完成
    turtle.end_fill()

    (3) 全局控制命令

    #清空turtle窗口
    turtle.clear()
    
    #绘制完成
    #我在pycharm或sublime里运行turtle的代码如果后面不加这个界面会闪退
    turtle.done()

    示例:无敌旋转棒棒锤螺旋菊花图

    import turtle
    
    turtle.screensize(400,300,"white")
    turtle.pensize(1)
    turtle.bgcolor("white")
    colors = ["red", "yellow",'green','blue']
    turtle.tracer(False)
    turtle.speed(5)
    
    for x in range(300):
        turtle.forward(2*x)
        turtle.color(colors[x % 4])
        turtle.left(91)
    turtle.done()
  • 相关阅读:
    async/await的一些用法
    软件须把握两个点: 错误可控, 复杂度可控
    C++内存管理原则
    *复赛前提醒
    一些好用的网站
    NOIP真题汇总
    信息学中的一些些数论
    [Luogu 1052] noip 05 过河
    浅谈概率期望动态规划
    [Luogu 1312] noip11 Mayan游戏
  • 原文地址:https://www.cnblogs.com/kumata/p/9373976.html
Copyright © 2020-2023  润新知