树木


如上所示,这样一幅图,可以清晰地看出整个图形由两个规则图形组成,即矩形和等腰三角形。

使用turtle进行绘制的时候,可按如下顺序进行:

代码如下:

  1. 首先导入库包

import turtle as t
import math as m 
  1. 进行基础设置

t.setup(600,600) # 窗口大小及位置的设置
t.hideturtle() # 隐藏代表乌龟的箭头图标
t.speed(0) # 绘图速度设置为最快
  1. 绘制代表树叶的等腰三角形

t.penup() # 抬笔
t.goto(-50,-100) # 让乌龟移动到坐标为(-50,-100)的位置
t.setheading(0) # 设置乌龟的朝向
t.pendown() # 落笔
t.begin_fill() # 开始填充。想要对图形进行填充,就必须在这个图形刚开始画前写上此函数
t.fillcolor('dark green') # 设置填充颜色
t.pencolor('dark green') # 设置笔迹的颜色,即图形边线的颜色
t.forward(100) # 前进
t.setheading(105) # 改变朝向
t.forward(50 / m.sin(15 / 180 * m.pi)) # 前进
t.setheading(255) # 改变朝向
t.forward(50 / m.sin(15 / 180 * m.pi)) # 前进
t.end_fill() # 结束填充。开始填充和结束填充成对出现

此处需要使用到math库的sin函数,需要注意的是它的参数是弧度制的,不是角度制。

  1. 绘制代表树干的矩形

t.penup()
t.goto(-20,-100)
t.pendown()
t.setheading(0)
t.pencolor('brown')
t.begin_fill()
t.fillcolor('brown')
for i in range(2):t.forward(40)t.right(90)t.forward(60)t.right(90)
t.end_fill()

这边主要用到一个循环结构,for语句,矩形的绘制可以按一长一宽的顺序分为两部分,也就是循环两次。


整体代码:

import turtle as t
import math as m t.setup(600,600)
t.hideturtle()
t.speed(0)t.penup()
t.goto(-50,-100)
t.setheading(0)
t.pendown()
t.begin_fill()
t.fillcolor('dark green')
t.pencolor('dark green')
t.forward(100)
t.setheading(105)
t.forward(50 / m.sin(15 / 180 * m.pi))
t.setheading(255)
t.forward(50 / m.sin(15 / 180 * m.pi))
t.end_fill()t.penup()
t.goto(-20,-100)
t.pendown()
t.setheading(0)
t.pencolor('brown')
t.begin_fill()
t.fillcolor('brown')
for i in range(2):t.forward(40)t.right(90)t.forward(60)t.right(90)
t.end_fill()t.done()

山峦


这个图案比上面的图更为简单一些,只需绘制两个交叠的等边三角形即可,整体代码如下:

import turtle as t t.setup(600,600)
t.hideturtle()
t.speed(0)t.penup()
t.goto(-100,0)
t.pendown()
t.setheading(0)
t.pencolor('dark green')
t.begin_fill()
t.fillcolor('dark green')
for i in range(3):t.forward(100)t.left(120)
t.end_fill()t.penup()
t.goto(-30,0)
t.pendown()
t.setheading(0)
t.pencolor('dark green')
t.begin_fill()
t.fillcolor('dark green')
for i in range(3):t.forward(80)t.left(120)
t.end_fill()t.done()

由于是正三角形,十分规则,每条边的长度和每个角的角度都是相等的,又可利用循环结构来简化绘制。


标识


这张图用到一个不同的图形——圆,可以使用circle()函数来实现;另一个需要注意的就是,这是圆与矩形的重叠,且两者的颜色不一样,这就需要我们思考一下绘制的顺序。

只有先绘制出填充为红色的圆,而后再绘制白色填充的矩形,方能达到此效果;若是先绘制矩形,再绘制圆,则圆在矩形的上层,将矩形覆盖住,便只能看见填充为红色的圆。

整体代码:

import turtle as t t.setup(600,600)
t.hideturtle()
t.speed(0)t.penup()
t.goto(0,-100)
t.pendown()
t.setheading(0)
t.pencolor('red')
t.begin_fill()
t.fillcolor('red')
t.circle(100)
t.end_fill()t.penup()
t.goto(-80,-10)
t.pendown()
t.pencolor('white')
t.setheading(0)
t.begin_fill()
t.fillcolor('white')
for i in range(2):t.forward(160)t.left(90)t.forward(20)t.left(90)
t.end_fill()t.done()

【Python】turtle绘图(1)——简易图形相关推荐

  1. python turtle循环图案-有趣的Python turtle绘图

    原标题:有趣的Python turtle绘图 Python Turtle是Python的一个编程教育类库,越来越受到教育者的关注,近日,以"智能时代,逐梦成长"为主题的第5届全国青 ...

  2. pythonturtle简单绘图_10分钟轻松学会 Python turtle 绘图

    10分钟轻松学会 Python turtle 绘图 python2.6版本中后引入的一个简单的绘图工具,叫做海龟绘图(Turtle Graphics),turtle库是python的内部库,使用导入即 ...

  3. python创意绘图-有趣的Python turtle绘图

    原标题:有趣的Python turtle绘图 Python Turtle是Python的一个编程教育类库,越来越受到教育者的关注,近日,以"智能时代,逐梦成长"为主题的第5届全国青 ...

  4. 十分钟轻松学会python-10分钟轻松学会python turtle绘图

    python2.6版本中后引入的一个简单的绘图工具,叫做海龟绘图(Turtle Graphics),turtle库是python的内部库,使用导入即可 import turtle 先说明一下turtl ...

  5. Python Turtle绘图 鼠年画老鼠爷

    Python Turtle绘图 鼠年画老鼠爷 前言 效果图 必要知识 源代码 后记 前言 本文介绍的是如何运用Python的turtle画一只老鼠.为什么会无聊想到做这个呢?还不是想获得24小时的请假 ...

  6. Python Turtle绘图基础(三)——Turtle色彩和画笔设置

    今天继续给大家介绍Python相关知识,本文主要内容是Python Turtle绘图基础(三),包括Turtle色彩和Turtle画笔设置. 一.Turtle色彩设置 想要用Turtle绘制出更加复杂 ...

  7. python turtle 绘图速度用函数会快吗_有趣的Python turtle绘图

    专 题 Feature Story 16 \ China Science & Technology Education 文 _ 毛京宇/北京师范大学第三附属中学 魏云靖/北京市师达中学 有趣的 ...

  8. Python Turtle绘图[难度2星]:甜美棒棒糖(基础效果 / 加描边优化)

    我喜欢turtle绘图,因为代码一点点的改动,总会带来意想不到的惊喜. 一些让我心动过的案例,分享给大家,也珍藏给自己. --Python教学路上的爬行者    案例1:棒棒糖(基础效果)       ...

  9. Python Turtle绘图[难度3星]:24节气倒计时(2.使用字典存储数据)

    "我喜欢turtle绘图,因为代码一点点的改动,总会带来意想不到的惊喜. 一些让我心动过的案例,分享给大家,也珍藏给自己." -- 初中信息技术教师  许华丽 Python Tur ...

  10. 巴斯光年python turtle绘图__附源代码

    巴斯光年python turtle绘图__附源代码 本文目录: 一.python turtle海龟绘图效果图 写在前面的题外话 二.绘图人物简介 三.代码演示方法和代码命令解释 四.怎么才能正常运行p ...

最新文章

  1. IOS沙盒Files目录说明和常用操作
  2. 详解Spring MVC 4之ViewResolver视图解析器
  3. HTML5-WebSocket实现聊天室
  4. Android Studio 开始运行错误
  5. Spring Boot 中使用 @Transactional 注解配置事务管理
  6. python raise用处_python基础教程python raise的基本使用
  7. 在 linux 下安装 Mysql 的详细过程
  8. 字符串资源的内部格式
  9. c语言数字按键消息响应',c语言程序使用钩子拦截键盘消息的有关问题
  10. Python时间处理完全手册
  11. list转json字符串
  12. 基于electron和ffmpeg下载rtmp直播流
  13. 散讲:IT 技术团队的绩效考核
  14. 关于前端SPA(单页面应用)
  15. 200行代码实现N子棋(以五子棋为例)
  16. java获取response_java response响应设置 java怎么获取response
  17. 如何在无线路由器下,再接无线路由器?
  18. Python 后台启动程序
  19. NFT 的潜力:扩展的艺术品鉴定证书
  20. 您好,高雅症患者 穆穆-movno1推荐

热门文章

  1. linux df和du命令
  2. NYOJ-97:兄弟郊游问题
  3. python爬虫实践之爬取美女图片
  4. 目标跟踪评价指标-精度Pr、召回率Re
  5. GridBagLayout 以及 GridBagConstraints 用
  6. 抖音怎样导流到微信?抖音跳转页引导加微信的设置
  7. 内网上传大文件的解决方案
  8. Arduino编译错误解决办法:fork/exec:…\arm-none-eabi-g++.exe: The filename or extension is too long
  9. webGL编程指南实战教程
  10. 如何处理各类空指针问题 NullpointException?