当前位置: 首页 > 编程笔记 >

啥是佩奇?使用Python自动绘画小猪佩奇的代码实例

赫连华皓
2023-03-14
本文向大家介绍啥是佩奇?使用Python自动绘画小猪佩奇的代码实例,包括了啥是佩奇?使用Python自动绘画小猪佩奇的代码实例的使用技巧和注意事项,需要的朋友参考一下

最近社会猪可是火遍了大江南北,不蹭下热度可对不起它。见过手画的佩奇,见过用代码画的吗?

没有?那就来看我大显身手。

用python的turtle库来画小猪佩奇。

有人问:turtle难不难?

答曰:不难,就那几个方法,跟入新手村的任务一样简单。难得是要有耐心跟一定的画画功底。

话不多说,直接上我苦苦搜寻(copy)而来的代码+注释版

温馨提示:您苦苦思念的佩奇猪在文末等你哦!

# coding:utf-8
import turtle as t
t.pensize(4) # 设置画笔的大小
t.colormode(255) # 设置GBK颜色范围为0-255
t.color((255,155,192),"pink") # 设置画笔颜色和填充颜色(pink)
t.setup(840,500) # 设置主窗口的大小为840*500
t.speed(10) # 设置画笔速度为10
#鼻子
t.pu() # 提笔
t.goto(-100,100) # 画笔前往坐标(-100,100)
t.pd() # 下笔
t.seth(-30) # 笔的角度为-30°
t.begin_fill() # 外形填充的开始标志
a=0.4
for i in range(120):
  if 0<=i<30 or 60<=i<90:
    a=a+0.08
    t.lt(3) #向左转3度
    t.fd(a) #向前走a的步长
  else:
    a=a-0.08
    t.lt(3)
    t.fd(a)
t.end_fill() # 依据轮廓填充
t.pu() # 提笔
t.seth(90) # 笔的角度为90度
t.fd(25) # 向前移动25
t.seth(0) # 转换画笔的角度为0
t.fd(10)
t.pd()
t.pencolor(255,155,192) # 设置画笔颜色
t.seth(10)
t.begin_fill()
t.circle(5) # 画一个半径为5的圆
t.color(160,82,45) # 设置画笔和填充颜色
t.end_fill()
t.pu()
t.seth(0)
t.fd(20)
t.pd()
t.pencolor(255,155,192)
t.seth(10)
t.begin_fill()
t.circle(5)
t.color(160,82,45)
t.end_fill()
#头
t.color((255,155,192),"pink")
t.pu()
t.seth(90)
t.fd(41)
t.seth(0)
t.fd(0)
t.pd()
t.begin_fill()
t.seth(180)
t.circle(300,-30) # 顺时针画一个半径为300,圆心角为30°的园
t.circle(100,-60)
t.circle(80,-100)
t.circle(150,-20)
t.circle(60,-95)
t.seth(161)
t.circle(-300,15)
t.pu()
t.goto(-100,100)
t.pd()
t.seth(-30)
a=0.4
for i in range(60):
  if 0<=i<30 or 60<=i<90:
    a=a+0.08
    t.lt(3) #向左转3度
    t.fd(a) #向前走a的步长
  else:
    a=a-0.08
    t.lt(3)
    t.fd(a)
t.end_fill()
#耳朵
t.color((255,155,192),"pink")
t.pu()
t.seth(90)
t.fd(-7)
t.seth(0)
t.fd(70)
t.pd()
t.begin_fill()
t.seth(100)
t.circle(-50,50)
t.circle(-10,120)
t.circle(-50,54)
t.end_fill()
t.pu()
t.seth(90)
t.fd(-12)
t.seth(0)
t.fd(30)
t.pd()
t.begin_fill()
t.seth(100)
t.circle(-50,50)
t.circle(-10,120)
t.circle(-50,56)
t.end_fill()
#眼睛
t.color((255,155,192),"white")
t.pu()
t.seth(90)
t.fd(-20)
t.seth(0)
t.fd(-95)
t.pd()
t.begin_fill()
t.circle(15)
t.end_fill()
t.color("black")
t.pu()
t.seth(90)
t.fd(12)
t.seth(0)
t.fd(-3)
t.pd()
t.begin_fill()
t.circle(3)
t.end_fill()
t.color((255,155,192),"white")
t.pu()
t.seth(90)
t.fd(-25)
t.seth(0)
t.fd(40)
t.pd()
t.begin_fill()
t.circle(15)
t.end_fill()
t.color("black")
t.pu()
t.seth(90)
t.fd(12)
t.seth(0)
t.fd(-3)
t.pd()
t.begin_fill()
t.circle(3)
t.end_fill()
#腮
t.color((255,155,192))
t.pu()
t.seth(90)
t.fd(-95)
t.seth(0)
t.fd(65)
t.pd()
t.begin_fill()
t.circle(30)
t.end_fill()
#嘴
t.color(239,69,19)
t.pu()
t.seth(90)
t.fd(15)
t.seth(0)
t.fd(-100)
t.pd()
t.seth(-80)
t.circle(30,40)
t.circle(40,80)
#身体
t.color("red",(255,99,71))
t.pu()
t.seth(90)
t.fd(-20)
t.seth(0)
t.fd(-78)
t.pd()
t.begin_fill()
t.seth(-130)
t.circle(100,10)
t.circle(300,30)
t.seth(0)
t.fd(230)
t.seth(90)
t.circle(300,30)
t.circle(100,3)
t.color((255,155,192),(255,100,100))
t.seth(-135)
t.circle(-80,63)
t.circle(-150,24)
t.end_fill()
#手
t.color((255,155,192))
t.pu()
t.seth(90)
t.fd(-40)
t.seth(0)
t.fd(-27)
t.pd()
t.seth(-160)
t.circle(300,15)
t.pu()
t.seth(90)
t.fd(15)
t.seth(0)
t.fd(0)
t.pd()
t.seth(-10)
t.circle(-20,90)
t.pu()
t.seth(90)
t.fd(30)
t.seth(0)
t.fd(237)
t.pd()
t.seth(-20)
t.circle(-300,15)
t.pu()
t.seth(90)
t.fd(20)
t.seth(0)
t.fd(0)
t.pd()
t.seth(-170)
t.circle(20,90)
#脚
t.pensize(10)
t.color((240,128,128))
t.pu()
t.seth(90)
t.fd(-75)
t.seth(0)
t.fd(-180)
t.pd()
t.seth(-90)
t.fd(40)
t.seth(-180)
t.color("black")
t.pensize(15)
t.fd(20)
t.pensize(10)
t.color((240,128,128))
t.pu()
t.seth(90)
t.fd(40)
t.seth(0)
t.fd(90)
t.pd()
t.seth(-90)
t.fd(40)
t.seth(-180)
t.color("black")
t.pensize(15)
t.fd(20)
#尾巴
t.pensize(4)
t.color((255,155,192))
t.pu()
t.seth(90)
t.fd(70)
t.seth(0)
t.fd(95)
t.pd()
t.seth(0)
t.circle(70,20)
t.circle(10,330)
t.circle(70,30)

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对小牛知识库的支持。如果你想了解更多相关内容请查看下面相关链接

 类似资料:
  • 针对运动而设计的智能手表内置心率传感器,该传感器可通过手腕测量心率。为了准确测量基于手腕的心率,您需要将表带紧贴地佩戴在手腕上并紧挨着腕骨后方,让显示屏朝上。传感器必须接触皮肤,但表带不应过紧,避免阻碍血液流动。 未进行训练时您应将表带放松些佩戴,就像您佩戴普通的手表。不过在训练时应佩戴得紧些以确保您从手腕获得准确的心率读数。如果您的手腕皮肤上有刺青,由于刺青可能影响准确读数,应避免将传感器直接放

  • Polar Verity Sense 可让您在进行任何运动时实现完全自由移动。您可以将它与臂带、游泳镜带夹配合使用,也可以将它紧贴在皮肤上使用。 使用臂带戴在手臂上 要在使用臂带时准确测量心率,您需要将 Verity Sense 紧紧戴在您的前臂或上臂上,而不是手腕上。 将传感器放入臂带固定器中,让 LED 感应器朝上。 佩戴臂带,使传感器位于臂带下方,紧贴皮肤。 将臂带中的 Verity Sen

  • A370 持续测量来自手腕的心率(日常佩戴和运动中)。要获得准确的心率读数,请按照以下提示令手腕感觉舒适。 在日常佩戴中,将腕带紧贴佩戴在手腕上,在腕骨后。请勿将健身手环佩戴在腕骨之上。可以稍微松开腕带,只要背面的传感器接触到皮肤并在运动时能够保持原位。 当您开始训练时,请稍微拉紧一点,以使运动时传感器不会移动。腕带不应会令您感到不舒服。记得在训练后松开腕带,以便佩戴更舒适。 如果您的手腕皮肤上有

  • 到目前为止,我在codepen https://codepen.io/phfilly/pen/gxbmmo?editors=1100上有这个信息 从我的发现和研究来看,这似乎只能通过使用剪辑路径来实现,或者有更简单的方法吗?如果是这样的话,我不确定使用什么属性作为clipPath。 任何帮助或指导将非常感谢。

  • 本文向大家介绍SVG动画vivus.js库使用小结(实例代码),包括了SVG动画vivus.js库使用小结(实例代码)的使用技巧和注意事项,需要的朋友参考一下 SVG动画vivus.js库使用整理,具体实例代码如下所示: 使用方法如图: HTML例子代码: 总结 以上所述是小编给大家介绍的SVG动画vivus.js库使用小结(实例代码),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时

  • 我目前面临的问题是,我的代码无法解决peg纸牌板的不同变体。我的测试程序测试了4个简单的可解电路板。(1移动解决方案)向上移动一次,向下移动一次,向左移动一次,向右移动一次。我的代码解决了这些问题,同时测试了一个无法解决的电路板。我面临的问题是如何解决更复杂的问题,比如加号、菱形和标准板。 我不太确定如何将递归添加到这个问题中。我在solveHelp方法调用setupMove的末尾添加了它,但这破