实例:绘制一条蟒蛇

#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. matlab学习使用Button Group绘制不同的正弦曲线

    创建buttongroup控件---即按钮组 再添加三个radiobutton 对其设置 buttongroup控件改Title为绘制不同正弦曲线 第一个radiobutton的string改为sin ...

  2. mysql修改原始密码

    后期修改数据库用户的密码初始密码为自动生成,我们需要情况原始密码,再修改密码,mysqldmin -u root 只能用在修改为原始密码之后使用systemctl stop mysqldvim /et ...

  3. Redis学习笔记(二) - 主从复制

    概述 指将一台redis服务器上的数据,复制到其他redis服务器上,前者称为主服务器(master),后者称为从服务器(slave). 默认情况下主从关系为一对多关系. 数据复制是单向的,只能从主服 ...

  4. SpringBoot快速创建HelloWorld项目

    废话不多提,拿起键盘,打开 IDEA 就是一通骚操作. 打开 IDEA 后,首页选择 Create New Project,再接着按下图所示,快速搭建SpringBoot项目. 接下来将 Group ...

  5. 面试官问你如何解决web高并发这样回答就好了

    所谓高并发,就是同一时间有很多流量(通常指用户)访问程序的接口.页面及其他资源,解决高并发就是当流量峰值到来时保证程序的稳定性. 我们一般用QPS(每秒查询数,又叫每秒请求数)来衡量程序的综合性能,数 ...

  6. Codeforces 902D/901B - GCD of Polynomials

    传送门:http://codeforces.com/contest/902/problem/D 本题是一个数学问题——多项式整除. 对于两个整数a.b,求最大公约数gcd(a,b)的辗转相除法的函数如 ...

  7. 图论·Dijkstra·HDU2066

    这道题刚做的时候用的Floyd,果断超时,于是去学了Dijkstra,主函数和Floyd很像. 原理: 从起点开始,找最近的又未标记的点,记录距离,标记此点,再找此点附近相连的未标记的点,记录下距离, ...

  8. 使用PSI-probe监控tomcat7

    http://www.lambdaprobe.org/ http://blog.csdn.net/tanglei6636/article/details/70169153 http://blog.cs ...

  9. geos库交叉编译生成ARM平台库

    版本号信息: GEOS:geos-3.4.2.tar.bz2(http://trac.osgeo.org/geos/) CPU:ARM 编译器:arm-linux 4.2.2 1.  解压源代码包ge ...

  10. 《coredump问题原理探究》Linux x86版7.7节 set对象

    看一下bits/stl_map和bits/stl_set能够看到map和set的定义例如以下: 84 template <typename _Key, typename _Tp, typenam ...