华域联盟 Python python使用Turtle库画画写名字

python使用Turtle库画画写名字

文章目录[隐藏]

目录

    Turtle库是Python语言中一个很流行的绘制图像的函数库,利用这个库会生成一个画布,在画布中有我们看不见的一个默认以中心点为原点的坐标轴,在原点会有一个初始默认朝东的画笔(箭头),一般我们把这个箭头叫做海龟,箭头的朝向就是海龟头的朝向。

    这个动图展示的就是我利用Turtle库画的一个名字画,下面附上代码:

    import time
    import turtle
    from random import random
    
    t = turtle
    t.speed(3)
    t.hideturtle()
    t.color('black')
    t.pensize(10)
    
    # 一
    t.penup()
    t.goto(-110, 60)
    t.pendown()
    t.forward(100)
    
    # |
    t.penup()
    t.goto(-60, 125)
    t.right(90)
    t.pendown()
    t.forward(266)
    
    # 丿
    t.penup()
    t.goto(-60, 45)
    t.right(45)
    t.pendown()
    t.forward(90)
    
    # 丶
    t.penup()
    t.goto(-60, 38)
    t.left(90)
    t.pendown()
    t.forward(40)
    
    # 小一
    t.penup()
    t.goto(20, 60)
    t.left(45)
    t.pendown()
    t.forward(90)
    
    # |
    t.penup()
    t.goto(65, 123)
    t.right(90)
    t.pendown()
    t.forward(123)
    
    # 大一
    t.penup()
    t.goto(0, -5)
    t.left(90)
    t.pendown()
    t.forward(130)
    
    # 小一
    t.penup()
    t.goto(20, -65)
    t.pendown()
    t.forward(90)
    
    # |
    t.penup()
    t.goto(65, -14)
    t.right(90)
    t.pendown()
    t.forward(120)
    
    # 大一
    t.penup()
    t.goto(0, -135)
    t.left(90)
    t.pendown()
    t.forward(130)
    
    # 画圆
    t.color('red')
    t.pensize(3)
    t.penup()
    t.goto(15, -200)
    t.pendown()
    t.circle(180)
    
    t.exitonclick()
    
    

    函数

    解释

    hideturtle

    隐藏画笔

    speed

    画笔速度,1-10,1最慢,10最快

    color

    后可传参(2个参数),不传为默认设置,第一个参数为画笔颜色,第二个参数为填充颜色

    pensize

    画笔粗细,越大越粗

    penup

    画笔拿起,之后画笔运动时不画下轨迹

    pendown

    默认是这个状态,画笔落下,之后画笔运动会画出轨迹

    forward(num)

    画笔运动,num为运动像素数,即长度

    right (a)

    画笔方向向右旋转a角度,顺时针旋转

    left(a)

    画笔方向向左旋转a角度,逆时针旋转

    goto(x,y)

    将画笔移动到坐标轴x,y位置,在pendowm下会画下轨迹

    goto(x,y)

    将画笔移动到坐标轴x,y位置,在pendowm下会画下轨迹

    circle(a)

    以当前点为圆心,画一个半径为a的圆

    exitonclick

    点击关闭,画笔运行完不再自动退出画布

    下面是在论坛看到的一个大佬的画樱花树的代码,生成的结果比上面的复杂很多,但在弄懂我上面代码的情况下很容易看懂,作为进阶给大家展示下:

    import turtle as T
    import random
    import time
    
    
    # 画樱花的躯干(60,t)
    def Tree(branch, t):
        time.sleep(0.0005)
        if branch > 3:
            if 8 <= branch <= 12:
                if random.randint(0, 2) == 0:
                    t.color('snow')  # 白
                else:
                    t.color('lightcoral')  # 淡珊瑚色
                t.pensize(branch / 3)
            elif branch < 8:
                if random.randint(0, 1) == 0:
                    t.color('snow')
                else:
                    t.color('lightcoral')  # 淡珊瑚色
                t.pensize(branch / 2)
            else:
                t.color('sienna')  # 赭(zhě)色
                t.pensize(branch / 10)  # 6
            t.forward(branch)
            a = 1.5 * random.random()
            t.right(20 * a)
            b = 1.5 * random.random()
            Tree(branch - 10 * b, t)
            t.left(40 * a)
            Tree(branch - 10 * b, t)
            t.right(20 * a)
            t.up()
            t.backward(branch)
            t.down()
    
    
    # 掉落的花瓣
    def Petal(m, t):
        for i in range(m):
            a = 200 - 400 * random.random()
            b = 10 - 20 * random.random()
            t.up()
            t.forward(b)
            t.left(90)
            t.forward(a)
            t.down()
            t.color('lightcoral')  # 淡珊瑚色
            t.circle(1)
            t.up()
            t.backward(a)
            t.right(90)
            t.backward(b)
    
    
    # 绘图区域
    t = T.Turtle()
    # 画布大小
    w = T.Screen()
    t.hideturtle()  # 隐藏画笔
    t.getscreen().tracer(5, 0)
    w.screensize(bg='wheat')  # wheat小麦
    t.left(90)
    t.up()
    t.backward(150)
    t.down()
    t.color('sienna')
    
    # 画樱花的躯干
    Tree(60, t)
    # 掉落的花瓣
    Petal(200, t)
    w.exitonclick()
    
    

    这个代码除了用到我上面介绍的几个函数,还用到了screenbgcolor,分别是设置画布和背景色,backward就是反向的forward

    到此这篇关于python利用Turtle库画画写名字 的文章就介绍到这了,更多相关pythonTurtle画画写名字 内容请搜索华域联盟以前的文章或继续浏览下面的相关文章希望大家以后多多支持华域联盟!

    您可能感兴趣的文章:

    本文由 华域联盟 原创撰写:华域联盟 » python使用Turtle库画画写名字

    转载请保留出处和原文链接:https://www.cnhackhy.com/36662.htm

    本文来自网络,不代表华域联盟立场,转载请注明出处。

    作者: sterben

    发表回复

    联系我们

    联系我们

    2551209778

    在线咨询: QQ交谈

    邮箱: [email protected]

    工作时间:周一至周五,9:00-17:30,节假日休息

    关注微信
    微信扫一扫关注我们

    微信扫一扫关注我们

    关注微博
    返回顶部