最近,花了点时间,用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. 使用springboot devtools工具实现热部署

    一.在maven父工程pom文件中添加依赖 二.在子工程中添加依赖 三.在IDEA中勾选 Build project automatically项 四. Shift+Ctrl+Alt+/,选择Regi ...

  2. Java日期格式化带来的年份不正确

    BUG现场 一个线上项目之前一直运行得很稳定,从没出过数据错误的问题,但是在2021.12.26这天却"意外"地出现了数据计算错误. 刚开始一头雾水,不知道是什么问题,后来经过日志 ...

  3. 灵雀云发布云原生制品仓库Harbor企业版(Alauda Registry Service for Harbor)

      灵雀云发布云原生制品仓库Harbor企业版(Alauda Registry Service for Harbor) 近日,国内领先的云原生全栈私有云提供商灵雀云宣布,推出企业版云原生制品仓库Ala ...

  4. kibana7.x安装配置操作elasticsearch

    什么是Kibana? Kibana是一个基于Node.js的Elasticsearch索引库数据统计工具,可以利用Elasticsearch的聚合功能,生成各种图表,如柱形图,线状图,饼图等. 而且还 ...

  5. Rust学习(一)

    为什么学习Rust 最近在看Linux相关新闻的时候,看到了Linux内核正在将Rust集成至内核内的消息,且越来越多的嵌入式开发可以使用Rust编程.以往笔者的技术栈只有 C语言 ,C++也只是浅尝 ...

  6. 在KALI以外的Linux上安装KALI上的工具(ubuntu,debian)

    添加KALI源 vim /etc/apt/sources.list 在sources.list中加入 deb http://http.kali.org/kali kali-rolling main c ...

  7. seq2seq+torch7聊天机器人bug处理

    [C]: in function 'error' ...root1/torch/install/share/lua/5.2/rnn/recursiveUtils.lua:44: in function ...

  8. 从容器镜像的选择-alpine 说起

    在 容器崛起之前,Alpine 还是个无名之辈,可能是因为大家并不是很关心操作系统本身的大小,毕竟大家只关心业务数据和文档,程序.库文件和系统本身的大小通常可以忽略不计. 容器技术席卷整个软件产业之后 ...

  9. java内部类-局部内部类

    1 package face_09; 2 /* 3 * 内部类可以存放在局部位置上. 4 * 5 * 内部类在局部位置上只能访问局部中被final修饰的局部变量. 6 */ 7 /*class Out ...

  10. Java动态绑定和静态绑定-多态

    一.问题 Java方法调用过程中,Jvm是如何知道调用的是哪个类的方法?Jvm又是如何处理?   二.概念 a.当子类和父类(接口和实现类)存在同一个方法时,子类重写父类(接口)方法时,程序在运行时调 ...