from import *, 使用这种方式时,直接使用

例如:>>>from turtle import *

fd(100)

两种方式的区别:如果采用第一种方式,用户自定义的函数名字可以和库中函数一样,例如,程序中可以定义自己的fd函数。如果采用第二种方式,用户程序中不能用函数库中的名字定义函数。例如:程序中不能定义新的fd函数,因为库turtle库中的fd函数也是直接通过fd调用。

turtle.setup函数用于启动一个图形窗口,它有四个参数,turtle.setup(width,height,startx,starty),分别是:启动窗口的宽度和高度,表示窗口启动时,窗口左上角在屏幕中的坐标位置。向左为横坐标,向下为纵坐标。

turtle.pensize函数表示运动轨迹的宽度。它包含一个输入参数,即多少像素。

turtle.pencolor函数表示运动轨迹的颜色。它包含一个输入参数,

即想要的颜色。

turtle.seth函数表示启动时运动的方向。它包含一个输入参数,是角度值。

turtle.circle函数表示绘制的图形为圆形,它包含两个参数,rad描述轨迹半径的位置,angle表示沿着圆形爬行的弧度值。

turtle.fd函数也可以用turtle.forward表示,表示向前直线移动,它有一个参数表示移动的距离。

3、import as t

t 相当于turtle的别名,turtle的调用可以用t来简化表示,减少文字的输入量。

如果需要使用库函数中的函数,需要使用:.

例如:import turtle

t.fd(100)

t.color("red")

【绘图窗体】

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

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

画布的最小单位是像素,屏幕的坐标系以左上角为原点(0,0)分布。

setup的四个参数分别指的是

width: 窗体的宽度

height: 窗体的高度

startx:窗体距离屏幕边缘的左边像素距离

starty:窗体距离屏幕上面边缘的像素距离 其中,后两个参数是可选项,如果不填写该参数,窗口会默认显示在屏幕的正中间。

setup也是可选的,只是需要定义窗口的大小及位置是才使用。

turtle空间坐标体系绝对坐标

以屏幕中间为原点(0,0),形成四象限的坐标体系。

可以使用turtle.goto(x,y)方法来让海龟沿着绝对坐标进行运动:

import turtle

turtle .goto(100,100)

turtle .goto(100,-100)

turtle .goto(-100,-100)

turtle .goto(-100,100)

turtle .goto(0,0)

海龟坐标

是以海龟的视角的坐标体系,分为四个方向:

使用以下方法可以使海龟在指向的方向上移动、转向等

turtle.fd(distance) #前进

turtle.bk(distance) #后退

turtle.rt(angle) #右转

turtle.lt(angle) #左转空间坐标体系下绘图import turtle

turtle. left(45 )

turtle. fd(150 )

turtle. right(135 )

turtle. fd(300 )

turtle. left(135 )

turtle. fd(150 )

通过这几句可以在画布上实现一个斜着的Z字。

turtle角度坐标体系绝对角度坐标

绝对坐标体系下 有一个绝对角度体系

使用turtle.seth方法改变海龟的朝向,但不运动

海龟角度坐标

海龟的角度坐标体系下,只分左转和右转两种情况。

使用以下方法来改变它的角度:

turtle.left(angle) #向海龟左边改变运行方向

turtle.right(angle) #向海龟右边改变运行方向RGB色彩体系

三种基础颜色:red green blue构成万物色。

能够覆盖视力能感知的所有颜色。

在计算机RGB色彩体系中,每个基础颜色的取值范围是0-255的整数,或0-1的小数

常用颜色:

使用turtle.colormode(mode)来调整海龟的颜色,默认采用RGB小数值,可以切换为整数值

mode 小数值模式:1.0

mode 整数值模式:255

turtle 函数介绍画笔控制函数画笔操作后一直有效,一般成对使用turtle. penup# turtle. pu抬起画笔,不再画线

turtle. pendown# turtle. pd落下画笔,继续画线画笔设置后一直有效,直到下次重新设置turtle.pensize(width) # turtle.width(width) 设置画笔的宽度

turtle.pencolor(color) # color 为 色彩RGB值 设置画笔的颜色

# color参数 有三种形式

# 颜色字符串

turtle.pencolor('purple') # 小写

# RGB小数值

turtle.pencolor(0.63,0.13,0.94) #三个小数值

# RGB数值元组

turtle.pencolor((0.63,0.13,0.94)) # 一个三元素元组运动控制函数

控制画笔的行进:走直线&走曲线

# 直线

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

# 曲线

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

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

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

方向控制函数

控制h画笔面对的方向:绝对角度 & 画笔角度

# 绝对角度转向函数

turtle.setheading(angle) # turtle.seth(angle) 改变画笔的面向的角度( 初始方向是画布的正右方) 参数angle是绝对坐标系的角度

#画笔角度转向函数

turtle.left(angle) # 向左转angle度

turtle.right(angle) # 向右转angle度

向控制函数只改方向,但是不会动,运动由运动控制函数实现。

熟悉以上这些,就能完成基本的绘图了

样例:

#PythonDraw .py

importturtle

turtle .setup(650,350,200,200)

turtle .penup

turtle .fd(-250)

turtle .pendown

turtle .pensize(25)

turtle .pencolor("purple")

turtle .seth(-40)

fori 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绘图程序:

数学几何模型1-2:

(1)先来绘制一个等边三角形:

goto(30,0)

left(120)

forward(60)

left(120)

forward(60)

left(120)

forward(60)

其中:

left(120) 、 forward(60) 有三个重复的部分,代码可以用循环简化化:

penup #抬笔

goto(30,0)

pendown #落笔

for t in range(3):

left(120)

forward(60)

形状如下:

(2)先来绘制三个等边三角形(向上方向):

代码改进:

penup #抬笔

goto(30,0)

pendown #落笔

for t in range(3):

left(120)

forward(60)

goto(30,15)

pendown #落笔

for t in range(3):

left(120)

forward(60)

goto(30,30)

pendown #落笔

for t in range(3):

left(120)

forward(60)

发现有连笔现象,添加2处代码:

细细看上面的代码,发现A、B、C三个语句块有重复的情况:

我们来用一个循环简化一下:

(3)绘制树干,几何模型

for z in range(3):

penup #抬笔

goto(30,z*15)

pendown #落笔

for t in range(3):

left(120) #左转120度

forward(60) #前进60像素

penup

goto(7,0)

pendown

right(90)

forward(28)

right(90)

forward(14)

right(90)

forward(28)

right(90)

forward(14)

上面代码有重复,简化它:

for z in range(3):

penup #抬笔

goto(30,z*15)

pendown #落笔

for t in range(3):

left(120) #左转120度

forward(60) #前进60像素

penup

goto(7,0)

pendown

for t in range(2):

right(90)

forward(28)

right(90)

forward(14)

(4)一起填充点颜色吧,添加代码加黑的。

color("black","green")#轮廓颜色为黑色,填充颜色为绿色

pensize(5)

for z in range(3):

penup #抬笔

goto(30,z*15)

pendown #落笔

begin_fill

for t in range(3):

left(120) #左转120度

forward(60) #前进60像素

end_fill

penup

goto(7,0)

pendown

color("black","brown")#轮廓颜色为黑色,填充颜色为棕色

begin_fill

for t in range(2):

right(90)

forward(28)

right(90)

forward(14)

end_fill

动图演示如下:

(5)画一排树,修改代码加粗(第一个加粗循环后面的代码,整体缩进一个Tab位置)

pensize(5)

speed(9)

for x in range(-1,2):

for z in range(3):

penup #抬笔

goto(30 + x * 150,z*15)

pendown #落笔

color("black","green")#轮廓颜色为黑色,填充颜色为绿色

begin_fill

for t in range(3):

left(120) #左转120度

forward(60) #前进60像素

end_fill

penup

goto(7 + x * 150,0)

pendown

color("black","brown") #轮廓颜色为黑色,填充颜色为棕色

begin_fill

for t in range(2):

right(90)

forward(28)

right(90)

forward(14)

end_fill

延伸扩展作业

(1)三排树(一排3颗)

(2)三排树(一排3颗),每颗树编个号吧!

(3)做一个随机种植树林的森林吧

我们下次课再见吧!

1、使用turtle库绘制轮廓颜色为红色(red),填充颜色为粉红色(pink)的心形图形,效果如下图,阅读程序框架,补充代码【x】 处代码

speed(9)

color('red',【1】)

pendown

left(135)

fd(100)

right(180)

circle(50,-180)

left(90)

circle(50,-180)

right(180)

fd(100)

end_fill

hideturtle

done

2、使用turtle库绘制红色五角形,效果如下图所示。阅读程序框架,补充【X】处代码

【1】

goto( -100, 50)

pendown

color("red")

begin_fill

for i in range(5):

forward(200)

end_fill

hideturtle

3、使用turtle库绘制正文形螺旋线,效果如下图所示,阅读程序框架,补充【X】片代码。

import turtle

n = 10

for i in range(1,10,1):

for j in [90,180,-90,0]:

turtle.seth( 【1】 )

turtle.fd( 【2】 )

n += 5

4、使用turtle库绘制简单城市剪影图形,效果如下图所示,阅读程序框架,补充【X】片代码。

import turtle

turtle.penup

turtle.fd(-350)

turtle.pendown

def DrawLine(【1】):

for angle in [0,90,-90,-90,90]:

turtle.left(angle)

turtle.fd(size)

for i in [20,30,40,50,40,30,20]:

turtle.hideturtle

turtle.done

5、使用turtle库绘制同心圆图形,效果如下图所示,阅读程序框架,补充【X】片代码。

【1】

def DrawCctCircle( n ):

t.goto(0 ,-n )

for i in range( 20, 100, 20):

DrawCctCircle(i)

6、使用turtle库绘制钢琴键示意图形,效果如下图所示,阅读程序框架,补充【X】片代码

import turtle as t

#t.setup(500,300)

t.speed(9)

t.goto( -180, -50)

【1】 #将画笔移到绝对位置(-180,-50)处

【2】 # 画笔落下

def Drawrect:

t.fd(120)

t.fd(120)

t.fd(42)

for i in range(7):

Drawrect

t.goto( -150, 0)

def DrawRectBlack:

t.color('black')

t.begin_fill

t.fd(30)

t.fd(70)

t.fd(30)

t.fd(70)

t.end_fill

DrawRectBlack

DrawRectBlack

t.fd(48)

DrawRectBlack

DrawRectBlack

DrawRectBlack

t.hideturtle

t.done

7、使用turtle库绘制叠加等边三角形,效果如下图所示,阅读程序框架,补充【X】片代码。

import turtle

【1】 #将画笔宽度设置为2像素

turtle.color('red')

【2】 # 向小海龟当前前行方向前进160像素

turtle.seth(120)

turtle.fd(160)

turtle.seth(-120)

turtle.fd(160)

turtle.penup

turtle.seth(0)

turtle.pendown

turtle.seth(60)

turtle.seth(180)

turtle.seth(-60)

8、使用turtle库绘制八角星形,效果如下图所示,阅读程序框架,补充【X】片代码。

import turtle as t

#t.colormode(255)

t.color(【1】) #设置颜色取值为金色(255,215,0)

t.begin_fill

for x in range(【2】):

t.forward(200)

t.left(225)

t.end_fill

9、使用turtle库绘制5种多边形,效果如下图所示,阅读程序框架,补充【X】片代码。

for i in range(5):

【1】 #画笔抬起

goto( -200+100*i , -50)

pendown

【2】( 40, steps= 3+i ) #绘某个形状

done

hideturtle

10、使用turtle库绘制树图形,效果如下图所示,阅读程序框架,补充【X】片代码。

import turtle as t

def tree( length, 【1】 ): #树的层次

if level <= 0:

return

t.forward( 【2】 ) #前进方向画length距离

t.left( 45 )

tree( 0.6 * length, level - 1)

t.right( 90 )

tree( 0.6 * length, level - 1)

t.left( 45 )

t.backward( length )

return

t.pensize( 3 )

t.color( 'green')

t.left (90)

tree( 100, 6 )

【注】需要答案,记得给小编留言呀

绘制八角星形 python_Python绘图库及二级训练集相关推荐

  1. python【Matlibplot绘图库】利用matlibplot绘制雷达图

    文章目录 1.基本构造 2.比较功能 1.基本构造 之前在一些数据分析案例中看到用 Go 语言绘制的雷达图,非常的漂亮,就想着用matlibplot.pyplot也照着画一个,遗憾的是matlibpl ...

  2. python绘制三维曲线图_机器学习的绘图库有哪些?如何运用python绘制机器学习常见曲线?...

    专栏引荐 绘图的变量 单变量 查看单变量最方便的无疑是displot()函数,默许绘制一个直方图,并你核密度估计(KDE) sns.set(color_codes=True) np.random.se ...

  3. Python中使用pyqtgraph绘图库实时绘制计算机CPU使用率等数据曲线

    一.项目需求 获取约30台电脑的CPU使用率.CPU温度.系统盘容量.系统盘使用率.总硬盘使用率.内存使用率.GPU使用率等数据 将1中数据集中用图表的形式集中展示出来 二.设计思路 采用C/S架构( ...

  4. python使用matplotlib2D绘图库的折线图绘制小案例(方便matplotlib的学习理解)——随机数做幸运值,绘制一周的幸运趋势

    python使用matplotlib2D绘图库的折线图绘制小案例(方便matplotlib的学习理解)--随机数做幸运值,绘制一周的幸运趋势 QQ:3020889729 小蔡 小案例内容简介 实例 第 ...

  5. Matplotlib绘图库初探

    Matplotlib是Python的2D&3D绘图库,产生各种已经拷贝格式和交互幻剑中跨平台形式的印刷质量图标.Matplot语法与Matlab相似,绘图绘图功能强大,而且十分容易上手. &q ...

  6. matplotlib中文文档_python绘图库——Matplotlib及Seaborn使用(入门篇1)

    在数据分析过程中,数据及模型可视化是无可避免的,同时这也是展示我们数据分析成果的最佳方式.因此,熟悉掌握绘图库的使用,对精进我们的数据分析技能起着不可替代的作用. 今天,我们就来了解一下python强 ...

  7. python各个绘图的作用,深度讲解Python四大常用绘图库的“绘图原理”

    转自:数据分析与统计学之美 为什么要写这篇文章? 最近有不少粉丝来问我,Python绘图库太多,我知不知道学哪一个?即使我选择了某一个绘图库后,我也不知道怎么学,我不知道第一步做什么,也不知道接下来该 ...

  8. matplotlib绘图库入门

    2019独角兽企业重金招聘Python工程师标准>>> matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.而且 ...

  9. python【Matlibplot绘图库】-主要概念

    文章目录 1.概述 2.各函数含义 3.numpy处理数据 1.概述 Matplotlib的GitHub链接: https://github.com/matplotlib/matplotlibMatp ...

最新文章

  1. 如何用CSS调用外部字体
  2. 水晶报表常见问题整理之一(20050417)
  3. 表格嵌套_HTML |2| 表格与列表
  4. (四)通用定时器的定时功能(使用中断)
  5. 实验六 Linux下文件程序设计
  6. 《松本行弘的程序世界》精彩书摘
  7. GT Transceiver中的重要时钟及其关系(1)GT Transceiver参考时钟
  8. 万网域名查询接口(API)的说明
  9. 接呀呀云实时语音SDK总结
  10. EOS 柚子开发资源汇总
  11. 问卷研究的五类分析思路模板
  12. Java实现 LeetCode 417 太平洋大西洋水流问题
  13. TIA博途S7-1200学习笔记——指令集
  14. 重庆南川金佛山中医院“扶正消瘤贴”专家评估研讨会圆满落幕
  15. Thymeleaf【快速入门】
  16. 前端--鼠标跟随特效
  17. 【S0020】【素材】梦幻抽象设计感海报PSD源文件
  18. 致远oa系统报价_用友致远OA 系统 一般多少钱?(公司60-70台左右的电脑)
  19. 12.3 call_soon、call_at、call_later、call_soon_threadsafe
  20. mac添加hosts记录步骤

热门文章

  1. Opencv:Task01:Opencv基本了解、图像读取和绘图
  2. CSS 背景透明文字不透明
  3. iTerm2 菜单设置 焦点跟随鼠标
  4. scp传文件指定端口
  5. FedDG:在连续频率空间中通过情景学习进行医学图像分割的联合域泛化
  6. BUCTOJ - 2023上半年ACM蓝桥杯每周训练题-1-A~K题C++Python双语版
  7. php Sign in with Apple(苹果授权登录PHP后端接口)
  8. 《崔庆才Python3网络爬虫开发实战教程》学习笔记(4):解析库Xpath的使用方法总结
  9. python双重for循环 列表推导式_Python 列表推导式
  10. 记一次maven项目打包成exe文件过程