turtle库是python的基础绘图库,这个库被介绍为一个最常用的用来介绍编程知识的方法库,其主要是用于程序设计入门,是标准库之一,利用turtle可以制作很多复杂的绘图。

  turtle名称含义为“海龟”,我们想象一只海龟,位于显示器上窗体的正中心,在画布上游走,它游走的轨迹就形成了绘制的图形。
海龟的运动是由程序控制的,它可以变换颜色,改变大小(宽度)等。

  

  • 绘图坐标体系

  turtle.setup(width,height,startx,starty)

  使用turtle的setup函数,可以在屏幕中生成一个窗口(窗体),设置窗体的大小和位置,这个窗口就是画布的范围。

  • 画笔控制函数
  1. penup():抬起画笔;
  2. pendown():落下画笔;
  3. pensize(width):画笔宽度;
  4. pencolor(color):画笔颜色;
  • 运动控制函数

  1.直线       

    turtle.forward(d) # turtle.fd(d) d为参数行进距离 控制画笔向前走d长度的直线 d可以为负数,表示向后运动。

  2.曲线

    turtle.circle(r,extent=None) # 根据半径r绘制extent角度的弧形 r 默认圆心在画笔左端点距离r长度的地方extent是绘制的角度,默认绘制完整的圆形

    turtle.circle(100) # 在画笔的左侧(也就是上方)100距离的位置上然后以弧形来运动,没有设置extent参数,因此会绘制整个圆形

    turtle.circle(-100,90) #圆心在画笔的右侧100距离(也就是下方)上,然后extent为90,因此绘制一个90度的弧形。

  • 方向控制函数
 绝对角度转向函数
   turtle.setheading(angle) # turtle.seth(angle) 改变画笔的面向的角度( 初始方向是画布的正右方) 参数angle是绝对坐标系的角度 画笔角度转向函数
   turtle.left(angle) # 向左转angle度
   turtle.right(angle) # 向右转angle度
  • 实例

  代码:

  #coding=utf-8
  #绘制蟒蛇
  import turtle
  turtle.penup()
  turtle.pencolor("blue")
  turtle.forward(-250)
  turtle.pendown()
  turtle.pensize(10)
  turtle.right(45)
  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()

  运行结果:

最新文章

  1. 学习总结relative和absolute
  2. AC日记——大小写字母互换 openjudge 1.7 14
  3. Entity Framework 使用
  4. 【poj1006-biorhythms】中国剩余定理
  5. 【Shell脚本学习13】Shell数组:shell数组的定义、数组长度
  6. 【学习总结】声明变量在@interface括号中与使用@property的区别
  7. xcode 6.3 打包crash问题--参考
  8. Move can only be called on an active agent that has been placed a Navmesh的解决办法
  9. FE: Sass and Bootstrap 3 with Sass
  10. c++基础五个题(三)
  11. c语言(3)--运算符&表达式&语句
  12. 解决MVC中JsonResult返回 弹出文件下载对话框
  13. linux的 压缩与解压 命令集
  14. 关于Strategy和State设计模式
  15. 好文:javascript中的四种循环
  16. Swift Protobuf 初探 —— 继 XML 后,JSON 也要被淘汰了吗
  17. like to do vs like doing
  18. ROS文件系统介绍--2
  19. 关于validate的自定义样式
  20. vue项目如何实现剪切板功能--vue-clipboard2

热门文章

  1. 基于队列queue实现的线程池
  2. 反射,Expression Tree,IL Emit 属性操作对比
  3. Android开发:为什么我们从来不去感谢开源项目维护者?
  4. Python集训营45天—Day03
  5. 三句话告诉你break、return、continue!
  6. HttpClient远程接口调用-实名认证
  7. Android 正 N 边形圆角头像的实现
  8. Java异常详谈
  9. Redis数据库之服务器主从配置
  10. Google AppCrawler初探