实例:绘制一条蟒蛇

#turtle:绘图库(海龟库)
import turtle
turtle.setup(650,350,200,200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("purple")
turtle.seth(-40)
for i in range(4):
turtle.circle(40,80)
turtle.circle(-40,80)
turtle.circle(40,80/2)
turtle.fd(40)
turtle.circle(16,180)
turtle.fd(40*2/3)
turtle.done()

turtle库:入门级图形绘制库,标准库

  turtle绘图体系的python实现

  一只turtle在画布上游走,画布单位是像素

  文档链接:https://docs.python.org/3/library/turtle.html

绘图窗体相对于屏幕的位置:  

turtle.setup(width,height,startx,starty)#绘图窗体的大小和位置,不是必须的

turtle.setup(width,height)#绘图窗体默认在屏幕中间

坐标体系:

空间坐标体系:

  绝对坐标:初始位置在画布的正中心

     设置海龟爬行目的地:turtle.goto(100,100)

  

  海龟坐标:对于海龟自身视角而言

    改变海龟爬行方向:

    turtle.circle(r,angle)

    turtle.bk(d)#后退d

    turtle.fd(d)#前进d

  

角度坐标体系:

  改变海龟的行进角度

  绝对角度:相对于画布上是x轴

    turtle.seth(45)

  

  海龟角度:相对于海龟当前面向

    turtle.left(angle)

    turtle.right(angle)

  

色彩体系 

turtle是RGB色彩体系(默认采用小数值)

turtle.colormode(mode) #mode=1.0小数值,mode=255整数值

turtle.colormode(1.0)
turtle.pencolor(1,1,0.4)

 turtle库的语法元素分析

import

from 库 import 函数(*)#不用在前面加库名,但会导致函数名冲突

import 库 as 库的小名  #重新命名为简单的库名,常用

画笔控制函数

画笔操作后一直有效,一般成对出现turtle.penup() turtle.pendown()

画笔大小 turtle.pensize(width) = turtle,width(width)

画笔颜色 turtle.pencolor(color) #color为rgb或字符串,rgb元组值:

    (1,0.1,0.3) (“white”)((1,3,233))

运动控制函数:使海龟爬起来——画出线

运动路径函数(直线与曲线)

  turtle.forward(d) = turtle.fd(d)    #向前行进,d为负时倒退着行进

  turtle.circle(r,extent=none)    #曲线半径,圆心在海龟左侧r处,默认走整个圈

方向控制函数:绝对角度&相对角度

  只改变海龟转向!!

  绝对角度:相对于绝对坐标系中的x轴

    turtle.setHeading(angle) = turtle.seth(angle)

  相对角度:相对于海龟当前面向

    turtle.left(angle)

    turtle.right(angle)

 

 其他函数:

  speed(数字或者后面的保留字):设置绘制速度;“fastest”: 0  “fast”: 10 “normal”: 6 “slow”: 3 “slowest”: 1

    #注意 0 为最快【1,10】成山峰型 10以上则依然为最快,而且数字可以是浮点数

  clear():清空笔迹

  hideturtle():隐藏海龟

  

  

  

  

 

  

python课程设计笔记(三)turtle绘图库(海龟库)的更多相关文章

  1. python课程设计笔记(五) ----Resuests+BeautifulSoup (爬虫入门)

    官方参考文档(中文版): requests:http://docs.python-requests.org/zh_CN/latest/user/quickstart.html beautifulsou ...

  2. python课程设计笔记(四)整数、浮点数与字符串 time库

    整数类型(范围无限制) 十进制1 -1 二进制0b1 -0b1 八进制0o1 -0o1 十六进制0x1 -0x1 浮点类型(范围有限制但可忽略) 运算存在不确定尾数 :0.1+0.2!=0.3 原因: ...

  3. python课程设计笔记(二)破冰基本语法

    python两种编程方式:交互式与文件式 交互式:语法练习,输一条运行一条 文件式:通用,执行一组语句 注释 #单行注释  ...XXXXX...多行注释 逻辑 没有大括号,按缩进确定逻辑——缩进格数 ...

  4. python课程设计笔记(一)开发环境配置

    今天开始学python,一个月后交成果?还是希望自己不要浮躁,认真地去学,有所付出也不期望太大回报. 现在还是一脸懵逼的状态,看着教程一点点来吧= = 毕竟我是最棒的最发光的阳光彩虹小白马! 1. 去 ...

  5. 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL

    周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...

  6. Python课程设计 搭建博客

    安装包Github地址 Python综合设计 233博客 注意还有个email文件是需要填入自己信息的,比如最高权限账号和要发送邮件的账号密码 请安装Python2.7环境,本服务器所用环境为 设置环 ...

  7. Android课程设计第三天帧动画区间动画

    注意:课程设计只为完成任务,不做细节描述~ 点火是帧动画,发射是区间动画,于是 <?xml version="1.0" encoding="utf-8"? ...

  8. Python内置Turtle绘图库方法简介+多案例

    urtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的 ...

  9. [基础]斯坦福cs231n课程视频笔记(三) 训练神经网络

    目录 training Neural Network Activation function sigmoid ReLU Preprocessing Batch Normalization 权重初始化 ...

随机推荐

  1. eclipse中导入maven项目:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.proje

    org.codehaus.plexus.archiver.jar.Manifest.write(java.io.PrintWriter) 解决方法为:更新eclipse中的maven插件 1.help ...

  2. JDBC对MySQL数据库存储过程的调用

    一.MySQL数据库存储过程: 1.什么是存储过程 存储过程(英文:Stored Procedure)是在大型数据库系统中,为了完成特定功能而编写的一组的SQL语句集.存储过程经编译存储在数据库中,用 ...

  3. 安装 Ubuntu 14.04 之后要做的一些事

    转自:  http://www.cnblogs.com/marcowei/p/3841342.html 安装 ubuntu14.04 之后要做的一些事 前言: 用 ubuntu14.04 也有一段时间 ...

  4. URAL - 1114-Boxes (分步乘法原理)

    题意; 给你n个盘子,A个红球,B个黑球,放的时候没有限制,可以不放,可以放一个红球,可以放一个黑球,也可以两个同时放,可以有剩余的球. 求一共有多少放法. 思路: 可以利用分步乘法原理,红球和黑球是 ...

  5. SpringBoot中logback.xml使用application.yml中属性

    教你如何使用 springProfile 与 springProperty 让你的logback.xml 配置显得更有逼格,当别人还在苦苦挣扎弄logback-{profile}.xml的时候 你一个 ...

  6. poj2299--归并排序求逆序数

    /** \brief poj2299  *  * \param date 2014/8/5  * \param state AC  * \return memory 4640K time 3250ms ...

  7. 贪吃蛇c++实现

    近期没事翻了一下曾经写的程序.真是不堪入目.曾经真是什么都不懂.只是有一个程序倒是挺有意思的,大二的时候写的一个贪吃蛇游戏.尽管程序非常难看,还有非常多漏洞.但也是这个程序让我真正開始喜欢上了编程.不 ...

  8. 车载导航系统中GPS的定位

    首先购买的车载导航系统有GPS信号接受功能,能够接收GPS的经纬度信号,然后导航终端里面安装的导航地图能够非常详细的显示详细的经纬度坐标和地物信息.导航终端通过接收器接收到卫星24小时不间断发射的免费 ...

  9. Codeforces Round 313(div1)

    A题: 题目大意: 给出内角全为120度的六边形的六条边的边长,求由多少边长为1的等边三角形构成. 解题思路: 将六边形补全为一个大的等边三角形,则大的等边三角形的边长为六边形的相邻三边之和,接着减去 ...

  10. graphviz.js的图形及属性简单用法

    digraph A { graph[bgcolor="cadetblue" label="图的标题" fontsize=48 fontcolor="g ...