绘制八角星形 python_Python绘图库及二级训练集
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绘图库及二级训练集相关推荐
- python【Matlibplot绘图库】利用matlibplot绘制雷达图
文章目录 1.基本构造 2.比较功能 1.基本构造 之前在一些数据分析案例中看到用 Go 语言绘制的雷达图,非常的漂亮,就想着用matlibplot.pyplot也照着画一个,遗憾的是matlibpl ...
- python绘制三维曲线图_机器学习的绘图库有哪些?如何运用python绘制机器学习常见曲线?...
专栏引荐 绘图的变量 单变量 查看单变量最方便的无疑是displot()函数,默许绘制一个直方图,并你核密度估计(KDE) sns.set(color_codes=True) np.random.se ...
- Python中使用pyqtgraph绘图库实时绘制计算机CPU使用率等数据曲线
一.项目需求 获取约30台电脑的CPU使用率.CPU温度.系统盘容量.系统盘使用率.总硬盘使用率.内存使用率.GPU使用率等数据 将1中数据集中用图表的形式集中展示出来 二.设计思路 采用C/S架构( ...
- python使用matplotlib2D绘图库的折线图绘制小案例(方便matplotlib的学习理解)——随机数做幸运值,绘制一周的幸运趋势
python使用matplotlib2D绘图库的折线图绘制小案例(方便matplotlib的学习理解)--随机数做幸运值,绘制一周的幸运趋势 QQ:3020889729 小蔡 小案例内容简介 实例 第 ...
- Matplotlib绘图库初探
Matplotlib是Python的2D&3D绘图库,产生各种已经拷贝格式和交互幻剑中跨平台形式的印刷质量图标.Matplot语法与Matlab相似,绘图绘图功能强大,而且十分容易上手. &q ...
- matplotlib中文文档_python绘图库——Matplotlib及Seaborn使用(入门篇1)
在数据分析过程中,数据及模型可视化是无可避免的,同时这也是展示我们数据分析成果的最佳方式.因此,熟悉掌握绘图库的使用,对精进我们的数据分析技能起着不可替代的作用. 今天,我们就来了解一下python强 ...
- python各个绘图的作用,深度讲解Python四大常用绘图库的“绘图原理”
转自:数据分析与统计学之美 为什么要写这篇文章? 最近有不少粉丝来问我,Python绘图库太多,我知不知道学哪一个?即使我选择了某一个绘图库后,我也不知道怎么学,我不知道第一步做什么,也不知道接下来该 ...
- matplotlib绘图库入门
2019独角兽企业重金招聘Python工程师标准>>> matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.而且 ...
- python【Matlibplot绘图库】-主要概念
文章目录 1.概述 2.各函数含义 3.numpy处理数据 1.概述 Matplotlib的GitHub链接: https://github.com/matplotlib/matplotlibMatp ...
最新文章
- 如何用CSS调用外部字体
- 水晶报表常见问题整理之一(20050417)
- 表格嵌套_HTML |2| 表格与列表
- (四)通用定时器的定时功能(使用中断)
- 实验六 Linux下文件程序设计
- 《松本行弘的程序世界》精彩书摘
- GT Transceiver中的重要时钟及其关系(1)GT Transceiver参考时钟
- 万网域名查询接口(API)的说明
- 接呀呀云实时语音SDK总结
- EOS 柚子开发资源汇总
- 问卷研究的五类分析思路模板
- Java实现 LeetCode 417 太平洋大西洋水流问题
- TIA博途S7-1200学习笔记——指令集
- 重庆南川金佛山中医院“扶正消瘤贴”专家评估研讨会圆满落幕
- Thymeleaf【快速入门】
- 前端--鼠标跟随特效
- 【S0020】【素材】梦幻抽象设计感海报PSD源文件
- 致远oa系统报价_用友致远OA 系统 一般多少钱?(公司60-70台左右的电脑)
- 12.3 call_soon、call_at、call_later、call_soon_threadsafe
- mac添加hosts记录步骤
热门文章
- Opencv:Task01:Opencv基本了解、图像读取和绘图
- CSS 背景透明文字不透明
- iTerm2 菜单设置 焦点跟随鼠标
- scp传文件指定端口
- FedDG:在连续频率空间中通过情景学习进行医学图像分割的联合域泛化
- BUCTOJ - 2023上半年ACM蓝桥杯每周训练题-1-A~K题C++Python双语版
- php Sign in with Apple(苹果授权登录PHP后端接口)
- 《崔庆才Python3网络爬虫开发实战教程》学习笔记(4):解析库Xpath的使用方法总结
- python双重for循环 列表推导式_Python 列表推导式
- 记一次maven项目打包成exe文件过程