温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么用Python turtle绘制中国结

发布时间:2022-02-11 13:42:27 来源:亿速云 阅读:526 作者:iii 栏目:开发技术

这篇文章主要介绍“怎么用Python turtle绘制中国结”,在日常操作中,相信很多人在怎么用Python turtle绘制中国结问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Python turtle绘制中国结”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

    一、中国结 01  平安喜乐

    1)效果图

    怎么用Python turtle绘制中国结

    2)附代码

    import turtle
    turtle.screensize(600,800)
    turtle.pensize(10)
    turtle.pencolor("red")
    turtle.seth(-45)
    turtle.fd(102)
    turtle.circle(-6,180)
    turtle.fd(102)
    turtle.circle(6,180)
    turtle.fd(102)
    turtle.circle(-6,180)
    turtle.fd(102)
    turtle.circle(6,180)
    turtle.fd(102)
    turtle.circle(-6,180)
    turtle.fd(102)
    turtle.circle(6,180)
    turtle.fd(92)
    turtle.circle(-6,270)
    turtle.fd(92)
    turtle.circle(6,180)
    turtle.fd(102)
    turtle.circle(-6,180)
    turtle.fd(102)
    turtle.circle(6,180)
    turtle.fd(102)
    turtle.circle(-6,180)
    turtle.fd(102)
    turtle.circle(6,180)
    turtle.fd(102)
    turtle.circle(-6,180)
    turtle.fd(88)
    turtle.fd(20)
    turtle.seth(135)
    turtle.fd(20)
    turtle.seth(225)
    turtle.fd(20)
    turtle.seth(315)
    turtle.fd(20)
    turtle.seth(45)
    turtle.fd(20)
    turtle.seth(135)
    turtle.begin_fill()
    turtle.fillcolor("red")
    turtle.fd(50)
    turtle.seth(45)
    turtle.fd(30)
    turtle.seth(-45)
    turtle.fd(30)
    turtle.seth(225)
    turtle.fd(30)
    turtle.end_fill()
    turtle.seth(90)
    turtle.fd(40)
    turtle.pensize(20)
    turtle.fd(10)
    turtle.pensize(5)
    turtle.seth(105)
    turtle.fd(30)
    turtle.circle(-8,240)
    turtle.circle(20,20)
    turtle.fd(5)
    turtle.circle(20,60)
    turtle.fd(25)
    turtle.penup()
    turtle.setx(0)
    turtle.sety(0)
    turtle.goto(2,-127)
    turtle.pendown()
    turtle.pensize(5)
    turtle.begin_fill()
    turtle.fillcolor("red")
    turtle.seth(0)
    turtle.fd(15)
    turtle.seth(-90)
    turtle.fd(10)
    turtle.seth(180)
    turtle.fd(15)
    turtle.seth(90)
    turtle.fd(10)
    turtle.seth(0)
    turtle.fd(15)
    turtle.end_fill()
    turtle.pensize(2)
    for x in range(6):
         turtle.seth(-90)
         turtle.fd(50)
         turtle.penup()
         turtle.seth(90)
         turtle.fd(50)
         turtle.seth(180)
         turtle.fd(3)
         turtle.pendown()

    二、中国结 02 心想事成

    1)效果图

    怎么用Python turtle绘制中国结

    2)附代码

    import turtle as t
    def goto(x,y):
        t.penup()
        t.goto(x,y)
        t.pendown()
        
    def init():
        t.setup(800,800)
        t.pensize(10)
        t.pencolor("red")
        t.speed(14)
        
    def jiexin():
        m,n=0,200
        for i in range(11):
            goto(m,n)
            t.seth(-45)
            t.fd(200)
            m-=20/pow(2,0.5)
            n-=20/pow(2,0.5)
            
        m,n=0,200
        for j in range(11):
            goto(m,n)
            t.seth(-135)
            t.fd(200)
            m+=20/pow(2,0.5)
            n-=20/pow(2,0.5)
            
    def jiexiaoban():
        m=-20/pow(2,0.5)
        n=200-20/pow(2,0.5)
        for k in range(4):
            goto(m,n)
            t.seth(135)
            t.fd(20)
            t.circle(10,180)
            t.fd(20)
            m-=40/pow(2,0.5)
            n-=40/pow(2,0.5)
            
        m=20/pow(2,0.5)
        n=200-20/pow(2,0.5)
        for k in range(4):
            goto(m,n)
            t.seth(45)
            t.fd(20)
            t.circle(-10,180)
            t.fd(20)
            m+=40/pow(2,0.5)
            n-=40/pow(2,0.5)
     
        m=20/pow(2,0.5)
        n=200-200*pow(2,0.5)+20/pow(2,0.5)
        for k in range(4):
            goto(m,n)
            t.seth(-45)
            t.fd(20)
            t.circle(10,180)
            t.fd(20)
            m+=40/pow(2,0.5)
            n+=40/pow(2,0.5)
            
        m=-20/pow(2,0.5)
        n=200-200*pow(2,0.5)+20/pow(2,0.5)
        for k in range(4):
            goto(m,n)
            t.seth(-135)
            t.fd(20)
            t.circle(-10,180)
            t.fd(20)
            m-=40/pow(2,0.5)
            n+=40/pow(2,0.5)
            
    def waiyuan():
        goto(90*pow(2,0.5),200-110*pow(2,0.5))
        t.seth(-45)
        t.circle(20,270)
        
        goto(-90*pow(2,0.5),200-110*pow(2,0.5))
        t.seth(-135)
        t.circle(-20,270)
        
        goto(80*pow(2,0.5),200-120*pow(2,0.5))
        t.seth(-45)
        t.circle(40,270)
        
        goto(-80*pow(2,0.5),200-120*pow(2,0.5))
        t.seth(-135)
        t.circle(-40,270)
     
    def shengzi():
        goto(0,200)
        t.pensize(20)
        t.seth(90)
        t.fd(60)
        goto(0,320)
        t.pensize(12)
        t.seth(180)
        t.circle(30,360)
        
        goto(0,200-200*pow(2,0.5))
        t.pensize(40)
        t.seth(-90)
        t.fd(20)
        t.pensize(2)
        s=-20
        for i in range(11):
            goto(s,200-200*pow(2,0.5))
            t.seth(-90)
            t.fd(200)
            s+=4
            
    def hanzi():
        goto(-150,325)
        t.write("幸福中国结",font=("Arial",40,"normal"))
        
    def main():
        init()
        jiexin()
        jiexiaoban()
        waiyuan()
        shengzi()
        hanzi()
        t.hideturtle()

    三、中国结 03 烟火年年

    辞慕尔尔,烟火年年,前程似锦,顺遂康安。

    怎么用Python turtle绘制中国结

    到此,关于“怎么用Python turtle绘制中国结”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI