turtle是Python中的一个标准库(所以我们不需要另外安装哈),可以非常方面的进行基础图形的绘制,我们可以用它画樱花、画迷宫等很多有意思的图形,接下来我们就看看吧!

OK,废话不多说,我们今天就拿美国队长的盾牌入个门,为啥是它呢?因为简单呗,只有两个基础图形操作,基本绘图操作它都涉及了,不盘他盘谁。。。

在开始之前,我们先来分析一下,在我们实际生活中,我们画画需要用到什么东西?
画笔和纸呀,这不是废话嘛!没错,我们实际生活中要笔和纸进行绘图,那么在turtle中也是如此,我们接下来就看看turtle的笔和纸。

import turtle    # 导入turtle库turtle.setup(1000,1000,100,100)        # 设置画布大小
turtle.setup(宽像素,高像素,横坐标位置,纵坐标位置)turtle.mainloop()    # 保持画布一直存在

相信学过tkinter的同学对这几行语句应该不陌生,特别是最后一句,是一毛一样;恕我这里没有找到直接源码,不然我们对照库源码会比较容易理解!

现在我们有了纸,那么笔要怎么设置呢?

我们可以看在在画布的正中间出现了一个红色的箭头,那么这个就是我们画笔的初始形态,这里我们看不出画笔的粗细,那么我们画一条线来看一下:

import turtleturtle.setup(500,500,500,100)turtle.pensize(5)            # 设置画笔的粗细为5像素
turtle.color('red','red')    # 设置画笔的前景色为红色,背景色也为红色# 这里是什么意思呢?前景色就好比是我们的勾线,背景色就是我们填充的颜色turtle.forward(100)          # 朝画笔的方向画100像素的线段turtle.mainloop()

好了,现在画布和画笔都有了,我们就可以愉快的来画画了,我们先来看一下这盾牌是长啥样的:

我们可以看到,这玩意就是由四个圆和一个五角星构成的,四个圆大小不一,五角星在正中间;实际生活中画画,肯定是先画轮廓,然后再填充颜色,但是这里我们不是的,我们画一个填充一个,一层一层覆盖上去:

那么废话我们不多说,四个圆先走起:


我们之前也说了,画笔默认是在画布的正中央,这玩意转了一圈又回来了,我要是想再画一个小圆,那得挪位置呀!
画布正中央就是坐标(0,0),我们可以用turtle.goto(x,y),改变画笔位置!

import turtle
import timeturtle.setup(1000,1000,500,100)turtle.pensize(5)turtle.color('red','red')
turtle.begin_fill()        # 开始填充颜色
turtle.circle(200)         # 绘制一个半径为200的圆
turtle.end_fill()          # 填充颜色完毕turtle.goto(0,50)          # 将画笔移动到(0,50)的位置,即向上移动了50个像素点
turtle.color('white','white')
turtle.begin_fill()
turtle.circle(150)
turtle.end_fill()turtle.mainloop()

你不会准备一个圆写5行代码吧,这样的代码太冗余了,聪明的同学应该早就封装方法,到时候我们只需要告诉它参数就好了:

def circle(x,y,r,color):turtle.goto(x,y)turtle.color(color,color)turtle.begin_fill()turtle.circle(r)turtle.end_fill()
circle(0,0,200,'red')
circle(0,50,150,'white')
circle(0,100,100,'red')
circle(0,150,50,'blue')

现在我们已经把四个圆画好了,就差点亮小星星了,先别急,turtle中可没有直接绘制星形的方法哦!我们不妨回忆一下,我们生活中绘制五角星是怎么画的:

没错,其实就是五条线闭合起来就是五角星了,这里的难点是,五角星的每个角应该是多少度呢?

我们一步一步来看,首先五角星的正中间是个正五边形,那么每个角的度数就是(180*3/5=)108度,那么平角是180度,就可以得出相邻角是72度,等腰三角形底角相同,就可以得出五角星的每个角应该就是36度啦。

那么,现在我们已经知道角度了,我们就可以来画五角星了:
但是怎么旋转画笔呢?用turtle.right(角度)就可以了,这个方法的实际意思是顺时针旋转画笔;

def wjx(x,y,l,color):turtle.goto(x,y)turtle.color(color, color)turtle.begin_fill()for i in range(5):turtle.forward(l)turtle.right(144)        # 这里是不是很奇怪,我们不是算出是36嘛,这里怎么是144呢?# 这里不做解释,太傻,自己体会turtle.end_fill()
wjx(0,0,100,"white")

现在我们万事俱备只欠东风了,是不是小星星不好放呀,我也是找了好久的位置的:

import turtleturtle.setup(1000,1000)def circle(x,y,r,color):turtle.goto(x,y)turtle.color(color,color)turtle.begin_fill()turtle.circle(r)turtle.end_fill()
circle(0,0,200,'red')
circle(0,50,150,'white')
circle(0,100,100,'red')
circle(0,150,50,'blue')def wjx(x,y,l,color):turtle.goto(x,y)turtle.color(color, color)turtle.begin_fill()for i in range(5):turtle.forward(l)turtle.right(144)turtle.end_fill()
wjx(-48,216,95,"white")turtle.mainloop()

Python3 用turtle库学画画——(一)美国队长盾牌相关推荐

  1. Python3安装turtle库

    Python3安装turtle提示错误:Command "python setup.py egg_info" failed with error code 1 仔细查看安装turt ...

  2. Python3:turtle库绘制绿色的大树代码实现+动态樱花图

    下列代码是在python3实现的,python2版本可能会存在不兼容的问题: 大树的效果图如下: 实现代码如下: from turtle import * from random import * f ...

  3. python turtle库绘画_利用turtle库来画画

    #PythonDraw.py import turtle as t t.setup(650, 350, 200, 200) #设置画布位置以及长宽 t.penup() # 画笔抬起来 t.fd(-25 ...

  4. python通过turtle库绘制心形

    环境:python3.7 turtle库 python3.7可自行去官网下载 传送 其次,我们要在电脑上安装turtle库: 打开终端,输入pip install turtle即可开始下载. 两者都下 ...

  5. Python标准库:turtle库的简单快速入门

    在计算机二级Python的计算生态(其实也就是库)考察中,可以分为两大类:标准库和第三方库. 而标准库中明确要求掌握的就是turtle库和random库,第三方库大都是掌握其在各个常用领域的一些主流库 ...

  6. python画画用哪库好_Python我要学画画-turtle库

    上帝说:"要有光!" 于是,就有了光. ---<圣经>旧约·创世纪篇 我要学画画,Python便有了turtle库. turtle库是一个点线面的简单图像库.画布中心为 ...

  7. 用python画小黄人步骤图-学Python画画:应用Turtle库画一个蠢萌的小黄人

    学Python画画:应用Turtle库画一个蠢萌的小黄人 前言: 还记得小黄人哪只蠢萌蠢萌的单眼小黄人?就是喜欢做什么事都喜欢逞能的那只,下面用Python来实现一下,正在逃跑的小黄人.进群:7003 ...

  8. 用python画小黄人-学Python画画:应用Turtle库画一个蠢萌的小黄人

    学Python画画:应用Turtle库画一个蠢萌的小黄人 前言: 还记得小黄人哪只蠢萌蠢萌的单眼小黄人?就是喜欢做什么事都喜欢逞能的那只,下面用Python来实现一下,正在逃跑的小黄人.进群:7003 ...

  9. python绘制turtle心电图代码_python的生态系统是由标准库和第三方库组成的,turtle库是其标准库,所以不需要安装。_学小易找答案...

    [单选题]交通需求管理的英文缩写是( ). [判断题]turtle.goto(x,y)函数用于画直线,参数x,y表示画布上的坐标位置.turtle.forward(d)也可以画直线,表示沿着海龟当前的 ...

  10. 用python turtle画龙猫_【跟着弹簧学画画】教你一步步画出一只超萌的龙猫来!...

    原标题:[跟着弹簧学画画]教你一步步画出一只超萌的龙猫来! 龙猫,日文音译过来是豆豆龙,今天咱们就来画一个吧! 照旧先来感受下动态图↓ 1.先画耳朵,然后画出头部和身体,因为龙猫是圆滚滚的一只 画出胳 ...

最新文章

  1. 如果有人把支付宝的服务器炸了,你的两毛五是不是就没了?
  2. SVN1.6.5详细配置
  3. function admincp.php,通读审计之AACMS
  4. 【元胞自动机】基于matlab元胞自动机收费站交通问题【含Matlab源码 357期】
  5. 五月花计算机cD专业,成都五月花计算机专业学校的学费是多少?
  6. Spring Boot 2.x基础教程:进程内缓存的使用与Cache注解详解
  7. mysql-innodb笔记和Spring的那些事
  8. python 比对两个excel表数据_Python第17课:两个数据表如何比对碰撞?(二)
  9. office安装教程
  10. 我喜欢的乐队-Descending
  11. ASP.NET4.0中 ValidateRequest=false失效
  12. 【字体】写代码编程字体展示推荐
  13. 计算机网络通信技术的重要性,分析计算机网络通信技术的特点及应用效果
  14. 台湾大学林轩田教授机器学习基石课程理解及python实现----PLA
  15. matlab currentcharacter,新人求助。
  16. ESRI中国(北京)招聘售前技术工程师(招聘结束,谢谢大家!)
  17. UE4 高分辨率截图
  18. DataGear 国产开源BI
  19. 我和仙女们不可不说的故事-II
  20. 5号字对应的数字字号_5号字是多大(字体尺寸对照表mm)

热门文章

  1. 手机号获取验证码进行登录注册
  2. java8收费_java8为什么要收费?
  3. 实盘中在vnpy多策略多交易对交易
  4. EasyCVR人脸识别框在播放器上显示及消失的机制设定
  5. android模拟登陆,android,httpclient_Android模拟登录数据获取不了?无法传递?,android,httpclient,模拟登录 - phpStudy...
  6. DVR硬盘录像机技术
  7. unity学习之NGUI做NPC对话
  8. PHP语言25周年,PHP是世界上最好的语言
  9. springboot+vue开发小说网站及作品写作发布
  10. android问卷调查论文设计,基于 android问卷调查app开发与设计.pdf