随着农历猪年的到来,Pig的卡通形象以火爆的热度迅速成为大家心中的新一任萌宠,尤其是深受小朋友喜欢的小猪佩奇,作为一枚关心热点又家有小娃的非典型程序猿小编,也来蹭蹭热点,让我们用Python来送给娃一幅小猪佩奇的画作。

啥都不说,直接上图:

这就是Python画小猪佩奇的动态过程,是不是感觉画的挺好的?那是怎么实现的呢?这就得益于Python强大的库功能,本文图片用的就是Python众多库中的绘制图形库turtle画的。导入库的方法如下:

import turtle as t

通过上面的动图我们发现小猪佩奇是不是像一支画笔一样在画?那是因为我们把小猪佩奇的卡通形象分作鼻子、头部轮廓、眼睛、耳朵、鳃部、嘴巴、身体、手、脚等各个部位,然后把各个部位按顺序来画的,下面我们以鼻子为例来具体看一看。先看鼻子的形状:

要画成这个形状,我们需要做以下工作:

1、确定画笔的起始位置

2、确定画笔的颜色

3、画一个鼻子的外形,也就是椭圆

4、确定椭圆的填充颜色

5、画左右两个鼻孔

首先我们完成画笔的初始化。代码如下:

 
def  init():
     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
 

然后按照步骤开始编码画鼻子:

def  nose():
      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() 

到这里鼻子就画完了,是不是感觉其实挺简单的呢?跃跃欲试的你是不是也想自己动手了?come on!自己动手用同样的方法完成身体的其他部位吧。

总结一下就是要确定每个部位的准确坐标,然后多点耐心调试,再加一点点的美术细胞。建议和孩子一起完成噢,相信你可以和孩子有一个属于你们的欢愉时光的。最后上一张完整的佩奇图。看看你是不是可以和我画的一样!

如果需要完整的参考源码请长按识别下方二维码关注公众号,回复“佩奇”,即可获取。

 

用Python给娃送上一份猪年春节礼物。文末源码!相关推荐

  1. android 三方_面试官送你一份Android热门三方库源码面试宝典及学习笔记

    前言 众所周知,优秀源码的阅读与理解是最能提升自身功力的途径,如果想要成为一名优秀的Android工程师,那么Android中优秀三方库源码的分析和理解则是必备技能.就拿比较热门的图片加载框架Glid ...

  2. Python数据分析实战【九】:用Python处理省份城市编码数据【文末源码地址】

    文章目录 项目背景 项目代码 新增省份编码 获取编码映射数据 合并数据 统计省份用户数 使用SQL实现 源码地址 本文可以学习到以下内容: 免费获取全国省份.城市编码以及经纬度数 使用 pandas ...

  3. “数字炸弹“——练习Python基础知识的小游戏【文末源码地址】

    文章目录 数字"炸弹" 基本代码 核心代码 源码地址 数字"炸弹" 数字炸弹小游戏,平时可以多个人一块玩.游戏规则也很简单:从0~100之间选一个数字,作为&q ...

  4. Python数据分析实战【十二】:机器学习决策树算法案例实战【文末源码地址】

    文章目录 构造数据 决策树解决 报错解决 源码地址 构造数据 我们用pandas生成20条数据,其中标签为bad的数据有6条,标签为good的数据有14条,代码如下: import pandas as ...

  5. Python数据分析实战【七】:用Python实现对Excel文件中的数据进行md5加密【文末源码地址】

    文章目录 获取数据 加密函数 数据加密 结尾 源码地址 本文可以学习到以下内容: 使用 pandas 中的 to_excel 生成 excel 数据 使用 pandas 中的 read_excel 读 ...

  6. Python数据分析实战【六】:用Python实现自动发送邮件和发送钉钉消息【文末源码地址】

    目录 发送邮件源码 发送钉钉消息源码 源码地址 本文可以学习到以下内容: 使用requests库发送钉钉消息 使用email和smtplib库发送邮件 使用163邮箱服务,自动发送邮件及附件 发送邮件 ...

  7. 35. 实战:Python实现视频去水印(文末源码)

    目录 前言 目的 思路 代码实现 1. 请求URL,查看源代码 2. 源代码中没有就去抓包工具 3. 拿到视频源链接,继续检索来源 4. 拿到数据和链接,二进制写入到本地 完整源码 运行效果 总结 前 ...

  8. 基于Python的旅游管理系统微信小程序设计与实现毕业论文+项目源码及数据库

     源码获取:我的博客资源页面可以下载!!!! 项目名称 基于Python的旅游管理系统微信小程序设计与实现毕业论文+项目源码及数据库 系统说明 本商业旅游系统可以分为三个部分,即微信小程序的手机客户端 ...

  9. Python基于OpenCV的指针式表盘检测系统(附带源码&技术文档)

    1.背景 指针式机械表盘具有安装维护方便.结构简单.防电磁干扰等诸多优点, 目前广泛应用于工矿企业.能源及计量等部门.随着仪表数量的增加及精密仪表技术的发展,人工判读已经不能满足实际应用需求.随着计算 ...

最新文章

  1. CSS之布局(盒子模型—边框)
  2. 你的响应阻塞了没有?--Spring-WebFlux源码分析
  3. c语言两种加法,两个超长正整数的加法
  4. unity中单位是米还是厘米_2019-08-22Unity中的单位长度与像素之间的关系
  5. 数据仓库专题(6)-数据仓库、主题域、主题概念与定义
  6. Excel模板导出之动态导出
  7. 使用Spring Data R2DBC进行异步RDBMS访问
  8. leetcode1509. 三次操作后最大值与最小值的最小差
  9. fir.im同款企业级APP分发平台系统源码
  10. webpack打包VUE项目读取外部配置文件,灵活配置域名
  11. 01_机器学习课程概述
  12. Windows10系统破解多用户同时远程登陆
  13. 无线鼠标服务器,remote mouse
  14. App消息推送的原理
  15. 如果要做 Rietveld 分析,XRD时步长需要满足什么要求
  16. win7配置计算机失败怎么办,Win7配置失败还原更新怎么回事 Win7配置update失败的解决办法...
  17. 【Linux 性能优化】利用perf和CPU使用率定位异常函数
  18. MySQL三大日志——binlog、redoLog、undoLog详解
  19. python import logging
  20. java集成企业微信完成授权登录

热门文章

  1. 【UEFI实战】HII之配置
  2. 手机python编程软件 turtle,安卓手机python编程软件
  3. 【网络驱动】GMAC 系统框架
  4. 通过新浪天气api查询天气
  5. WiFi共享精灵文件传输新功能:金币话费领不停
  6. 手机建模下一步,人人可用的网页3D展示功能来了
  7. 家具生产设备_家具生产线
  8. mysql字符串类型建立全文索引
  9. html5 arc 椭圆,html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
  10. Dart_Flutter【插件介绍+平台发布+视频】【180个网址导航】