用python画一只皮卡丘_强烈推荐 | 教你用Python画一只属于自己的皮卡丘,实现童年宝可梦...

本文主要是介绍用python画一只皮卡丘_强烈推荐 | 教你用Python画一只属于自己的皮卡丘,实现童年宝可梦...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原标题:强烈推荐 | 教你用Python画一只属于自己的皮卡丘,实现童年宝可梦

a33d71bd785f467687c0baac139018b3.jpg

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

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

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

82edb87cc9614141979814755129afbd.jpg

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

ef58fa9e12684d2685ae4b2b7890b3ad.gif

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

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

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

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

先看下效果☟

c3e30ee66888491c903f7b28a1d15c3d.gif

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

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

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

使用海龟作图,我们不仅能够只用几行代码就创建出令人印象深刻的视觉效果,而且还可以跟随海龟看看每行代码如何影响到它的移动。这能够帮助我们理解代码的逻辑。

所以海龟作图也常被用作新手学习 Python 的一种方式。更丰富详细的功能及知识可以参考官方文档:

https://docs.python.org/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模块实现基本的圆,椭圆,曲线等,难点在于如何定位每个部位的位置。

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

78a7abc14f28465baa79638e01afcc88.gif

同样此代码,后台回复“皮卡丘”可获得完整版。

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

注:第二个项目代码参考网络资料,链接下文给出,感谢丁彦军对具体代码做了修改。

https://blog.csdn.net/hl_zmfh/article/details/83215693

★每日人工智能教程干货、行业资讯和有趣内容,尽在VX公号【AI算力】

责任编辑:

这篇关于用python画一只皮卡丘_强烈推荐 | 教你用Python画一只属于自己的皮卡丘,实现童年宝可梦...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/264076

相关文章

Python中你不知道的gzip高级用法分享

《Python中你不知道的gzip高级用法分享》在当今大数据时代,数据存储和传输成本已成为每个开发者必须考虑的问题,Python内置的gzip模块提供了一种简单高效的解决方案,下面小编就来和大家详细讲... 目录前言:为什么数据压缩如此重要1. gzip 模块基础介绍2. 基本压缩与解压缩操作2.1 压缩文

Python设置Cookie永不超时的详细指南

《Python设置Cookie永不超时的详细指南》Cookie是一种存储在用户浏览器中的小型数据片段,用于记录用户的登录状态、偏好设置等信息,下面小编就来和大家详细讲讲Python如何设置Cookie... 目录一、Cookie的作用与重要性二、Cookie过期的原因三、实现Cookie永不超时的方法(一)

MySQL中查找重复值的实现

《MySQL中查找重复值的实现》查找重复值是一项常见需求,比如在数据清理、数据分析、数据质量检查等场景下,我们常常需要找出表中某列或多列的重复值,具有一定的参考价值,感兴趣的可以了解一下... 目录技术背景实现步骤方法一:使用GROUP BY和HAVING子句方法二:仅返回重复值方法三:返回完整记录方法四:

Python内置函数之classmethod函数使用详解

《Python内置函数之classmethod函数使用详解》:本文主要介绍Python内置函数之classmethod函数使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 类方法定义与基本语法2. 类方法 vs 实例方法 vs 静态方法3. 核心特性与用法(1编程客

IDEA中新建/切换Git分支的实现步骤

《IDEA中新建/切换Git分支的实现步骤》本文主要介绍了IDEA中新建/切换Git分支的实现步骤,通过菜单创建新分支并选择是否切换,创建后在Git详情或右键Checkout中切换分支,感兴趣的可以了... 前提:项目已被Git托管1、点击上方栏Git->NewBrancjsh...2、输入新的分支的

Python函数作用域示例详解

《Python函数作用域示例详解》本文介绍了Python中的LEGB作用域规则,详细解析了变量查找的四个层级,通过具体代码示例,展示了各层级的变量访问规则和特性,对python函数作用域相关知识感兴趣... 目录一、LEGB 规则二、作用域实例2.1 局部作用域(Local)2.2 闭包作用域(Enclos

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

关于集合与数组转换实现方法

《关于集合与数组转换实现方法》:本文主要介绍关于集合与数组转换实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、Arrays.asList()1.1、方法作用1.2、内部实现1.3、修改元素的影响1.4、注意事项2、list.toArray()2.1、方

使用Python实现可恢复式多线程下载器

《使用Python实现可恢复式多线程下载器》在数字时代,大文件下载已成为日常操作,本文将手把手教你用Python打造专业级下载器,实现断点续传,多线程加速,速度限制等功能,感兴趣的小伙伴可以了解下... 目录一、智能续传:从崩溃边缘抢救进度二、多线程加速:榨干网络带宽三、速度控制:做网络的好邻居四、终端交互

Python中注释使用方法举例详解

《Python中注释使用方法举例详解》在Python编程语言中注释是必不可少的一部分,它有助于提高代码的可读性和维护性,:本文主要介绍Python中注释使用方法的相关资料,需要的朋友可以参考下... 目录一、前言二、什么是注释?示例:三、单行注释语法:以 China编程# 开头,后面的内容为注释内容示例:示例:四