最近,花了点时间,用python画图。

主要包括三部分,简单的静态图形,复杂的组合图形,图形动画。

(一)画静态图形

长方形,

圆,

三角形,

平行四边形,

五角星

(二)图形的组合

笑脸,

国旗,

贪吃蛇,

简笔画的鱼,

小猪佩奇

(三)图形动起来

风车,

起自行车,

吃豆人

比如,长方形代码如下:

import turtle as t
t.showturtle()
t.shape('turtle') t.fillcolor('yellow')
t.begin_fill()
t.fd(200) t.pencolor('blue')
t.left(90)
t.forward(100) t.pencolor('red')
t.left(90)
t.forward(200) t.pencolor('green')
t.left(45)
t.goto(0,0)
t.end_fill() t.hideturtle()

三角形的代码如下:

import turtle as t
t.showturtle()
t.forward(200)
t.left(120)
t.forward(200) t.left(120)
t.forward(200)
t.hideturtle()

其他代码需要的留下邮件地址,可以无偿提供。

总体上看,用python的turtle画图,不是很复杂。

  1. 首先要引入turtle库,这个库python安装的时候已经包括在安装包中,不需要安装。

    import turtle as t
  2. 设置画布大小

    可以通过turtle.screensize设置它的大小和初始位置;

    可以通过turtle.setup设置宽和高,以及矩形左上角顶点的位置。
  3. 画笔

    通过turtle.pencolor设置颜色

    通过turtle.pensize设置画笔宽度

    通过turtle.speed设置画笔移动的速度
  4. 填充

    通过turtle.fillcolor设置填充颜色

    通过turtle.begin_fill开始填充颜色

    通过turtle.end_fill完成填充
  5. 绘图

    通过turtle.fd向前移动画笔绘图

    通过turtle.bk向后移动画笔绘图

    通过turtle.right向右旋转一定角度

    通过turtle.left向左旋转一定角度

    通过turtle.goto移动到指定的位置,如果此时画笔是pendown状态,会画图

    通过turtle.pendown移动时候绘图

    通过turtle.penup抬起画笔,移动时不绘图

    通过turtle.circle画圆,或者画弧

    每个命令具体的参数,查看turtle的帮助:https://docs.python.org/zh-cn/3/library/turtle.html

下一篇,将介绍如何绘制复杂图形。

用python的turtle作图(一)静态图的更多相关文章

  1. 用python的turtle作图(二)动画吃豆人

    本文是用python的turtle作图的第二篇,通过这个例子可以了解动画的原理,用python自带的turtle库制作一些小动画. 1.问题描述 在上一篇"用python的turtle作图( ...

  2. python的turtle模块画折线图

    代码如下: import turtle yValues = [10.0,7.4,6.4,5.3,4.4,3.7,2.6] def main(): t = turtle.Turtle() t.hidet ...

  3. tensorflow 升级到1.9-rc0,生成静态图frozen graph.pb本地测试正常, 在其他版本(eg1.4版本)或者android下运行出错NodeDef mentions attr 'dilations' not in Op<name=Conv2D; signature=input:T, filter:T -> output:T; attr=T:type,allowed=[DT_

    这时节点定义找不到NodeDef attr 'dilations' not in,说明执行版本的NodeDef不在节点定义上,两个不一致,分别是执行inference的代码和生成静态图节点不一致(当然 ...

  4. 『MXNet』第六弹_Gluon性能提升 静态图 动态图 符号式编程 命令式编程

    https://www.cnblogs.com/hellcat/p/9084894.html 目录 一.符号式编程 1.命令式编程和符号式编程 2.MXNet的符号式编程 二.惰性计算 用同步函数实际 ...

  5. Dive into TensorFlow系列(1)-静态图运行原理

    接触过TensorFlow v1的朋友都知道,训练一个TF模型有三个步骤:定义输入和模型结构,创建tf.Session实例sess,执行sess.run()启动训练.不管是因为历史遗留代码或是团队保守 ...

  6. 【百度地图API】发布静态图API啦!只需一个网址,即可展示定制百度地图!

    原文:[百度地图API]发布静态图API啦!只需一个网址,即可展示定制百度地图! 摘要: 百度地图静态图API!您无须执行任何“特殊”操作便可在网页上显示此图片. 不需要 JavaScript.我们只 ...

  7. 【UML 建模】UML建模语言入门 -- 静态图详解 类图 对象图 包图 静态图建模实战

    发现个好东西思维导图, 最近开始用MindManager整理博客 . 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/deta ...

  8. Python使用turtle库与random库绘制雪花

    记录Python使用turtle库与random库绘制雪花,代码非常容易理解,画着玩玩还是可以的. 完整代码如下:   效果图如下:  

  9. python 常用turtle

    python 常用turtle 常用命令1 import turtle turtle.bgcolor("black") 设置背景颜色 turtle.onscreenclick(x, ...

随机推荐

  1. pymysql防止SQL注入的方法

    import pymysql class Db(object): def __init__(self): self.conn = pymysql.connect(host="192.168. ...

  2. Centos7 用户权限相关

    groups指的是多个用户组,一对多,test可能是其他用户组 /etc/passwd --记录系统用户信息文件 /etc/shadow --系统用户密码文件 /etc/group   --组用户记录 ...

  3. leetcode 206. 反转链表 及 92. 反转链表 II

    206. 反转链表 问题描述 反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1-> ...

  4. 《手把手教你》系列技巧篇(五十八)-java+ selenium自动化测试-分页测试(详细教程)

    1.简介 前几天,有人私信里留言问宏哥,分页怎么自动化测试了,完了给他说了说思路,不知道最后搞定没有,索性宏哥就写一篇文章来讲解和介绍如何处理分页. 2.测试场景 对分页来说,我们最感兴趣的和测试的无 ...

  5. 【pwn】学pwn日记——栈学习(持续更新)

    [pwn]学pwn日记--栈学习(持续更新) 前言 从8.2开始系统性学习pwn,在此之前,学习了部分汇编指令以及32位c语言程序的堆栈图及函数调用. 学习视频链接:XMCVE 2020 CTF Pw ...

  6. 神坑!为什么prometheus的pushgateway不能对上报的counter进行累加?

    部署了一个prometheus的pushgateway,然后两次对其发送counter类型的数据: #第一次发送 curl -X POST -d '# TYPE my_first_metric_ahf ...

  7. gin源码解读2-揭开gin的神秘面纱

    数据如何在gin中流转 func main() { gin.SetMode(gin.DebugMode) // 设置为开发模式 router := gin.Default() _ = router.S ...

  8. 前端页面禁止调试debugger方法汇总

    打开控制台直接跳转页面 //debug调试时跳转页面 var element = new Image(); Object.defineProperty(element,'id',{get:functi ...

  9. 寻找写代码感觉(十六)之 集成Validation做参数校验

    写在前面 今天是大年初五了... 不知不觉,又要上班了,美好的假期只剩一天了,有点不舍呢! 也不知道为什么,总感觉像在做梦一样,像没睡醒一样,并不是因为眼睛小,更多应该是自寻烦恼,想得多罢了. 参数校 ...

  10. Lesson8——Pandas reindex重置索引

    pandas目录 1 简介 重置索引(reindex)可以更改原 DataFrame 的行标签或列标签,并使更改后的行.列标签与 DataFrame 中的数据逐一匹配.通过重置索引操作,您可以完成对现 ...