turtle库是python的内部库,是python2.6版本中后引入的一个简单的绘图工具,使用导入即可 import turtle

1. 画布(canvas)

画布就是turtle为我们展开用于绘图区域, 我们可以设置它的大小和初始位置

设置画布大小

turtle.screensize(canvwidth=None, canvheight=None,

bg=None)

turtle.screensize(800, 600, "green")

turtle.screensize() #返回默认大小(400, 300)

turtle.setup(width=0.5, height=0.75, startx=None, starty=None)

参数:

width, height: 输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例

(startx, starty): 这一坐标表示 矩形窗口左上角顶点的位置, 如果为空,则窗口位于屏幕中心

turtle.setup(width=0.6, height=0.6)

turtle.setup(width=800, height=800, startx=100, starty=100)

2. 绘图命令

操纵海龟绘图有着许多的命令,这些命令可以划分为3种:一种为运动命令,一种为画笔控制命令,还有一种是全局控制命令

(1)画笔运动命令:

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(): 画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆

(2)画笔控制命令:

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()函数对应

(3) 全局控制命令:

turtle.clear(): 清空turtle窗口,但是turtle的位置和状态不会改变

turtle.reset(): 清空窗口,重置turtle状态为起始状态

turtle.undo(): 撤销上一个turtle动作

turtle.isvisible(): 返回当前turtle是否可见

stamp(): 复制当前图形

turtle.write(s[,font=("font-name",font_size,"font_type")]):写文本,s为文本内容,font是字体的参数,里面分别为字体名称,大小和类型;font为可选项, font的参数也是可选项

turtle.circle(radius, extent=None, steps=None)

描述: 以给定半径画圆

参数:

radius(半径); 半径为正(负),表示圆心在画笔的左边(右边)画圆

extent(弧度) (optional);

steps (optional) (做半径为radius的圆的内切正多边形,多边形边数为steps)

circle(50) # 整圆;

circle(50,steps=3) # 三角形;

circle(120, 180) # 半圆

绘图举例

太阳花

太阳花.png

import turtle as t

import time

t.color("red", "yellow")

t.speed(10)

t.begin_fill()

for _ in range(50):

t.forward(200)

t.left(170)

end_fill()

time.sleep(1)

绘制小蟒蛇

小蟒蛇.jpg

import turtle

def drawSnake(rad, angle, len, neckrad):

for _ in range(len):

turtle.circle(rad, angle)

turtle.circle(-rad, angle)

turtle.circle(rad, angle/2)

turtle.forward(rad/2) # 直线前进

turtle.circle(neckrad, 180)

turtle.forward(rad/4)

if __name__ == "__main__":

turtle.setup(1500, 1400, 0, 0)

turtle.pensize(30) # 画笔尺寸

turtle.pencolor("green")

turtle.seth(-40) # 前进的方向

drawSnake(70, 80, 2, 15)

绘制五角星

五角星.jpg

import turtle

import time

turtle.pensize(5)

turtle.pencolor("yellow")

turtle.fillcolor("red")

turtle.begin_fill()

for _ in range(5):

turtle.forward(200)

turtle.right(144)

turtle.end_fill()

time.sleep(2)

turtle.penup()

turtle.goto(-150,-120)

turtle.color("violet")

turtle.write("Done", font=('Arial', 40, 'normal'))

time.sleep(1)

画心

爱心.webp.jpg

import turtle

import time

# 曲线移动

def curveMove():

for i in range(200):

turtle.right(1)

turtle.forward(1)

def drawHeart():

turtle.speed(10) # 画笔速度调到最高

turtle.color('red','pink')

turtle.begin_fill()

turtle.left(140) # 逆时针旋转140度

turtle.forward(111.65) # 向前移动111.65个像素

curveMove() # 画曲线

turtle.left(120) # 逆时针旋转120度

curveMove() # 继续画曲线

turtle.forward(111.65) # 向前移动111.65个像素

turtle.end_fill()

time.sleep(10)

if __name__ == '__main__':

drawHeart()

小猪佩奇

小猪佩奇.png

import turtle as t

# 绘制小猪佩奇

t.pensize(4)

t.hideturtle()

t.colormode(255)

t.color((255, 155, 192), "pink")

t.setup(840, 500)

t.speed(10)

# 鼻子

t.penup()

t.goto(-100,100)

t.pendown()

t.seth(-30)

t.begin_fill()

a = 0.4

for i in range(120):

if 0 <= i < 30 or 60 <= i < 90:

a = a+0.08

t.left(3) # 向左转3度

t.forward(a) # 向前走a的步长

else:

a = a-0.08

t.left(3)

t.forward(a)

t.end_fill()

t.penup()

t.seth(90)

t.forward(25)

t.seth(0)

t.forward(10)

t.pendown()

t.pencolor(255, 155, 192)

t.seth(10)

t.begin_fill()

t.circle(5)

t.color(160, 82, 45)

t.end_fill()

t.penup()

t.seth(0)

t.forward(20)

t.pendown()

t.pencolor(255, 155, 192)

t.seth(10)

t.begin_fill()

t.circle(5)

t.color(160, 82, 45)

t.end_fill()

# 头

t.color((255, 155, 192), "pink")

t.penup()

t.seth(90)

t.forward(41)

t.seth(0)

t.forward(0)

t.pendown()

t.begin_fill()

t.seth(180)

t.circle(300, -30)

t.circle(100, -60)

t.circle(80, -100)

t.circle(150, -20)

t.circle(60, -95)

t.seth(161)

t.circle(-300, 15)

t.penup()

t.goto(-100, 100)

t.pendown()

t.seth(-30)

a = 0.4

for i in range(60):

if 0 <= i < 30 or 60 <= i <90:

a = a+0.08

t.left(3) # 向左转3度

t.forward(a) # 向前走a的步长

else:

a = a-0.08

t.left(3)

t.forward(a)

t.end_fill()

# 耳朵

t.color((255, 155, 192), "pink")

t.penup()

t.seth(90)

t.forward(-7)

t.seth(0)

t.forward(70)

t.pendown()

t.begin_fill()

t.seth(100)

t.circle(-50, 50)

t.circle(-10, 120)

t.circle(-50, 54)

t.end_fill()

t.penup()

t.seth(90)

t.forward(-12)

t.seth(0)

t.forward(30)

t.pendown()

t.begin_fill()

t.seth(100)

t.circle(-50, 50)

t.circle(-10, 120)

t.circle(-50, 56)

t.end_fill()

#眼睛

t.color((255, 155, 192), "white")

t.penup()

t.seth(90)

t.forward(-20)

t.seth(0)

t.forward(-95)

t.pendown()

t.begin_fill()

t.circle(15)

t.end_fill()

t.color("black")

t.penup()

t.seth(90)

t.forward(12)

t.seth(0)

t.forward(-3)

t.pendown()

t.begin_fill()

t.circle(3)

t.end_fill()

t.color((255, 155, 192), "white")

t.penup()

t.seth(90)

t.forward(-25)

t.seth(0)

t.forward(40)

t.pendown()

t.begin_fill()

t.circle(15)

t.end_fill()

t.color("black")

t.penup()

t.seth(90)

t.forward(12)

t.seth(0)

t.forward(-3)

t.pendown()

t.begin_fill()

t.circle(3)

t.end_fill()

# 腮

t.color((255, 155, 192))

t.penup()

t.seth(90)

t.forward(-95)

t.seth(0)

t.forward(65)

t.pendown()

t.begin_fill()

t.circle(30)

t.end_fill()

# 嘴

t.color(239, 69, 19)

t.penup()

t.seth(90)

t.forward(15)

t.seth(0)

t.forward(-100)

t.pendown()

t.seth(-80)

t.circle(30, 40)

t.circle(40, 80)

# 身体

t.color("red", (255, 99, 71))

t.penup()

t.seth(90)

t.forward(-20)

t.seth(0)

t.forward(-78)

t.pendown()

t.begin_fill()

t.seth(-130)

t.circle(100,10)

t.circle(300,30)

t.seth(0)

t.forward(230)

t.seth(90)

t.circle(300,30)

t.circle(100,3)

t.color((255,155,192),(255,100,100))

t.seth(-135)

t.circle(-80,63)

t.circle(-150,24)

t.end_fill()

# 手

t.color((255,155,192))

t.penup()

t.seth(90)

t.forward(-40)

t.seth(0)

t.forward(-27)

t.pendown()

t.seth(-160)

t.circle(300,15)

t.penup()

t.seth(90)

t.forward(15)

t.seth(0)

t.forward(0)

t.pendown()

t.seth(-10)

t.circle(-20,90)

t.penup()

t.seth(90)

t.forward(30)

t.seth(0)

t.forward(237)

t.pendown()

t.seth(-20)

t.circle(-300,15)

t.penup()

t.seth(90)

t.forward(20)

t.seth(0)

t.forward(0)

t.pendown()

t.seth(-170)

t.circle(20,90)

# 脚

t.pensize(10)

t.color((240,128,128))

t.penup()

t.seth(90)

t.forward(-75)

t.seth(0)

t.forward(-180)

t.pendown()

t.seth(-90)

t.forward(40)

t.seth(-180)

t.color("black")

t.pensize(15)

t.forward(20)

t.pensize(10)

t.color((240, 128, 128))

t.penup()

t.seth(90)

t.forward(40)

t.seth(0)

t.forward(90)

t.pendown()

t.seth(-90)

t.forward(40)

t.seth(-180)

t.color("black")

t.pensize(15)

t.forward(20)

# 尾巴

t.pensize(4)

t.color((255, 155, 192))

t.penup()

t.seth(90)

t.forward(70)

t.seth(0)

t.forward(95)

t.pendown()

t.seth(0)

t.circle(70, 20)

t.circle(10, 330)

t.circle(70, 30)

t.done()

python turtle forward_Python turtle绘图相关推荐

  1. Python学习17 Turtle库绘图

    学习网址:https://docs.python.org/zh-cn/3/library/turtle.html Turtle库 Turtle库是Python语言中一个很流行的绘制图像的函数库,一个小 ...

  2. python turtle颜色rgb_turtle绘图总结

    turtle绘图总结 (2020-05-15 11:09:13) 标签: python turtle 绘图 总结 分类: 科技 1.画布: (1) turtle.screensize(宽,高,背景颜色 ...

  3. 【Python2】使用python中的turtle模块学习海龟绘图(有趣的python初体验)(最全最详细的turtle介绍使用)

    目录 海龟绘图 Python中tkinter的mainloop函数实质 turtle模块里的方法 Python绘图Turtle库详解 turtle绘图的基础知识: 海龟绘图 海龟绘图是Python中非 ...

  4. Python——turtle(海龟绘图)

    基本功能介绍 在海龟作图中,我们可以编写指令让一个虚拟的(想象中的)海龟在屏幕上来回移动.这个海龟带着一只钢笔,我们可以让海龟无论移动到哪都使用这只钢笔来绘制线条.通过编写代码,以各种很酷的模式移动海 ...

  5. python Turtle Graphics海龟绘图工具

    python 2.6中引入了一个简单的绘图工具,叫做海龟绘图 Turtle Graphics 首先我们需要添加头文件 turtle import 下面引入一个代码段,是通过海龟绘图制作的五角星 imp ...

  6. python中利用turtle(海龟)绘图制作龟兔赛跑动画——仅供学习

    python中利用turtle(海龟)绘图制作龟兔赛跑动画--仅供学习哦 首先,欢迎大家来我的博客当中浏览,由于我和我的可爱现在还都个初学者,所作的东西还不够完善,之前在学习计算机的各种语言的过程中, ...

  7. python程序设计之turtle绘图

    这是我去年选修python程序设计时候的作业一,当时是皇甫伟老师教的然后范茜莹姐姐当的助教还代了两节课(虽然作为颜狗的我沉迷颜值没好好听就是了),但是,python程序设计还是值得我来安利的,大二计通 ...

  8. python入门turtle库简单绘图(螺旋曲线图)

    从入门学习python还是有点时间里,CSDN还是帮了我很多忙,这几天写了几个简单的turtle绘图,哈哈,兴趣所致,所以来分享一下我的三个代码,纯粹原创,不喜勿喷嘛 我用的是VSCODE,个人觉得挺 ...

  9. 【Python绘图】turtle库乌龟绘图官方文档详细整理

    [函数表格整理在最下方] Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面 ...

最新文章

  1. R语言ggplot2可视化柱状图添加数值说明并控制文本、数值字体大小、轴标签字体大小实战
  2. Android开发视频教学第一季(1-16集)视频源码下载
  3. 全球及中国胶合板行业产量规模与营运能力研究报告2022版
  4. 4天学会python_学习python第四天
  5. boost::sort模块实现spreadsort 浮点函子排序示例
  6. CodeForces - 681D Gifts by the List(思维)
  7. 如何检查Socket是否断开
  8. gazebo 直接获取传感器数据_【ROS-Gazebo】IMU插件使用与数据采集——以四足机器人pigot为例...
  9. java参数校验:ValidatorUtils校验框架工具类的使用
  10. IT. IT-hyena成就自我
  11. halcon图像处理的基本思路
  12. [转]Angular引入第三方库
  13. FindBugs-IDEA图标说明
  14. matlab怎么对语音信号处理,语音信号处理MATLAB程序
  15. 中国电信物联网平台入门学习笔记1:资料获取
  16. 概率论与数理统计 基本概念
  17. 计算机考试怎么调整字号,WPS文字如何调节字体大小突破字号72的限制实现大小随意调...
  18. Cobbler自动部署CentOS系统
  19. 院线售票系统 背景:有一套连锁影院系统,包括官网、视频站、论坛、在线售票等等子系统,现要求你来实现其中的官网首页的电影信息展示和检索功能
  20. PS 有哪些小技巧让你好用到哭?

热门文章

  1. Unity 日历插件组件-日期选择器2D(一)
  2. 如何评价 Facebook 发布的数字货币 Libra?
  3. 小程序的代理加盟创业机会在哪里?
  4. [每日App一]QQ主题要逆天!轻轻松松月入30万!
  5. Windows10下搭建汇编语言开发环境(利用DOSBOX和MASM32)
  6. 【面试】JAVA面试基础知识总结
  7. 用border画有边框的三角形
  8. 会议室屏幕显示小,内容不全,多通道融合投影给客户完美的视觉体验
  9. 苏杰对话布棉:产品经理 · 看十年 · 超万字的...精编版
  10. 弘辽科技:淘宝老店怎么样争取流量?