python绘制哆啦a梦(实现童年宝可梦)(1)

还记得小时候疯狂收集和交换神奇宝贝卡片的经历吗?

还记得和小伙伴拿着精灵球,一起召唤小精灵的中二模样吗?

最近上映的《大侦探皮卡丘》,是否会让你秒回童年,进入那个充满神奇宝贝的世界,和小智一起踏上成为宝可梦大师的旅程呢?

python绘制哆啦a梦(实现童年宝可梦)(2)

虽然,电影中的皮卡丘是一位贱萌的中年大叔,但是观影过后的文摘菌依然想起了宝可梦世界里二十多年不变的C位明星小可爱。

python绘制哆啦a梦(实现童年宝可梦)(3)

皮卡丘脸颊两边有着小小的电力袋,因此他独有的能力就是可以放电。在动画片中,小智的皮卡丘性格十分害羞,稍有不满就乱放电电人。

小时候也想拥有一只会放电的皮卡丘,长大后渐渐明白,这种高度智能会放电的“动物”只存在于梦中。

不怕,不怕,虽然现实中没有,但是我们可以画一只哟~素描什么的都弱爆了,我们来用Python画一只。

经过一整天的苦战,从未接触过turtle库的文摘菌实现了从0到1,成就感满满。

先看下效果☟

python绘制哆啦a梦(实现童年宝可梦)(4)

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

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

turtle的绘图方式非常简单直观,想象有一只尾巴上蘸着颜料的小海龟在电脑屏幕上爬行,随着它的移动就能画出线条来。

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

docs.python/3/library/turtle.html

了解了tuttle的用法之后就可以开始实战了。

部分代码示例:

import turtle as t def infoPrt(): print('coordinate: ' str(t.pos())) print('angle: ' str(t.heading())) t.pensize(3) t.hideturtle() t.colormode(255) t.color("black") t.setup(700, 650) t.speed(10) t.st() #t.dot() t.pu() #t.goto(-150,100) t.goto(-210,86) t.pd() infoPrt() # 头 print('头') t.seth(85) t.circle(-100,50) #t.seth(78) #t.circle(-100,25) infoPrt() t.seth(25) t.circle(-170,50) infoPrt() # 右耳 print('右耳') t.seth(40) #t.circle(-250,52) t.circle(-250,30) infoPrt() # 右耳尖 t.begin_fill() # 左 t.circle(-250,22) #t.fillcolor("pink") # 右 t.seth(227) t.circle(-270, 15) prePos = t.pos() infoPrt() # 尾巴 t.pu() t.setpos(p_tail) t.pd() t.begin_fill() t.seth(50) t.fd(25) t.seth(-50) t.fd(30) p_tail1=t.pos t.seth(-140) t.fd(36) t.end_fill() t.seth(39) # 右尾和h1 t.fd(72) # 右尾和v1 t.seth(125) t.fd(48) # 右尾和h2 t.seth(40) t.fd(53) # 右尾和v2 t.seth(88) t.fd(45) # 右尾和h3 t.seth(35) t.fd(105) # 右尾和v3 t.seth(105) t.circle(850, 8) #t.fd(105) t.seth(215) #t.fd(125) t.circle(850, 11) t.seth(280) t.fd(110) t.seth(220) t.fd(50) t.seth(309) t.fd(56)

完整代码需要360行,为了限于篇幅,只放了一部分代码,需要完整源码的盆友,可关注大数据文摘,回复“皮卡丘”可获得。

使用turtle画图,思路其实很简单,就是通过trutle模块实现基本的圆,椭圆,曲线等,难点在于如何定位每个部位的位置。

对于初学者,文摘菌建议先入手比较简单的项目,比如☟

python绘制哆啦a梦(实现童年宝可梦)(5)

同样此代码获取,可以关注、转发,后台私信小编“01”,还会赠送Python学习资料。

python绘制哆啦a梦(实现童年宝可梦)(6)

这个皮卡丘,只给出了脸部绘画,相比全身画像,需要考虑的构件相对少一些,适合新手入门。

,