溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python如何使用Turtle庫畫畫寫名字

發(fā)布時間:2021-09-24 11:10:41 來源:億速云 閱讀:438 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了python如何使用Turtle庫畫畫寫名字,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

    Turtle庫是Python語言中一個很流行的繪制圖像的函數(shù)庫,利用這個庫會生成一個畫布,在畫布中有我們看不見的一個默認以中心點為原點的坐標軸,在原點會有一個初始默認朝東的畫筆(箭頭),一般我們把這個箭頭叫做海龜,箭頭的朝向就是海龜頭的朝向。

    python如何使用Turtle庫畫畫寫名字

    這個動圖展示的就是我利用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()

    函數(shù)

    解釋

    hideturtle

    隱藏畫筆

    speed

    畫筆速度,1-10,1最慢,10最快

    color

    后可傳參(2個參數(shù)),不傳為默認設置,第一個參數(shù)為畫筆顏色,第二個參數(shù)為填充顏色

    pensize

    畫筆粗細,越大越粗

    penup

    畫筆拿起,之后畫筆運動時不畫下軌跡

    pendown

    默認是這個狀態(tài),畫筆落下,之后畫筆運動會畫出軌跡

    forward(num)

    畫筆運動,num為運動像素數(shù),即長度

    right (a)

    畫筆方向向右旋轉(zhuǎn)a角度,順時針旋轉(zhuǎn)

    left(a)

    畫筆方向向左旋轉(zhuǎn)a角度,逆時針旋轉(zhuǎn)

    goto(x,y)

    將畫筆移動到坐標軸x,y位置,在pendowm下會畫下軌跡

    goto(x,y)

    將畫筆移動到坐標軸x,y位置,在pendowm下會畫下軌跡

    circle(a)

    以當前點為圓心,畫一個半徑為a的圓

    exitonclick

    點擊關(guān)閉,畫筆運行完不再自動退出畫布

    下面是在論壇看到的一個大佬的畫櫻花樹的代碼,生成的結(jié)果比上面的復雜很多,但在弄懂我上面代碼的情況下很容易看懂,作為進階給大家展示下:

    python如何使用Turtle庫畫畫寫名字

    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)
    
    
    # 繪圖區(qū)域
    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()

    這個代碼除了用到我上面介紹的幾個函數(shù),還用到了screenbgcolor,分別是設置畫布和背景色,backward就是反向的forward。

    感謝你能夠認真閱讀完這篇文章,希望小編分享的“python如何使用Turtle庫畫畫寫名字”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學習!

    向AI問一下細節(jié)

    免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI