最近,花了点时间,用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. How to run a batch file each time the computer loads Windows

    https://www.computerhope.com/issues/ch000322.htm#:~:text=Press Start%2C type Run%2C and press Enter. ...

  2. [ flask ] 解耦models(解决models文件太臃肿的问题)

    问题描述 用博客项目来描述,我们在models中定义了用户表(User).文章表(Post).通知表(Notification).等等.随着我们开发的深入,添加的功能越来越多,到后期models文件会 ...

  3. 第10组 Beta冲刺 总结(组长)

    1.基本情况 组长博客链接:https://www.cnblogs.com/cpandbb/p/14050808.html 答辩总结: ·因为alpha阶段的产品做得偏离了方向,所以beta冲刺大家非 ...

  4. Python操作数据库实战

    pymysql # -*- coding: utf-8 -*- """ @Datetime: 2018/12/26 @Author: Zhang Yafei " ...

  5. 在实验中观察指针——C++ 函数参数的压栈顺序

    前言 好久没写东西了,突发奇想,写写函数参数的压栈顺序 先看看这个问题 https://q.cnblogs.com/q/137133/ 然后看我简化的代码,猜输出结果是多少? #include< ...

  6. 历时5月,Kubernetes1.19正式发布 !Ingress迎来GA,存储容量跟踪新特性

    我们迎来了Kubernetes1.19,这是2020年发布的第二个版本,也是迄今为止最长的发布周期,总共持续了20周.它包括33个增强功能:12个增强功能达到稳定版,18个增强处在beta版,还有13 ...

  7. 最新RabbitMQ安装指南2021.07

    一.RabbitMQ入门及安装 1.入门及安装 01 概述 简单概述: RabbitMQ是一个开源的遵循 AMQP协议实现的基于 Erlang语言编写,支持多种客户端(语言),用于在分布式系统中存储消 ...

  8. 【Java】静态与非静态

    文章目录 静态与非静态 static关键字 使用static修饰属性:静态变量(或类变量) 类变量与实例变量的内存解析 使用static修饰方法:静态方法 使用static的注意点 开发中,如何确定一 ...

  9. 【get√】golang新手理解了一点点context

    测试代码如下: package practice import ( "context" "log" //"fmt" "time&q ...

  10. unity3d,java,c#,python,rospy的socket通信测试

    1.C#在与其他人通信时,最好不要用tcpclient来承接其他语言,会收不到用户名,最好都用socket. 2.unity3d在与java通信时,对方返回我unity3d发的数据流会打印收到一个类, ...