一、画笔

  在画布上,默认画布中心为坐标原点,且隐藏着一个直角坐标系,小海龟的初始正方向规定为X轴的正方向。使用小海龟绘图时,确定方向与距离进行绘制图像。

1.画笔自身属性

命令 说明
turtle.pensize() 设置画笔的宽度
turtle.pencolor() 设置画笔的颜色,可以使用“black”“red”或者RGB3元组
turtle.speed() 设置画笔的移动速度,参数的范围在[0,10]之间的整数,数字越大,速度越快

2.画笔运动属性

命令 说明
turtle.forward(distance) 向当前画笔方向移动distance像素长
turtle.backward(distance) 向当前画笔相反方向移动distance像素长度
turtle.right(degree) 顺时针移动degree°
turtle.left(degree) 逆时针移动degree°
turtle.pendown() 移动时绘制图形,缺省时也为绘制
turtle.goto(x,y) 将画笔移动到坐标为x,y的位置
turtle.penup() 移动时不绘制图形,提起笔,用于另起一个地方绘制时用
turtle.speed(speed) 画笔绘制的速度范围[0,10]整数
turtle.circle() 画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆

3.画笔的控制命令

命令 说明
turtle.pensize(width) 绘制图形时的宽度
turtle.pencolor() 画笔颜色
turtle.fillcolor(colorstring) 绘制图形的填充颜色
turtle.color(color1, color2) 同时设置pencolor=color1, fillcolor=color2
turtle.filling() 返回当前是否在填充状态
turtle.begin_fill() 准备开始填充图形
turtle.end_fill() 填充完成;
turtle.hideturtle() 隐藏箭头显示;
turtle.showturtle() 与hideturtle()函数对应

4.其他操作:

turtle.hideturtle()   # 隐藏小海龟画笔
turtle.mainloop()     # 保留最后图像

二、图像展示

1.Mercedes LOGO

       

    奔驰标志 1.0

        

    奔驰标志 2.0

 

                  奔驰标志 3.0

附 3.0版本代码如下:

import turtle as t
import time
R = 150
r = R - 10t.pensize(10)
t.color("black","white")
t.speed(10)
t.circle(R,360) # 画圆圈
t.penup()
t.left(90)
t.forward(R)
t.pensize(1)
t.pendown()
t.forward(R)
t.pensize(1)
t.fillcolor("black")
# 左侧三角形
t.begin_fill()
t.left(170)
t.forward(r)
t.right(180)
t.forward(r)
t.right(170)
t.forward(R)
t.right(60)
t.forward(R)
t.right(170)
t.forward(r)
t.end_fill()
# 下面三角形
t.right(180)
t.forward(r)
t.begin_fill()
t.left(160)
t.forward(r)
t.right(180)
t.forward(r)
t.right(170)
t.forward(R)
t.right(60)
t.forward(R)
t.right(170)
t.forward(r)
t.end_fill()
# 右边三角形
t.right(180)
t.forward(r)
t.begin_fill()
t.left(160)
t.forward(r)
t.right(180)
t.forward(r)
t.right(170)
t.forward(R)
t.right(60)
t.forward(R)
t.right(170)
t.forward(r)
t.end_fill()t.hideturtle() # 隐藏小海龟画笔
t.mainloop() # 保留图像

奔驰标志3.0代码

2. 画方格

# 画方格
import turtle as t
t.pensize(1)
for i in range(1,300,2):t.left(90)t.fd(i*2)

3.来盘蚊香

import turtle as t
import timeR = 150t.speed(100)
t.pensize(3)
t.color("blue")for i in range(50):t.circle(R-i*3, 180)

4.Tencent LOGO

     公企鹅效果图 

       母企鹅效果图

附企鹅代码:

import turtle
import timedef head():#配置画笔属性turtle.fillcolor("black")turtle.color("black")turtle.colormode(255)turtle.speed(1)#绘制母企鹅头部
    turtle.penup()turtle.goto(-300,350)turtle.seth(0)turtle.pendown()turtle.begin_fill()turtle.circle(-200,-110)   turtle.penup()turtle.goto(-300,350)turtle.pendown()turtle.seth(0)turtle.circle(-200,110) turtle.seth(213)turtle.circle(-345,66)turtle.end_fill()def lefteye():#配置画笔属性
    turtle.Turtle().screen.delay(0)turtle.fillcolor("white")turtle.speed(1)turtle.colormode(255)#绘制母企鹅的左眼
    turtle.pu()turtle.goto(-350,275)turtle.seth(180)turtle.pd()turtle.begin_fill()#画椭圆a=1.0for i in range(120):if 0<=i<30 or 60<=i<90:a=a+0.08turtle.lt(3) #向左转3度turtle.fd(a) #向前走a的步长else:a=a-0.08turtle.lt(3)turtle.fd(a)turtle.pu()turtle.end_fill()#绘制左眼眼影
    turtle.begin_fill()turtle.fillcolor("pink")turtle.pu()turtle.goto(-378,255)turtle.pendown()turtle.color("pink")turtle.seth(15)turtle.circle(-100,35)turtle.pu()turtle.goto(-350,275)turtle.seth(180)a=1for i in range(20):if 0<=i<30 or 60<=i<90:a=a+0.08turtle.lt(3) turtle.fd(a) else:a=a-0.08turtle.lt(3)turtle.fd(a)turtle.goto(-350,275)turtle.seth(0)a=1for i in range(20):if 0<=i<30 or 60<=i<90:a=a+0.08turtle.rt(3) turtle.fd(a) else:a=a-0.08turtle.lt(3)turtle.fd(a)turtle.pu()turtle.end_fill()#绘制睫毛
    turtle.pu()turtle.goto(-350,275)turtle.seth(180)turtle.pd()a=1for i in range(20):if 0<=i<30 or 60<=i<90:a=a+0.08turtle.lt(3) turtle.fd(a) else:a=a-0.08turtle.lt(3)turtle.fd(a)turtle.pensize(3)turtle.color(242,156,177)turtle.circle(-20,190)turtle.pensize(1)#绘制母企鹅的左眼珠turtle.color("black")turtle.fillcolor("black")turtle.begin_fill()turtle.pu()turtle.goto(-330,245)turtle.seth(180)turtle.pd()turtle.begin_fill() a=0.01for i in range(120):if 0<=i<30 or 60<=i<90:a=a+0.05turtle.lt(3) turtle.fd(a) else:a=a-0.05turtle.lt(3)turtle.fd(a)turtle.pu()turtle.end_fill()def righteye():#配置画笔属性
    turtle.Turtle().screen.delay(0)turtle.fillcolor("white")turtle.speed(1)turtle.colormode(255)#绘制母企鹅的右眼
    turtle.pu()turtle.goto(-250,275)turtle.seth(180)turtle.pd()turtle.begin_fill()a=1.0for i in range(120):if 0<=i<30 or 60<=i<90:a=a+0.08turtle.lt(3) turtle.fd(a) else:a=a-0.08turtle.lt(3)turtle.fd(a)turtle.pu()turtle.end_fill()#绘制右眼眼影
    turtle.begin_fill()turtle.fillcolor("pink")turtle.pu()turtle.goto(-278,255)turtle.pendown()turtle.color("pink")turtle.seth(15)turtle.circle(-100,35)turtle.pu()turtle.goto(-250,275)turtle.seth(180)a=1for i in range(20):if 0<=i<30 or 60<=i<90:a=a+0.08turtle.lt(3) turtle.fd(a) else:a=a-0.08turtle.lt(3)turtle.fd(a)turtle.goto(-250,275)turtle.seth(0)a=1for i in range(20):if 0<=i<30 or 60<=i<90:a=a+0.08turtle.rt(3) turtle.fd(a) else:a=a-0.08turtle.lt(3)turtle.fd(a)turtle.pu()turtle.end_fill()#绘制睫毛
    turtle.pu()turtle.goto(-250,275)turtle.seth(0)turtle.pd()a=1for i in range(20):if 0<=i<30 or 60<=i<90:a=a+0.08turtle.rt(3) #向左转3度turtle.fd(a) #向前走a的步长else:a=a-0.08turtle.lt(3)turtle.fd(a)turtle.pensize(3)turtle.color(242,156,177)turtle.circle(20,190)turtle.pensize(1)#绘制母企鹅的右眼珠turtle.color("black")turtle.fillcolor("black")turtle.begin_fill()turtle.pu()turtle.goto(-270,245)turtle.seth(180)turtle.pd()turtle.begin_fill() a=0.01for i in range(120):if 0<=i<30 or 60<=i<90:a=a+0.05turtle.lt(3) turtle.fd(a) else:a=a-0.05turtle.lt(3)turtle.fd(a)turtle.pu()turtle.end_fill()def mouth():#配置画笔属性turtle.fillcolor((250,175,8)) turtle.color((250,175,8))turtle.speed(1)turtle.colormode(255)#绘制母企鹅的嘴巴
    turtle.pu()turtle.goto(-410,120)turtle.seth(30)turtle.pd()turtle.begin_fill() turtle.circle(-225,60)turtle.circle(-8,150)turtle.seth(210)turtle.circle(-225,60)turtle.seth(-210)turtle.circle(-8,150)turtle.pu()turtle.end_fill()def bowknot():#配置画笔属性turtle.speed(1)turtle.fillcolor("pink")turtle.pu()turtle.color("pink")turtle.goto(-250,360)turtle.pd()turtle.seth(225)#绘制蝴蝶结的上半部分
    turtle.begin_fill()turtle.fillcolor("pink")turtle.pu()turtle.goto(-250,360)turtle.pd()turtle.circle(-70,100)turtle.seth(50)turtle.circle(-80,53)turtle.pu()turtle.goto(-250,360)turtle.seth(50)turtle.pd()turtle.circle(70,100)turtle.seth(225)turtle.circle(80,53)turtle.end_fill()#绘制蝴蝶结下半部分
    turtle.pu()turtle.goto(-195,335)turtle.pd()turtle.begin_fill()turtle.fillcolor("pink")turtle.seth(45)turtle.circle(-70,100)turtle.seth(230)turtle.circle(-80,62.5)turtle.pu()turtle.goto(-195,335)turtle.seth(225)turtle.pd()turtle.circle(70,100)turtle.seth(50)turtle.circle(80,58)turtle.end_fill()#蝴蝶结的中间部分
    turtle.begin_fill()turtle.fillcolor("pink")turtle.pu()turtle.color("pink")turtle.goto(-255,370)turtle.pd()turtle.seth(225)turtle.circle(40,360)turtle.end_fill()def scarf():#配置画笔属性turtle.fillcolor("pink") turtle.color("pink")turtle.speed(1)turtle.colormode(255)#绘制围巾
    turtle.pu()turtle.goto(-489,82)turtle.seth(-115)turtle.pd()turtle.begin_fill() turtle.fd(75)turtle.seth(-30)turtle.circle(450,10)turtle.seth(-90)turtle.fd(100)turtle.seth(-35)turtle.circle(50,70)turtle.seth(90)turtle.fd(95)turtle.seth(-12)turtle.circle(450,40)turtle.seth(110)turtle.fd(70)turtle.seth(213)turtle.circle(-345,64)turtle.pu()turtle.end_fill() def body():#配置画笔属性turtle.fillcolor("black") turtle.color("black") turtle.speed(1)turtle.colormode(255)#绘制母企鹅的身体
    turtle.pu()turtle.goto(-489,82)turtle.seth(-115)turtle.pd()turtle.begin_fill() turtle.fd(175)turtle.circle(120,40)turtle.seth(30)turtle.circle(200,40)turtle.seth(-90)turtle.circle(174,180)turtle.seth(-70)turtle.circle(200,40)turtle.seth(70)turtle.circle(120,43)turtle.fd(175)turtle.seth(213)turtle.circle(-345,66)turtle.pu()turtle.end_fill()def feet():#配置画笔属性turtle.fillcolor((250,175,8)) turtle.color((250,175,8)) turtle.speed(1)turtle.colormode(255)#绘制母企鹅的左脚
    turtle.pu()turtle.goto(-300,-228)turtle.seth(180)turtle.pd()turtle.begin_fill() turtle.fd(200)turtle.circle(-10,120)turtle.circle(-120,40)turtle.pu()turtle.end_fill()#绘制母企鹅的右脚
    turtle.pu()turtle.goto(-300,-228)turtle.seth(0)turtle.pd()turtle.begin_fill() turtle.fd(200)turtle.circle(10,120)turtle.circle(120,50)turtle.pu()turtle.end_fill()def belly():#配置画笔属性turtle.fillcolor("white") turtle.color("white") turtle.speed(1)turtle.colormode(255)#绘制母企鹅的白色肚皮
    turtle.pu()turtle.goto(-305,28)turtle.seth(180)turtle.pd()turtle.begin_fill() #画椭圆a=4.5for i in range(120):if 0<=i<30 or 60<=i<90:a=a+0.1turtle.lt(3) turtle.fd(a) else:a=a-0.1turtle.lt(3)turtle.fd(a)turtle.pu()turtle.end_fill()turtle.pu()turtle.end_fill()    turtle.Turtle().screen.delay(0)head();
bowknot();
lefteye();
righteye();
mouth();
feet();
body();
belly();
scarf();
turtle.hideturtle()
turtle.mainloop()

企鹅代码

小企鹅生成动画:

三、参考博文

本文中部分基本操作参照 博文 10分钟轻松学会 Python turtle 绘图

转载于:https://www.cnblogs.com/Robin5/p/10945105.html

Python中使用小海龟画图相关推荐

  1. 五十七、教用Python中的turtle海龟画图(下篇)

    @Author:Runsen @Date:2020/5/27 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业排 ...

  2. 五十六、教用Python中的turtle海龟画图(上篇)

    @Author:Runsen @Date:2020/5/27 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业排 ...

  3. 用python海龟画图_Python中使用小海龟画图

    importturtleimporttimedefhead():#配置画笔属性 turtle.fillcolor("black") turtle.color("black ...

  4. python 画图_学python画图最快的方式——turtle小海龟画图

    python中的画图方式主要有三种:turtle.tkinter.pygame,我们先从最简单的turtle开始. turtle翻译过来是海龟,我们一般喊它小海龟画图. turtle是一款简单易上手的 ...

  5. python画樱桃小丸子_学python画图最快的方式——turtle小海龟画图

    原标题:学python画图最快的方式--turtle小海龟画图 python中的画图方式主要有三种:turtle.tkinter.pygame,我们先从最简单的turtle开始. 学python画图最 ...

  6. python turtle小海龟画图(语法基础及作业案例)

    小海龟画图 小海龟:import turtle 是python种很流行的绘制图像的函数库,通过x轴y轴进行坐标移动,绘制图形. 常用语法 常用命令 说明 pen=turtle.Pen() 获取笔 pe ...

  7. 解决VS Code连接远程服务器使用Python中的matplotiib包画图无法显示的问题

    项目场景: 在使用VS Code连接远程服务器使用Python中的matplotiib包画图时,会出现无法显示的问题 问题描述: 在直接执行画图程序时,会报错:RuntimeError: Invali ...

  8. ROS2教程(入门级):ROS 2 中的小海龟以及rqt的使用(1)

    目标: 安装并使用 turtlesim 包以及 rqt,为接下来的教程做准备.本篇博客依然是跟着官方文档来的,有兴趣直接阅读官方文档的可以看这个. 背景 Turtlesim是一个学习ROS 2的轻量级 ...

  9. python神奇的小海龟_Python笔记_第一篇_面向过程_第一部分_8.画图工具(小海龟turtle)...

    turtle 是一个简单的绘图工具. 提供一个小海龟,可以把它理解为一个机器人,只能听懂有限的命令,且绘图窗口的原点(0,0)在中间,默认海龟的方向是右侧 海龟的命令包括三类:运动命令.笔画控制命令. ...

最新文章

  1. [转自脚本之家] Javascript cookie 详解
  2. 呼叫中心的技术创新源于管理文化的变革
  3. JAVA学习:maven开发环境快速搭建How to download J2EE API (javaee.jar) from Maven
  4. QT隐式调用VC开发的DLL
  5. ArcGIS中的投影和坐标转换
  6. 聊一聊Jmeter的参数化
  7. 【NGS接龙】薛宇:漫谈生物信息圈儿的那些年、那些事!
  8. Win7上Git安装及配置过程 [转]
  9. 从C#到Objective-C,循序渐进学习苹果开发(2)--Objective-C和C#的差异
  10. 初识多线程之基础知识与常用方法
  11. Java基础学习总结(145)——Java SPI(Service Provider Interface)简介
  12. ELK详解(六)——Logstash部署与简单应用
  13. AD21 DXP封装库中的keepputlayer怎么开孔
  14. 中国城市经纬度表(精确到县区)Google地图用
  15. jquery.nicescroll用法
  16. 技术大众化--10款无需编程的App DIY开发工具
  17. 单元刚度矩阵 C++
  18. (一)抖音快手短视频去水印原理分析
  19. 六度空间理论(数据结构图,c语言版)
  20. CocosCreator 子弹运动轨迹的绘制

热门文章

  1. Guitar Pro7乐谱页面显示模式设置
  2. 1.4 Python 程序语法元素分析
  3. 2021年新款创维E900v21e,非高安版-线刷刷机固件- 移动联通版
  4. php百度网盘解析源码,【教程】php实现百度网盘视频解析
  5. Carthage 教程:开始
  6. proteus中仿真时钟计时器DS1307
  7. 开源免费简洁美观的网盘系统Z-File
  8. migrating-vcenter-database-express-to-sql-2008-r2
  9. html气泡运动代码,CSS3 仿微信聊天小气泡实例代码
  10. Google Maps JavaScript API V3的使用(四)