蘑菇云【行空板Python入门教程】第四课:模拟星空

模拟星空

古往今来,人们对于星空有着独特的喜爱。遥看那漫天的星斗,像黑夜里眨动的眼睛,又像一颗颗光闪闪、亮晶晶的夜明珠,更像在无边海洋上闪动着的点点银光,无不令人神往。

在这节课上,我们将自己动手,绘制一颗颗小星星,并使其在行空板屏幕上随机飘动,模拟一个动态的浩瀚星空。

浩瀚星空图

任务目标

在屏幕上绘制一颗颗小星星并使其飘动。
行空板屏幕星空效果图

知识点

1、认识turtle库

2、学习使用turtle库绘制星星的方法

3、学习使用turtle库使星星随机出现并飘动的方法

材料清单

材料清单

软件使用:Mind+编程软件x1

知识储备

1、什么是turtle库

turtle库,又称海龟绘图库,它是Python语言中一个很流行的绘制图像的函数库。它的原理是利用画笔移动的路径来生成图形。我们可以借助turtle库来实现在屏幕上绘制图形,如矩形、圆、五角星等。

2、turtle库通用知识

(1) turtle空间坐标体系

(A)绝对坐标

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

turtle空间坐标体系

(B)海龟坐标

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

海龟坐标

(2) 画布

画布(Canvas),我们可以理解为一张白纸,在上面能画出不同形状、颜色、粗细的图形。海龟每次绘制的图形都是显示在一张自动生成的画布上的。画布的默认大小为(400,300),其中400是指长度的像素值,300是指宽度的像素值。对于画布,我们可以设置它的大小和初始位置,也可以把画布看成一个坐标系,小海龟每次移动都是从坐标原点(0,0)出发的。

画布坐标

(3)海龟绘图三要素

海龟绘图有三个关键要素,即方向、位置和画笔。在进行海龟绘图时,主要就是控制这些要素来绘出我们想要的图形。

其中,方向主要用于控制海龟的移动方向。位置主要用于控制海龟移动的距离。而画笔主要承担画图工具的作用。在海龟绘图中,通过画笔可以控制线条的粗细、颜色和运动的速度等。

3、turtle库屏幕控制的常见函数

turtle库中关于屏幕控制的函数有很多,我们只使用其中的一部分,编程时,通过“import turtle”导入库后可采用“turtle.函数名()”的形式来实现功能。Tips :这里的函数都来自于TurtleScreen类中的方法。

(1)setup()函数设置绘图窗口(画布)的大小和位置

通过setup()函数我们可为当前的窗口屏幕设置大小和位置,设定的参数为整数时,单位为像素,不输入参数则表示默认。

turtle.setup(240,320) # 设置绘图窗口大小

其中,240和320分别指的是窗口的宽度和高度,与行空板的屏幕分辨率相同。

(2)bgpic()函数设置屏幕的背景图片

通过bgpic()函数我们可为当前的窗口屏幕设置背景图片。

turtle.bgpic(“123.png”) # 设置背景图

其中,“123.png”指的是具体的背景图,为了使显示效果更加,我们可调整其尺寸大小与屏幕一致。

(3)tracer()函数设置动画的打开或关闭

通过tracer()函数我们可自行设定绘图动画的打开或关闭。当我们想将图形一次性绘好,而不显示绘制过程,则可选择关闭动画。

turtle.tracer(True) # 打开绘图动画

turtle.tracer(False) # 关闭绘图动画

其中,“True”和“False”分别指的是绘图轨迹动画的打开和关闭。

(4)delay()函数设置绘图延迟

通过delay()函数我们可为当前的窗口屏幕设置绘图延迟,单位为毫秒。绘制延迟越长,绘图动画越慢,设为0可以避免卡顿。

turtle.delay(0) # 设置背景图

其中,“0”指的是画布上绘图延迟的具体时间。

4、turtle库画笔运动的常见函数

turtle库中关于画笔运动的函数有很多,我们只使用其中的一部分,在编程时,可采用“turtle.函数名()”的形式来实现功能。Tips :这里的函数都来自于Turtle类中的方法。

(1)forward()函数控制画笔向前移动指定距离

通过forward()函数我们可使画笔向前移动,继而绘制出线条。

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

其中,“100”指的是具体的像素值,可通过改变像素值来改变线条的长度。同样地,我们也可以通过“backward()”函数来使画笔向后移动来绘制线条。

(2)left()函数控制画笔向左转动指定角度

画笔的初始朝向为向右,我们可通过left()函数来改变画笔的朝向。

turtle.left(90) # 向左转动90度

其中,“90”指的是具体的角度值,可通过改变角度值来改变朝向方位。同样地,我们也可以通过“right()”函数来使画笔向右转动。

(3)goto()函数控制画笔移动到指定坐标位

turtle.goto(110,120) # 移动到(110,120)坐标位

其中,“110”指的是所要移动到的位置的横坐标,“120”指的是相应的纵坐标,可通过改变横纵坐标来改变移动到的位置。同样地,我们也可以通过“set(x)”和“set(y)”两个函数来单独设置海龟画笔的横纵坐标。

(4)speed()函数设置画笔移动的速度

画笔的移动速度,可通过0-10范围内的整数值来进行设定。

“最快”&

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值