• 技术文章 >Python技术 >Python基础教程

    python如何绘制多拉A梦?

    小妮浅浅小妮浅浅2021-04-09 14:50:26原创3185

    1、绘图说明

    Python程序设计时使用的大部分库,turtle是在python中绘制图像的函数库,可以绘制这次的绘画,这个库也可以说是马良的神笔。

    2、实例

    from turtle import *
     
     
    # 无轨迹跳跃
    def my_goto(x, y):
        penup()
        goto(x, y)
        pendown()
     
    # 眼睛
    def eyes():
        fillcolor("#ffffff")
        begin_fill()
     
        tracer(False)
        a = 2.5
        for i in range(120):
            if 0 <= i < 30 or 60 <= i < 90:
                a -= 0.05
                lt(3)
                fd(a)
            else:
                a += 0.05
                lt(3)
                fd(a)
        tracer(True)
        end_fill()
     
     
    # 胡须
    def beard():
        my_goto(-32, 135)
        seth(165)
        fd(60)
     
        my_goto(-32, 125)
        seth(180)
        fd(60)
     
        my_goto(-32, 115)
        seth(193)
        fd(60)
     
        my_goto(37, 135)
        seth(15)
        fd(60)
     
        my_goto(37, 125)
        seth(0)
        fd(60)
     
        my_goto(37, 115)
        seth(-13)
        fd(60)
     
    # 嘴巴
    def mouth():
        my_goto(5, 148)
        seth(270)
        fd(100)
        seth(0)
        circle(120, 50)
        seth(230)
        circle(-120, 100)
     
    # 围巾
    def scarf():
        fillcolor('#e70010')
        begin_fill()
        seth(0)
        fd(200)
        circle(-5, 90)
        fd(10)
        circle(-5, 90)
        fd(207)
        circle(-5, 90)
        fd(10)
        circle(-5, 90)
        end_fill()
     
    # 鼻子
    def nose():
        my_goto(-10, 158)
        seth(315)
        fillcolor('#e70010')
        begin_fill()
        circle(20)
        end_fill()
     
    # 黑眼睛
    def black_eyes():
        seth(0)
        my_goto(-20, 195)
        fillcolor('#000000')
        begin_fill()
        circle(13)
        end_fill()
     
        pensize(6)
        my_goto(20, 205)
        seth(75)
        circle(-10, 150)
        pensize(3)
     
        my_goto(-17, 200)
        seth(0)
        fillcolor('#ffffff')
        begin_fill()
        circle(5)
        end_fill()
        my_goto(0, 0)
     
     
     
    # 脸
    def face():
     
        fd(183)
        lt(45)
        fillcolor('#ffffff')
        begin_fill()
        circle(120, 100)
        seth(180)
        # print(pos())
        fd(121)
        pendown()
        seth(215)
        circle(120, 100)
        end_fill()
        my_goto(63.56,218.24)
        seth(90)
        eyes()
        seth(180)
        penup()
        fd(60)
        pendown()
        seth(90)
        eyes()
        penup()
        seth(180)
        fd(64)
     
    # 头型
    def head():
        penup()
        circle(150, 40)
        pendown()
        fillcolor('#00a0de')
        begin_fill()
        circle(150, 280)
        end_fill()
     
    # 画哆啦A梦
    def Doraemon():
        # 头部
        head()
     
        # 围脖
        scarf()
     
        # 脸
        face()
     
        # 红鼻子
        nose()
     
        # 嘴巴
        mouth()
     
        # 胡须
        beard()
     
        # 身体
        my_goto(0, 0)
        seth(0)
        penup()
        circle(150, 50)
        pendown()
        seth(30)
        fd(40)
        seth(70)
        circle(-30, 270)
     
     
        fillcolor('#00a0de')
        begin_fill()
     
        seth(230)
        fd(80)
        seth(90)
        circle(1000, 1)
        seth(-89)
        circle(-1000, 10)
     
        # print(pos())
     
        seth(180)
        fd(70)
        seth(90)
        circle(30, 180)
        seth(180)
        fd(70)
     
        # print(pos())
        seth(100)
        circle(-1000, 9)
     
        seth(-86)
        circle(1000, 2)
        seth(230)
        fd(40)
     
        # print(pos())
     
     
        circle(-30, 230)
        seth(45)
        fd(81)
        seth(0)
        fd(203)
        circle(5, 90)
        fd(10)
        circle(5, 90)
        fd(7)
        seth(40)
        circle(150, 10)
        seth(30)
        fd(40)
        end_fill()
     
        # 左手
        seth(70)
        fillcolor('#ffffff')
        begin_fill()
        circle(-30)
        end_fill()
     
        # 脚
        my_goto(103.74, -182.59)
        seth(0)
        fillcolor('#ffffff')
        begin_fill()
        fd(15)
        circle(-15, 180)
        fd(90)
        circle(-15, 180)
        fd(10)
        end_fill()
     
        my_goto(-96.26, -182.59)
        seth(180)
        fillcolor('#ffffff')
        begin_fill()
        fd(15)
        circle(15, 180)
        fd(90)
        circle(15, 180)
        fd(10)
        end_fill()
     
        # 右手
        my_goto(-133.97, -91.81)
        seth(50)
        fillcolor('#ffffff')
        begin_fill()
        circle(30)
        end_fill()
     
        # 口袋
        my_goto(-103.42, 15.09)
        seth(0)
        fd(38)
        seth(230)
        begin_fill()
        circle(90, 260)
        end_fill()
     
        my_goto(5, -40)
        seth(0)
        fd(70)
        seth(-90)
        circle(-70, 180)
        seth(0)
        fd(70)
     
        #铃铛
        my_goto(-103.42, 15.09)
        fd(90)
        seth(70)
        fillcolor('#ffd200')
        # print(pos())
        begin_fill()
        circle(-20)
        end_fill()
        seth(170)
        fillcolor('#ffd200')
        begin_fill()
        circle(-2, 180)
        seth(10)
        circle(-100, 22)
        circle(-2, 180)
        seth(180-10)
        circle(100, 22)
        end_fill()
        goto(-13.42, 15.09)
        seth(250)
        circle(20, 110)
        seth(90)
        fd(15)
        dot(10)
        my_goto(0, -150)
     
        # 画眼睛
        black_eyes()
     
    if __name__ == '__main__':
        screensize(800,600, "#f0f0f0")
        pensize(3)  # 画笔宽度
        speed(9)    # 画笔速度
        Doraemon()
        my_goto(100, -300)
        write('by Violet', font=("Bradley Hand ITC", 30, "bold"))
        mainloop()

    以上就是python绘制多拉A梦的方法,希望对大家有所帮助。更多Python学习指路:python基础教程

    专题推荐:python
    品易云
    上一篇:python中怎样画小猪佩奇? 下一篇:如何使用python画皮卡丘?

    相关文章推荐

    • python如何用函数删除空白• Python浮点数的使用注意• python删除元素的使用条件• python列表排序的两种方式• python for…in循环的使用• python处理数字列表的函数• python切片如何进行索引• python中用切片复制列表• python字典中键值对的操作• python使用items()遍历键值对• python函数如何指定默认值• python函数中返回值的作用• python在函数中传递实参• python中怎样画小猪佩奇?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网