如何使用python绘制一个哆啦A梦

大家好,我是于翱睿,这一期给大家讲一下如何使用python绘制一个哆啦A梦。

如果有更好的创意,请写信

rom 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()


# 身体
def body():
    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)
    seth(180)
    fd(70)
    seth(90)
    circle(30, 180)
    seth(180)
    fd(70)
    seth(100)
    circle(-1000, 9)
    seth(-86)
    circle(1000, 2)
    seth(230)
    fd(40)
    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()


# 左手
def left_hand():
    seth(70)
    fillcolor('#ffffff')
    begin_fill()
    circle(-30)
    end_fill()


# 脚
def foot():
    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()


# 右手
def right_hand():
    my_goto(-133.97, -91.81)
    seth(50)
    fillcolor('#ffffff')
    begin_fill()
    circle(30)
    end_fill()


# 口袋
def pocket():
    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)


# 铃铛
def bell():
    my_goto(-103.42, 15.09)
    fd(90)
    seth(70)
    fillcolor('#ffd200')
    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)


# 画哆啦A梦
def Doraemon():
    head()  # 头部
    scarf()  # 围脖
    face()  # 脸
    nose()  # 红鼻子
    mouth()  # 嘴巴
    beard()  # 胡须
    body()  # 身体
    left_hand()  # 左手
    foot()  # 脚
    right_hand()  # 右手
    pocket()  # 口袋
    bell()  # 铃铛
    black_eyes()  # 画眼睛
    hideturtle()#隐藏画笔

if __name__ == '__main__':
    screensize(1500, 1500, "#ffffff")
#    setup(0.9, 0.9)
    pensize(3)  # 画笔宽度
    speed(9)  # 画笔速度
    Doraemon()
    my_goto(100, -300)
    # write('六一儿童节快乐', font=('Arial', 30, 'bold'))
    mainloop()
    #ybc_draw.write('六一儿童节快乐',10,'black')

执行上方代码,可以画出一个如图的哆啦A梦

好了,以上就是本期的内容,欢迎写信!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作为AI语言模型,我无法编译出一个真正的哆啦A梦哆啦A梦一个动画角色,它的图像和声音都是由动画制作公司制作的。但是,如果你想要使用Python语言绘制一个哆啦A梦的图像,你可以使用Pythonturtle库来实现。以下是一个简单的示例代码: ```python import turtle # 设置画布大小和背景颜色 turtle.setup(width=800, height=600) turtle.bgcolor("#00A2E8") # 绘制哆啦A梦的身体 turtle.penup() turtle.goto(0, 0) turtle.pendown() turtle.pensize(10) turtle.pencolor("#FDB813") turtle.fillcolor("#FDB813") turtle.begin_fill() turtle.circle(150) turtle.end_fill() # 绘制哆啦A梦的脸部 turtle.penup() turtle.goto(0, 150) turtle.pendown() turtle.pensize(10) turtle.pencolor("#FFFFFF") turtle.fillcolor("#FFFFFF") turtle.begin_fill() turtle.circle(100) turtle.end_fill() # 绘制哆啦A梦的眼睛 turtle.penup() turtle.goto(-50, 200) turtle.pendown() turtle.pensize(10) turtle.pencolor("#000000") turtle.fillcolor("#000000") turtle.begin_fill() turtle.circle(30) turtle.end_fill() turtle.penup() turtle.goto(50, 200) turtle.pendown() turtle.pensize(10) turtle.pencolor("#000000") turtle.fillcolor("#000000") turtle.begin_fill() turtle.circle(30) turtle.end_fill() # 绘制哆啦A梦的鼻子和嘴巴 turtle.penup() turtle.goto(0, 150) turtle.pendown() turtle.pensize(10) turtle.pencolor("#FF0000") turtle.fillcolor("#FF0000") turtle.begin_fill() turtle.circle(20) turtle.end_fill() turtle.penup() turtle.goto(0, 100) turtle.pendown() turtle.pensize(10) turtle.pencolor("#000000") turtle.right(90) turtle.circle(50, 180) turtle.penup() turtle.goto(0, 100) turtle.pendown() turtle.pensize(10) turtle.pencolor("#000000") turtle.left(180) turtle.circle(-50, 180) # 绘制哆啦A梦的胡须 turtle.penup() turtle.goto(-80, 120) turtle.pendown() turtle.pensize(5) turtle.pencolor("#000000") turtle.right(20) turtle.forward(100) turtle.penup() turtle.goto(-80, 100) turtle.pendown() turtle.pensize(5) turtle.pencolor("#000000") turtle.right(20) turtle.forward(100) turtle.penup() turtle.goto(-80, 80) turtle.pendown() turtle.pensize(5) turtle.pencolor("#000000") turtle.right(20) turtle.forward(100) turtle.penup() turtle.goto(80, 120) turtle.pendown() turtle.pensize(5) turtle.pencolor("#000000") turtle.left(20) turtle.forward(100) turtle.penup() turtle.goto(80, 100) turtle.pendown() turtle.pensize(5) turtle.pencolor("#000000") turtle.left(20) turtle.forward(100) turtle.penup() turtle.goto(80, 80) turtle.pendown() turtle.pensize(5) turtle.pencolor("#000000") turtle.left(20) turtle.forward(100) # 隐藏海龟 turtle.hideturtle() # 等待用户关闭窗口 turtle.done() ``` 运行以上代码,你就可以得到一个哆啦A梦的图像。当然,这只是一个简单的示例,如果你想要绘制一个更逼真的哆啦A梦,你需要更多的绘图技巧和耐心。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值