用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

相关文章

springboot+redis实现订单过期(超时取消)功能的方法详解

《springboot+redis实现订单过期(超时取消)功能的方法详解》在SpringBoot中使用Redis实现订单过期(超时取消)功能,有多种成熟方案,本文为大家整理了几个详细方法,文中的示例代... 目录一、Redis键过期回调方案(推荐)1. 配置Redis监听器2. 监听键过期事件3. Redi

SpringBoot全局异常拦截与自定义错误页面实现过程解读

《SpringBoot全局异常拦截与自定义错误页面实现过程解读》本文介绍了SpringBoot中全局异常拦截与自定义错误页面的实现方法,包括异常的分类、SpringBoot默认异常处理机制、全局异常拦... 目录一、引言二、Spring Boot异常处理基础2.1 异常的分类2.2 Spring Boot默

基于SpringBoot实现分布式锁的三种方法

《基于SpringBoot实现分布式锁的三种方法》这篇文章主要为大家详细介绍了基于SpringBoot实现分布式锁的三种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、基于Redis原生命令实现分布式锁1. 基础版Redis分布式锁2. 可重入锁实现二、使用Redisso

SpringBoo WebFlux+MongoDB实现非阻塞API过程

《SpringBooWebFlux+MongoDB实现非阻塞API过程》本文介绍了如何使用SpringBootWebFlux和MongoDB实现非阻塞API,通过响应式编程提高系统的吞吐量和响应性能... 目录一、引言二、响应式编程基础2.1 响应式编程概念2.2 响应式编程的优势2.3 响应式编程相关技术

浅析python如何去掉字符串中最后一个字符

《浅析python如何去掉字符串中最后一个字符》在Python中,字符串是不可变对象,因此无法直接修改原字符串,但可以通过生成新字符串的方式去掉最后一个字符,本文整理了三种高效方法,希望对大家有所帮助... 目录方法1:切片操作(最推荐)方法2:长度计算索引方法3:拼接剩余字符(不推荐,仅作演示)关键注意事

C#实现将XML数据自动化地写入Excel文件

《C#实现将XML数据自动化地写入Excel文件》在现代企业级应用中,数据处理与报表生成是核心环节,本文将深入探讨如何利用C#和一款优秀的库,将XML数据自动化地写入Excel文件,有需要的小伙伴可以... 目录理解XML数据结构与Excel的对应关系引入高效工具:使用Spire.XLS for .NETC

Nginx更新SSL证书的实现步骤

《Nginx更新SSL证书的实现步骤》本文主要介绍了Nginx更新SSL证书的实现步骤,包括下载新证书、备份旧证书、配置新证书、验证配置及遇到问题时的解决方法,感兴趣的了解一下... 目录1 下载最新的SSL证书文件2 备份旧的SSL证书文件3 配置新证书4 验证配置5 遇到的http://www.cppc

python版本切换工具pyenv的安装及用法

《python版本切换工具pyenv的安装及用法》Pyenv是管理Python版本的最佳工具之一,特别适合开发者和需要切换多个Python版本的用户,:本文主要介绍python版本切换工具pyen... 目录Pyenv 是什么?安装 Pyenv(MACOS)使用 Homebrew:配置 shell(zsh

Nginx之https证书配置实现

《Nginx之https证书配置实现》本文主要介绍了Nginx之https证书配置的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起... 目录背景介绍为什么不能部署在 IIS 或 NAT 设备上?具体实现证书获取nginx配置扩展结果验证

SpringBoot整合 Quartz实现定时推送实战指南

《SpringBoot整合Quartz实现定时推送实战指南》文章介绍了SpringBoot中使用Quartz动态定时任务和任务持久化实现多条不确定结束时间并提前N分钟推送的方案,本文结合实例代码给大... 目录前言一、Quartz 是什么?1、核心定位:解决什么问题?2、Quartz 核心组件二、使用步骤1