用 Python 20 秒画完小猪佩奇“社会人”!附效果视频+完整代码

导读:今年社交平台上最火的带货女王是谁?范冰冰?杨幂?Angelababy?不,是猪猪女孩小猪佩奇。

小猪佩奇在构图基本是各种曲线,类抛物线、类圆、类椭圆、类二次贝塞尔曲线。

因为画图画曲线不是Python擅长的事情,所以用纯粹的Python来做,会更有挑战,也更有趣。

如果你经常用抖音、快手、B站、知乎、微博……或者类似的任何一个内容或社交平台,那你很大概率能答出这道题:

答案是:掌声送给社会人。

随着口号喊响,社会人小猪佩奇似乎一夜之间就在短视频平台和社交网络上爆火了,同时网络上遍布了小猪佩奇九步画法。于是我在儿童节这一天画了一下,结果,不忍直视......

▲我画的,哈哈

▲人家的画

观察这个图像可以发现,小猪佩奇在构图基本是各种曲线,类抛物线、类圆、类椭圆、类二次贝塞尔曲线。这里说的都是“类”,这也正是小猪佩奇的构图精髓,一种手绘风格,而不是标准刻板的线条。

在前端技术选型上,画图首先想到的是svg、canvas,但它们本身就擅长画图,而且网上都有在线编辑svg的工具,这就没意思了,我想佩奇也不会答应的。于是我想用纯粹的Python来做,这样更有挑战,因为画图画曲线不是Python擅长的事情。

基本思路:选好画板大小,设置好画笔颜色,粗细,定位好位置,依次画鼻子,头、耳朵、眼睛、腮、嘴、身体、手脚、尾巴,完事。

都知道,turtle 是 python 内置的一个比较有趣味的模块,俗称海龟作图,它是基于 tkinter 模块打造,提供一些简单的绘图工具。

在海龟作图中,我们可以编写指令让一个虚拟的(想象中的)海龟在屏幕上来回移动。这个海龟带着一只钢笔,我们可以让海龟无论移动到哪都使用这只钢笔来绘制线条。通过编写代码,以各种很酷的模式移动海龟,我们可以绘制出令人惊奇的图片。

使用海龟作图,我们不仅能够只用几行代码就创建出令人印象深刻的视觉效果,而且还可以跟随海龟看看每行代码如何影响到它的移动。这能够帮助我们理解代码的逻辑。所以海龟作图也常被用作新手学习 Python 的一种方式。更丰富详细的功能及知识可以参考:

官方文档: https://docs.python.org/3/library/turtle.html

了解了turtle的用法之后就可以开始实战了。哈哈,先看看效果视频:

视频内容

详细代码如下:

思路其实很简单,就是通过turtle模块实现基本的圆,椭圆,曲线等,难点在于,如何定位每个部位的位置(建议先草图画画)。完整代码需要300行,为了限于篇幅,只放了一部分代码,需要完整源码的盆友,可关注大数据,回复社会人可获得。

作者:丁彦军

来源:恋习Python(ID:sldata2017)

原文发布于微信公众号 - 大数据(hzdashuju)

原文发表时间:2018-06-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏灯塔大数据

洞察|美国大选倒计时:R 语言和蒙特卡洛算法预测希拉里赢面高达89%

距总统大选不到一周,来预测一下竞选结果还是很有挺有趣的。虽然关于选举,有的是博客和网站的预测,但确切告诉你他们究竟用了什么模型,或者告诉你怎么做这个预测的却寥...

39490
来自专栏AI研习社

用机器学习搞艺术,谷歌 Megenta 项目集锦(附 Github)

雷锋网 AI 研习社按:本文为雷锋字幕组编译的技术博客,原文 Make Music and Art Using Machine Learning,作者 mage...

18520
来自专栏Vamei实验室

绘图: matplotlib Basemap简介

在数据可视化过程中,我们常常需要将数据根据其采集的地理位置在地图上显示出来。比如说我们会想要在地图上画出城市,飞机的航线,乃至于军事基地等等。通常来说,一个地理...

55050
来自专栏大数据文摘

不幸的人各有不幸吗?文本分析流浪汉乞讨标语牌后发现的套路(附代码)

25060
来自专栏机器人网

一文了解变频器的工作原理

变频器是把工频电源(50Hz或60Hz)变换成各种频率的交流电源,以实现电机的变速运行的设备,其中控制电路完成对主电路的控制,整流电路将交流电变换成直流电,直流...

28260
来自专栏WOLFRAM

别样的“分形学”

12730
来自专栏机器学习人工学weekly

机器学习人工学weekly-2018/3/11

换了个新职位非常忙,我还会每周更新,但是估计是没时间仔细读论文了,所以评论可能就没什么深度了,精力有限,哎。 1. DeepMind新RL学习方式SAC-X,尝...

32660
来自专栏大数据文摘

李飞飞计算机视觉成名作:斯坦福CS231n作业详解第三弹!

26180
来自专栏机器学习人工学weekly

机器学习人工学weekly-2018/6/10

1. MIT脑科学课程视频,虽然跟工程不太一样,但是cognitive science也是很重要

13960
来自专栏机器学习原理

NLP(6)——命名实体识别

普通的工具如hanlp,htp,不能识别特定领域的专有名词,所以需要实体识别的算法。下面就以医疗专业为例子来谈一下医疗专业的命名实体识别。

32530

扫码关注云+社区

领取腾讯云代金券