用Python给娃送上一份猪年春节礼物。文末源码!
随着农历猪年的到来,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给娃送上一份猪年春节礼物。文末源码!相关推荐
- android 三方_面试官送你一份Android热门三方库源码面试宝典及学习笔记
前言 众所周知,优秀源码的阅读与理解是最能提升自身功力的途径,如果想要成为一名优秀的Android工程师,那么Android中优秀三方库源码的分析和理解则是必备技能.就拿比较热门的图片加载框架Glid ...
- Python数据分析实战【九】:用Python处理省份城市编码数据【文末源码地址】
文章目录 项目背景 项目代码 新增省份编码 获取编码映射数据 合并数据 统计省份用户数 使用SQL实现 源码地址 本文可以学习到以下内容: 免费获取全国省份.城市编码以及经纬度数 使用 pandas ...
- “数字炸弹“——练习Python基础知识的小游戏【文末源码地址】
文章目录 数字"炸弹" 基本代码 核心代码 源码地址 数字"炸弹" 数字炸弹小游戏,平时可以多个人一块玩.游戏规则也很简单:从0~100之间选一个数字,作为&q ...
- Python数据分析实战【十二】:机器学习决策树算法案例实战【文末源码地址】
文章目录 构造数据 决策树解决 报错解决 源码地址 构造数据 我们用pandas生成20条数据,其中标签为bad的数据有6条,标签为good的数据有14条,代码如下: import pandas as ...
- Python数据分析实战【七】:用Python实现对Excel文件中的数据进行md5加密【文末源码地址】
文章目录 获取数据 加密函数 数据加密 结尾 源码地址 本文可以学习到以下内容: 使用 pandas 中的 to_excel 生成 excel 数据 使用 pandas 中的 read_excel 读 ...
- Python数据分析实战【六】:用Python实现自动发送邮件和发送钉钉消息【文末源码地址】
目录 发送邮件源码 发送钉钉消息源码 源码地址 本文可以学习到以下内容: 使用requests库发送钉钉消息 使用email和smtplib库发送邮件 使用163邮箱服务,自动发送邮件及附件 发送邮件 ...
- 35. 实战:Python实现视频去水印(文末源码)
目录 前言 目的 思路 代码实现 1. 请求URL,查看源代码 2. 源代码中没有就去抓包工具 3. 拿到视频源链接,继续检索来源 4. 拿到数据和链接,二进制写入到本地 完整源码 运行效果 总结 前 ...
- 基于Python的旅游管理系统微信小程序设计与实现毕业论文+项目源码及数据库
源码获取:我的博客资源页面可以下载!!!! 项目名称 基于Python的旅游管理系统微信小程序设计与实现毕业论文+项目源码及数据库 系统说明 本商业旅游系统可以分为三个部分,即微信小程序的手机客户端 ...
- Python基于OpenCV的指针式表盘检测系统(附带源码&技术文档)
1.背景 指针式机械表盘具有安装维护方便.结构简单.防电磁干扰等诸多优点, 目前广泛应用于工矿企业.能源及计量等部门.随着仪表数量的增加及精密仪表技术的发展,人工判读已经不能满足实际应用需求.随着计算 ...
最新文章
- CSS之布局(盒子模型—边框)
- 你的响应阻塞了没有?--Spring-WebFlux源码分析
- c语言两种加法,两个超长正整数的加法
- unity中单位是米还是厘米_2019-08-22Unity中的单位长度与像素之间的关系
- 数据仓库专题(6)-数据仓库、主题域、主题概念与定义
- Excel模板导出之动态导出
- 使用Spring Data R2DBC进行异步RDBMS访问
- leetcode1509. 三次操作后最大值与最小值的最小差
- fir.im同款企业级APP分发平台系统源码
- webpack打包VUE项目读取外部配置文件,灵活配置域名
- 01_机器学习课程概述
- Windows10系统破解多用户同时远程登陆
- 无线鼠标服务器,remote mouse
- App消息推送的原理
- 如果要做 Rietveld 分析,XRD时步长需要满足什么要求
- win7配置计算机失败怎么办,Win7配置失败还原更新怎么回事 Win7配置update失败的解决办法...
- 【Linux 性能优化】利用perf和CPU使用率定位异常函数
- MySQL三大日志——binlog、redoLog、undoLog详解
- python import logging
- java集成企业微信完成授权登录
热门文章
- 【UEFI实战】HII之配置
- 手机python编程软件 turtle,安卓手机python编程软件
- 【网络驱动】GMAC 系统框架
- 通过新浪天气api查询天气
- WiFi共享精灵文件传输新功能:金币话费领不停
- 手机建模下一步,人人可用的网页3D展示功能来了
- 家具生产设备_家具生产线
- mysql字符串类型建立全文索引
- html5 arc 椭圆,html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
- Dart_Flutter【插件介绍+平台发布+视频】【180个网址导航】