100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 皮卡丘python turtle海龟绘图(电力球版)附源代码

皮卡丘python turtle海龟绘图(电力球版)附源代码

时间:2023-07-12 23:24:18

相关推荐

皮卡丘python turtle海龟绘图(电力球版)附源代码

皮卡丘python turtle海龟绘图(电力球版)附源代码

本文目录:

一、皮卡丘python turtle海龟成品效果图

二、皮卡丘背景介绍

三、皮卡丘卡角色形象

四、愿你拥有一只皮卡丘

五、Python 海龟画图主要方法

(1)海龟画图的主要步骤

(2)海龟画图的坐标体系

(3)海龟画图的一些建议

六、海龟画图常用命令

1、初始化

2、画笔属性

3、画笔运动命令

4、 画笔颜色控制命令

5、全局控制命令

七、我的皮卡丘python turtle海龟绘图源代码

前言:

前段时间,【草莓熊python turtle绘图代码】一文弄得我心情多少有点灰灰,此版草莓熊是我应某网友请求画的,当时只是想找个地方放代码给他,没想到访问量使用量会有那么多,抖音b站等等到处都是我画的草莓熊,就连CSDN都有几个盗我代码(他们删除了作者版权信息部分)当成自己原创,还都上了CSDN首页热门推荐。。。

更有甚者,居然有人拿我草莓熊代码来卖钱!!!请记住,不要下载和购买这种代码(包括可执行的exe文件,小心代码被篡改有病毒)

我的代码是完整源代码,你从我博客拷贝代码后本机运行就能看到和我博客上同样的运行效果(只要我网络没有被全h)。我乐意分享,不需要你去关注任何账号,不强求任何人成为我的粉丝,也不需要你以任何形式购买源代码,只要你是个人学习用,或者通过我的代码能带给你身边的朋友开心快乐,我愿意为此尽一分力。

另,请尊重作者原创的不易,转载请注明来源。代码里请保留作者相关的版权信息。这些不会影响代码展示效果。

一、皮卡丘python turtle海龟成品效果图

当你知道得太多,当你独自清醒,当弱小善良的你无法逃脱某种无法言说的。。。时,当你孤单无助地面对强敌时,你会想起谁?谁会是那个信得过的战友?或许小精灵皮卡丘会是其中一个。皮卡丘总是能让自己保持快乐,也给人带来欢乐。它也会有情绪低落的时候,但它不会让这种情绪把自己打倒。

它并不厉害,但即使失败了,小小的它也会再度勇敢站起来,保护自己的朋友们。当有人难过时,它会在一旁暖心鼓励。皮卡丘让你相信它也同样爱着你。

虽然现实世界没有真的小精灵皮卡丘,但我们可以画一只,让它可爱的样子温暖每一个你。逆境清醒:愿你们都拥有一只会永远爱你的皮卡丘!

这次我用python turtle海龟绘图皮卡丘,效果如下:

没有底图的效果如下:

我会陆续用python turtle海龟绘图画一系列的皮卡丘动画,如果喜欢皮卡丘,可以多留意一下本专栏。

请尊重作者原创的不易,转载请注明来源。代码里请保留作者相关的版权信息。这些不会影响代码展示效果。

二、皮卡丘背景介绍

皮卡丘是生活中常见的卡通形象,没玩过游戏、没看过动漫,大抵也知道它的存在。

1996年,游戏《宝可梦 红/绿》在日本首次发行,玩家在虚拟世界里捕捉、训练小精灵们,和它们一起不断战斗和挑战。一众小精灵里最火的,当属皮卡丘,皮卡丘成为了宝可梦世界的主角,和主人公小智一路探险世界。(皮卡丘简介配图来源于网络,版权属原作者和版权公司,此处仅作介绍人物绘图前形象介绍用途)

三、皮卡丘卡角色形象

Pikachu 里 pika 是电火花的响声,chu 则是老鼠声音的拟声,插画师西田敦子在创作的时候,则是以松鼠为原型。参考了松鼠囤果实时的样子为皮卡丘画上了圆圆的脸——“仓鼠囤食物时整个身体都会变圆,但松鼠就只有脸颊会圆起来”。

皮卡丘擅长放电,是一只电气鼠,全身的皮毛都是黄色的,背上有两条褐色的条纹,尾巴是像锯齿状的闪电,与身体相接的部分也有一片褐色的皮毛。它有小小的嘴巴以及黑色的眼睛,脸颊上有着红色的电力袋,长长的耳朵尖端是黑色的。它的前爪短而粗,有五趾,后爪则只有三趾。越是能制造出强大电流的皮卡丘,脸颊上的囊就越柔软,同时也越有伸展性。由于它脸颊上的袋子中储存了电能,触摸了之后会觉得麻麻的。它跑动的时候是用四条腿着地快速地奔跑,但是更多时候它是站立着的并用两只后脚走路。

自第四世代起,皮卡丘开始具有性别差异,雄性的皮卡丘的尾巴末端平整,雌性皮卡丘的尾巴末端为心形。

它通过睡觉的方式给自己充电,当遇到危险时就会放电。它还会将尾巴竖起来,感知周围是否安全。皮卡丘害羞内向,未经允许触碰它就会被它电到。皮卡丘喜欢番茄酱,还喜欢吃苹果和浆果,遇到其他新的食物也一定会尝尝。

四、愿你拥有一只皮卡丘

一众小精灵里,皮卡丘不是最厉害的那一个。皮卡丘总是能让自己保持快乐,也给人带来欢乐。它也会有情绪低落的时候,但它不会让这种情绪把自己打倒。

它没有绝对厉害,也有很多的弱点。但即使在战斗里失败了,小小的它也会再度勇敢站起来,保护自己的朋友们。

一句“去吧,皮卡丘!”就足够让你对它充满信任。

当有人难过时,它会在一旁暖心鼓励。“之所以爱皮卡丘,是因为皮卡丘有很多时刻让你相信它也爱着你。”

皮卡丘和小智之间坚定而美好的友情也是吸引观众的另一个主要原因。他们是平日里一起幼稚玩闹的好伙伴。也会在需要的时候,给彼此一个大大的拥抱。两个人在一起,就可以勇敢地对抗冒险旅途中的一切危机。

五、Python 海龟画图主要方法

海龟绘图(turtle库)是python的内部模块,使用前导入即可 import turtle 库

海龟有几个关键属性:方向、位置和画笔属性

(1)海龟画图的主要步骤

通常我们绘图时

第一步,导入海龟库和绘图时可能用到的一些库,例如随机函数库random,numpy库等等,具体要看实际情况。

使用方法:

import turtle

import random

第二步,使用setup()设置画布尺寸

画布(canvas):

画布就是我们用于绘图的区域, 我们可以设置它的大小和初始位置

设置画布大小:

1. turtle.screensize(canvwidth=None, canvheight=None, bg=None)

参数分别为画布的宽(单位像素), 高, 背景颜色

turtle.screensize()默认大小(400, 300)

例如:turtle.screensize(800, 600, “black”)

2. turtle.setup(width=数值, height=数值, startx=None, starty=None)

setup()设置窗体大小及位置。

参数:

width, height:为整数时, 表示像素;

width, height:为小数时, 表示占据电脑屏幕的比例

turtle.setup(width=0.5, height=0.85, startx=None, starty=None)

turtle.setup(width=0.6, height=0.6)

(startx, starty): 这一坐标表示 矩形窗口左上角顶点的位置, 如果为空,则窗口位于屏幕中心

如:turtle.setup(width=800, height=800, startx=100, starty=100)

第三步,设置画笔

使用Pen()设定海龟画图对象,即画笔:turtle.Pen()

t = turtle.Pen()

使用t来代替turtle.Pen()。一劳永逸的做法,可简化输入代码。

(2)海龟画图的坐标体系

代码执行后就建立了画布,屏幕中间可以看见海龟 (箭头arrow)

在海龟绘图中,海龟的起点即画布中央为 (0,0),移动单位是像素 (pixel),海龟的头部是x轴方向,为0度。

turtle绘图中, 就是使用位置方向描述海龟(画笔)的状态

想象绘图区有一只机器海龟,起始位置在 x-y 平面的 (0, 0) 点。先执行 import turtle,再执行 turtle.forward(15),它将(在屏幕上)朝所面对的 x 轴正方向前进 15 像素,随着它的移动画出一条线段。再执行 turtle.right(25),它将原地右转 25 度。

描述海龟时使用了两个词语:坐标原点(位置),面朝x轴正方向(方向),

在画图过程中,如果没明确的指定坐标和角度,那此时所有的角度和位置都是相对的(相对于当前海龟的位置和角度)

画月饼常会用到画圆:turtle.circle(radius, extent=None, steps=None)

参数:

• radius -- 一个数值

• extent -- 一个数值 (或 None)

• steps -- 一个整型数 (或 None)

绘制一个 radius 指定半径的圆。

圆心在海龟左边 radius 个单位;

extent 为一个夹角,用来决定绘制圆的一部分。如未指定 extent* 则绘制整个圆。如果 *extent 不是完整圆周,则以当前画笔位置为一个端点绘制圆弧。如果 radius 为正值则朝逆时针方向绘制圆弧,否则朝顺时针方向。

最终海龟的朝向会依据 extent 的值而改变。

圆实际是以其内切正多边形来近似表示的,其边的数量由 steps 指定。

如果未指定边数则会自动确定。此方法也可用来绘制正多边形。

画一个半径为100的圆形,circle(100),注意画完后圆心位置不在原点。

(3)海龟画图的一些建议

a、使用海龟绘图可以编写重复执行简单动作的程序画出精细复杂的形状。

b、隐藏画笔;设置速度,可以画得更快些;

c、海龟绘图时的颜色代码可以参考下面链接

色彩颜色对照表系列(1~5)300种颜色,(16进制、RGB、CMYK、HSV、中英文名)

挑选出自己喜欢的颜色,拷贝相应的颜色代码值放入海龟颜色设置中。

六、海龟画图常用命令

1、初始化

2、画笔属性

3、画笔运动命令

4、 画笔颜色控制命令

5、全局控制命令

七、我的皮卡丘python turtle海龟绘图源代码

#-*- coding: UTF-8 -*-import turtle as t"""=================================================@Project ->Adversity Awake 皮卡丘系列@类别: 皮卡丘->皮卡丘之1@Author : 逆境清醒@Date : /10/26 23:02@Desc :/weixin_69553582================================================="""# 设置背景颜色,窗口位置以及大小t.colormode(255)# 颜色模式t.speed(0)t.screensize(800,800,"white")#画布大小背景颜色t.setup(width=800, height=800,startx=None, starty=None)#绘图窗口的大小和起始坐标#t.bgpic("di_2_800.gif")t.title("逆境清醒皮卡丘!")#设置绘图窗口的标题t.resizemode('noresize') #大小调整模式:auto,user,noresizet.tracer(1) t.hideturtle()def mlingpen(x, y):t.penup()t.goto(x, y)t.pendown()def mlingpkqface(x,y):mlingpen(x, y)t.pensize(3)t.pencolor("#923E24")t.fillcolor('#FBD624')t.begin_fill()t.seth(40)t.circle(100, 30)t.circle(40, 60)t.right(30)t.circle(160, 20)t.seth(-20)t.circle(300, 30)t.circle(30, 50)t.left(85)t.circle(300,85)t.left(1)t.circle(300,35)t.circle(30, 40)t.seth(40)t.circle(300,32)t.right(150)t.circle(100, 30)t.circle(30, 60)t.left(180)t.circle(100, 60)t.right(30)t.circle(100, 60)t.circle(70, 120)t.circle(-120, 80)t.circle(35,140)t.right(60)t.circle(300,23)t.right(60)t.fd(10)t.left(90)t.fd(10)t.right(60)t.fd(10)t.left(90)t.circle(30,23)t.right(60)t.fd(10)t.left(90)t.circle(90,80)t.right(170)t.circle(70,65)t.right(20)t.circle(-150,20)t.circle(20,90)t.right(200)t.circle(50,50)t.goto(x, y)t.end_fill()t.penup()t.goto(-72, -25)t.pendown()t.pencolor("#923E24")t.fillcolor("#923E24")t.begin_fill()t.seth(-6)t.circle(120, 30)t.right(160)t.circle(-50, 65)t.end_fill()mlingpen(209.21,135.02)t.pensize(3)t.pencolor("#000000")t.fillcolor('#000000')t.seth(145)t.begin_fill()t.circle(300,12)t.left(50)t.circle(60,59)t.left(88)t.circle(190,30)t.end_fill()mlingpen(-253.14,-105.48)t.pensize(3)t.pencolor("#000000")t.fillcolor('#000000')t.seth(40)t.begin_fill()t.circle(300,12)t.left(50)t.circle(60,57)t.left(88)t.circle(190,30)t.end_fill()def mlingpkqyingyinying():t.penup()t.seth(0)t.pensize(1)t.pencolor("#DDA120")t.fillcolor('#DDA120')t.begin_fill()t.left(220)mlingpen(-179,-90)t.circle(97, 60)t.circle(69, 122)t.circle(-120, 80)t.circle(33,135)t.left(90)t.circle(-25,150)t.left(175)t.circle(-60,140)t.left(175)t.circle(-60,100)t.right(5)t.circle(85,60)t.goto(-179,-90)t.end_fill()t.penup()t.penup()t.seth(0)mlingpen(115.87,-170.16)t.pencolor("#eca9a9")t.fillcolor('#eca9a9')t.begin_fill()t.left(45)t.circle(300,20)t.circle(8,155)t.left(3)t.circle(300,20)t.circle(9,155)t.goto(115.87,-170.16)t.end_fill()t.penup()def mlingpkqjiao():mlingpen(-215,-160)t.pensize(3)t.pencolor("#FBD624")t.fillcolor('#FBD624')t.begin_fill()t.seth(-30)t.circle(30,70)t.left(20)t.circle(-50,150)t.circle(10,160)t.circle(80,80)t.left(5)t.circle(75,110)t.goto(-210,-160)t.penup()t.end_fill()mlingpen(-149,-191)t.pensize(3)t.pencolor("#923E24")t.fillcolor('#FBD624')t.begin_fill()t.seth(0)t.left(40)t.circle(148,55)t.right(38)t.fd(20)t.left(128)t.fd(15)t.right(88)t.fd(15)t.left(128)t.fd(15)t.right(88)t.fd(15)t.left(128)t.fd(15)t.right(45)t.circle(130,60)t.circle(23,75)t.end_fill()mlingpen(-149,-180)t.pensize(3)t.pencolor("#eca9a9")t.fillcolor('#eca9a9')t.begin_fill()t.seth(0)t.left(45)t.circle(148,45)t.left(45)t.circle(15,110)t.right(18)t.circle(130,40)t.circle(17,100)t.end_fill()def mlingpkqcap():mlingpen(-210,95)t.pensize(4)t.pencolor("#000000")t.fillcolor('#CD0000')t.begin_fill()t.seth(290)t.circle(45,80)t.circle(345,30)t.circle(45,90)t.left(2)t.fd(120)t.left(45)t.circle(200,60)t.goto(-210,95)t.end_fill()t.left(175)t.circle(-290,50)t.pencolor("#000000")t.pensize(3)t.pencolor("#000000")t.fillcolor('#ffffff')mlingpen(-160,272)t.begin_fill()t.goto(-80,260)t.goto(-45,200)t.left(186)t.circle(230,41)t.goto(-210,200)t.goto(-180,270)t.goto(-160,272)t.end_fill()mlingpen(-175,265)t.seth(0)t.begin_fill()t.circle(13)t.end_fill()t.penup()mlingpen(-125,222)t.pensize(7)t.pencolor("#6ba65a")t.goto(-140,225)t.pensize(9)t.goto(-155,170)t.left(45)t.circle(-130,30)t.pensize(3)mlingpen(-205,96)t.pensize(3)t.pencolor("#ffffff")t.seth(286)t.circle(39,74)t.left(9)t.circle(331,32)t.circle(45,80)t.pensize(3)def mlingpkqeye():t.color("#000000","#702c00")mlingpen(-110, 24)t.begin_fill()t.seth(0)t.circle(24)t.end_fill()mlingpen(-110,31)t.color("black","black")t.begin_fill()t.circle(20)t.end_fill()t.color("white", "white")mlingpen(-105, 53)t.begin_fill()t.circle(8)t.end_fill()t.color("#000000","#702c00")mlingpen(0,62)t.begin_fill()t.seth(0)t.circle(24)t.end_fill()mlingpen(2,70)t.color("black","black")t.begin_fill()t.circle(20)t.end_fill()mlingpen(5,92)t.color("white", "white")t.begin_fill()t.circle(8)t.penup()t.end_fill()t.hideturtle()def mlingpkqcheek1():t.color("#9E4406", "#FE2C21")t.penup()t.goto(-130, -50)t.pendown()t.begin_fill()t.setheading(0)t.circle(27)t.end_fill()t.color("#9E4406", "#FE2C21")t.penup()mlingpen(53, -20)t.pendown()t.begin_fill()t.setheading(0)t.circle(27)t.end_fill()def mlingweiba(x,y):mlingpen(x, y)t.pensize(3)t.pencolor("#923E24")t.fillcolor('#CD853F')t.begin_fill()t.seth(40)t.fd(200)t.seth(-80)t.fd(150)t.seth(210)t.fd(150)t.left(90)t.fd(100)t.right(95)t.fd(100)t.left(110)t.fd(70)t.right(110)t.fd(80)t.left(110)t.fd(30)t.right(110)t.fd(32)t.right(106)t.circle(100, 25)t.right(15)t.circle(-300, 2)t.seth(30)t.fd(40)t.left(100)t.fd(70)t.right(100)t.fd(80)t.left(100)t.fd(46)t.seth(66)t.circle(200, 38)t.right(10)t.fd(10)t.end_fill()mlingpen(202,250)t.pensize(3)t.pencolor("#923E24")t.fillcolor('#FBD624')t.begin_fill()t.seth(220)t.fd(120)t.circle(75, 120)t.left(50)t.fd(110)t.end_fill()def mlingpkqcheek2(x, y, fx):mlingpen(x, y)t.seth(fx)t.pencolor("#840101")t.fillcolor('#CD0000')t.begin_fill()n = 1.8for i in range(120):if 0 <= i < 30 or 60 <= i < 90:n -= 0.05t.left(3)t.fd(n)else:n += 0.05t.left(3)t.fd(n)t.end_fill()def mlingpkqmouth():mlingpen(-60,20)t.pensize(3)t.pencolor("#923E24")t.seth(-48)t.begin_fill()t.circle(15,110)t.right(90)t.circle(15,110)t.seth(0)mlingpen(-50,45)t.circle(5,180)def mlingpkqshou1():mlingpen(-130,-30)t.pensize(3)t.pencolor("#923E24")t.fillcolor('#FBD624')t.seth(100)t.begin_fill()t.circle(130,30)t.right(100)t.fd(10)t.left(90)t.fd(10)t.right(60)t.fd(10)t.left(90)t.fd(10)t.right(30)t.fd(10)t.left(90)t.fd(10)t.right(30)t.fd(10)t.left(90)t.fd(10)t.right(50)t.circle(70,150)t.end_fill()mlingpen(-138,-67)t.pensize(2)t.pencolor("#DDA120")t.fillcolor('#DDA120')t.left(90)t.begin_fill()t.circle(40,40)t.left(10)t.circle(-60,70)t.left(40)t.circle(30,40)t.left(83)t.circle(70,110)t.end_fill()def mlingpkqshou2():mlingpen(0,-40)t.pensize(3)t.pencolor("#923E24")t.fillcolor('#FBD624')t.seth(200)t.begin_fill()t.circle(55,90)t.fd(10)t.left(90)t.fd(10)t.right(60)t.fd(10)t.left(90)t.fd(10)t.right(90)t.fd(10)t.left(90)t.fd(10)t.right(60)t.fd(10)t.left(90)t.fd(10)t.right(50)t.circle(60,80)t.end_fill()def mlingpkqball():mlingpen(-30,-250)t.pensize(3)t.pencolor("#000000")t.fillcolor('#CD0000')t.seth(0)t.begin_fill()t.circle(80)t.end_fill()mlingpen(-110,-170)t.seth(-90)t.pencolor("#000000")t.fillcolor('#ffffff')t.begin_fill()t.circle(80,180)t.end_fill()t.pensize(12)mlingpen(-105,-170)t.pencolor("#000000")t.goto(44,-170)t.pensize(3)mlingpen(-4,-170)t.pencolor("#000000")t.fillcolor('#000000')t.begin_fill()t.circle(28)t.end_fill()mlingpen(-11,-170)t.pencolor("#000000")t.fillcolor('#ffffff')t.begin_fill()t.circle(20)t.end_fill()mlingpen(-21,-170)t.pencolor("#000000")t.fillcolor('#ffffff')t.begin_fill()t.circle(10)t.end_fill()def main():mlingweiba(50,120)mlingpkqface(30,0)mlingpkqyingyinying()mlingpkqcap()mlingpkqcheek2(-140,-10,300)mlingpkqcheek2(60, 50,80)mlingpkqshou1()mlingpkqjiao()mlingpkqball()mlingpkqshou2()mlingpkqmouth()mlingpkqeye()t.color('#321320')t.penup()t.goto(260,-40)t.pendown()t.write("愿\n你\n拥\n有\n一\n只\n会\n永\n远\n爱\n你\n的\n皮\n卡\n丘\n",align="center",font=("黑体",15,"normal"))t.penup()t.goto(290,215)t.pendown()t.write("逆\n境\n清\n醒\n",align="center",font=("黑体",10,"normal"))if __name__ == '__main__':main()t.done()t.hideturtle()

如果你有自己喜欢的底图,可以将第19行的 “# t.bgpic("di_2_800.gif")” 这句里的图片文件名替换成你自己的图片文件名,记得将注释的 # 符号取消。

本例草莓熊绘制窗口大小是800*800,绘制环境是python 3.10。

推荐阅读:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。