画台扇-第15届蓝桥省赛Scratch中级组真题第3题

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第188讲。

如果想持续关注Scratch蓝桥真题解读,可以点击《Scratch蓝桥杯历年真题》并订阅合集,查阅教程更方便。

第15届蓝桥杯省赛已于2024年8月24日落下帷幕,中级组编程题一共有6题,分别如下:

画台扇,本题是2024年8月24日举行的第15届蓝桥省赛Scratch中级组编程第3题,题目要求使用Scratch画笔绘制一个转动的台扇。点击绿旗,先绘制一个等边三角形底座,然后绘制3个由实心半圆构成的扇叶,接着绘制保护罩,最后让扇叶顺时针持续旋转。

先来看看题目的要求吧。

一.题目说明

编程实现:

画台扇。

具体要求:

1). 点击绿旗,在舞台的桌面上绘制出一个等边三角形底座(三角形边长为 150) ,如图所示;

图片

2). 1秒后,在等边三角形的上顶点,绘制出1个扇叶(扇叶为实心半圆,实心半圆半径为40,颜色不限,并且能看到绘制过程),如图所示;

图片

3). 1秒后,在等边三角形的上顶点,又瞬间出现 2个扇叶,3个扇叶的位置、排列如图所示;

图片

4). 1秒后,瞬间绘制出台扇的保护罩(保护罩的半径为 90、粗细为2,颜色不限),保护罩的样式如图所示;

图片

5). 1秒后,3个扇叶同时顺时针持续旋转(保护罩和底座不旋转)。

评判标准:

  • 6 分:满足"具体要求"中的1);

  • 11分:满足"具体要求"中的2);

  • 11 分:满足"具体要求"中的3);

  • 11分:满足"具体要求"中的4);

  • 11分:满足"具体要求"中的5)。

二.思路分析

本题只有一个角色,就是画笔,如图所示:

图片

一看,这就是一道画图题,考查的知识点包括画笔的使用、自制积木、绘制图形的技巧。

在历届真题中有不少类似的作品,比如第12届国赛中的旋转风车,如图:

图片

详细教程可以参考《旋转的风车-第12届蓝桥杯Scratch国赛真题第2题》这篇教程。

再比如,2024年1月28日举行的第4次stema测评中的旋转风车,如图所示:

图片

相信教程可以参考《绘制风车-第15届蓝桥第4次STEMA测评Scratch真题精选》这篇教程。

乍一看,题目还挺复杂的,但是对于具备编程思维的同学来说,这不是什么难事儿。仔细分析台扇的结构,可以将其拆分成如下几个部件:

  • 三角形底座

  • 扇叶

  • 保护罩

接下来,我们逐个分析。

1. 三角形底座

这是一个等边三角形,也就是正三角形,大部分同学首先能想到的就是“360万能公式”模型。

图片

如果只是绘制出静态的三角形,使用万能公式模型是首选方案。但是这里有一个很重要的细节,就是画完之后扇叶要旋转起来,这会出现什么问题吗?

众所周知,要让台扇旋转起来,就是不停的擦除,然后重新绘制,但是每一次都需要沿着不同的方向。这里的三角形底座看似没有旋转,但也会不停的擦除,不停的绘制。

这就会出现一个问题,我们既要保证三角形的方向不变,又要不停地改变画笔方向,是不是有点自相矛盾了。

解决方法有很多,今天超平老师给大家介绍一种巧妙而又强大的方法,这就是“定点法”模型。

什么是”定点法“呢,就是确定好目标图形的顶点坐标,然后使用”移到x,y“指令就可以了。

我们都知道,对于三角形而言,它有3个定点,根据数学中的”两点确定一条直线“原理,绘制好三条边即可。

定点法模型的优点在于它的适用性更强,除了标准的正多边形外,非正多边形也可以轻松搞定。比如,12届国赛里风车作品中的等腰三角形,15届stema测评里风车作品的等腰直角三角形,都用到了定点法模型。

2. 扇叶

这里的扇叶是一个实心半圆,这个简单吧,直接使用中心法模型绘制即可,所谓的实心半圆不就是180条线段嘛。具体原理,可以参考《画西瓜-第15届蓝桥省赛Scratch初级组真题第3题》这篇教程。

这里的难点在于,怎么让3个扇叶排列成题目要求的效果,同时还要确保沿着任何方向都能达到这个效果呢?

这就需要了解绘图中非常重要的两个模型:

  • 相对运动

  • 完璧归赵

所谓相对运动模型,是指画笔的移动和方向都必须使用相对指令,不能使用绝对指令。

具体来说,在移动的使用,只能使用”移动10步“指令,不能使用”移到x,y“指令;在设置方向的时候,只能使用”左转“或”右转“指令,不能使用”面向90度“指令。

所谓完璧归赵模型,是指在绘制好一个图形后,比如这里的一个扇叶,需要恢复到初始状态,包括坐标和方向,真正的做到完璧归赵。

只要确定这两点,绘制扇叶就比较简单了,3个扇叶的中心点是舞台中心,沿着任意方向(比如90度),绘制一个实心半圆后,需要退回到舞台中心,并且确保方向和初始方向一直。

3. 保护罩

相对来说,保护罩要简单一些,直接使用中心法来绘制。保护罩分为12条半径和圆周两个部分,可以一起绘制,也可以分开绘制。

由于代码比较多,为了更好地组织代码,有些还需要瞬间绘制,因此我们需要使用自制积木。

思路有了,接下来,我们就进入程序实现环节。

三.编程实现

根据上面的思路分析,我们分5步来完成作品:

  • 绘制三角形底座

  • 绘制扇叶

  • 绘制保护罩

  • 绘制台扇

  • 台扇持续旋转

1. 绘制三角形底座

根据前面的思路分析,需要先确定好3个顶点的坐标,这个要怎么确定呢?

其实比较简单,先使用万能公式模型法,让画笔走一圈,这不就找到定点坐标了么?

先使用万能公式模型,绘制三角形,代码如下:

图片

绘制的三角形如图所示:

图片

A点就是舞台中心,其坐标是(0,0),怎么获取B点和C点的坐标呢,只需要将上面代码中的”重复执行3次“改为”重复执行1次“,也就是先画AB这条边,效果如下:

图片

然后再改成”重复执行2次“,绘制出第二条边BC,就可以确定C点的坐标了。实际上,根据对称原理,也可以直接确定C点的坐标是(-75,130)。

确定好了3个顶点坐标,上面的代码就可以删除了,定义自制积木如下:

图片

2. 绘制扇叶

根据前面的思路分析,定义一个自制积木用于绘制扇叶,编写代码如下:

图片

代码不少,强调3点:

1). 这是绘制一个扇叶的代码,由于第一个需要看到绘制过程,所以不能勾选”运行时不刷新屏幕“;

2). 整个代码中,使用的都是相对运动指令;

3). 一定要注意完璧归赵,包括方向和位置;

然后,再定义一个自制积木,用于快速绘制扇叶,如图:

图片

3. 绘制保护罩

直接使用中心法模型绘制,创建一个自制积木,如下:

图片

代码不算少,说明3点:

1). 保护罩要放到舞台中心,由于它是最后画的,可以使用绝对指令”移到x:0 y:0“指令;

2). 绘制圆周就是在距离圆心90的位置打上360个点,每打一个点旋转1度;

3). 如果画笔的方向是30的倍数,就绘制一条半径;

使用这种画法,有一个优点,就是这里的12条半径不受方向的影响,你随意改变画笔的方向,它都会保持同样的效果。因为它只在画笔方向为0、30、60、90、120、150...等12个方向上绘制半径。

4. 绘制台扇

有了前面定义好的4个自制积木,接下来就可以在绿旗代码块中编写代码完成台扇的绘制了,代码如下:

图片

代码不少,强调两点:

1). 初始位置为舞台中心(0,0),初始方向为90度;

2). 慢速绘制一个扇叶后,接下来要瞬间绘制两个扇叶,注意要先转120度;

5. 台扇持续旋转

所谓的持续旋转,就是先擦除掉之前绘制的图像,再重新绘制。为了方便,再定义一个自制积木,如下:

图片

然后在绿旗代码中,增加如下代码:

图片

代码比较简单,强调两个细节:

1). ”全部擦除“指令一定要放在前面,确保是先擦除后绘制,否则就什么也看不到了;

2). 右转的度数可以自由设定,它决定了扇叶旋转的速度;

至此,整个作品就创作好了,赶紧运行代码感受一下自创的风扇吧。

四.总结与思考

本题是中级组编程部分第3题,分数为50分,积木块数量65个左右,涉及到的知识点主要包括:

  • 画笔的基本使用;

  • 画图技巧;

  • 自制积木;

  • 图形动画原理;

作为本次中级组省赛的第3题,难度中等,完成时间15分钟左右。本题的难点有两个,一是怎么绘制不受方向影响的三角形,二是如何绘制3个扇叶。

Scratch绘制图形是老生常谈的题目了,几乎每次都会考到,说来说去无非就是如下几个模型的组合和灵活运用:

  • 360万能公式

  • 中心法

  • 定点法

  • 螺旋法

  • 坐标4兄弟

  • 相对运动

  • 完璧归赵

这里的每一个模型,在历次的蓝桥杯真题都多次考过,之前的教程中也做过很多详细的介绍,这里就不再一一展开了。

超平老师在这里还要强调一下考试策略,如果发现旋转起来不太容易实现,可以放弃掉,不要这11分也罢,为了这11分,浪费半个小时可就不划算了。

单纯地绘制静态台扇应该比较容易吧,先拿到39分,赶紧做下一题吧。

超平老师给你留一道思考题,如果三角形使用万能公式模型方法来绘制,如何确保它不旋转呢,给个小提示,可以使用变量来控制扇叶的方向,你知道怎么实现吗?

你还有什么好的方法吗,非常欢迎您和超平老师交流分享。

如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香😄

需要素材和源码的,可以移步至“超平的编程课”gzh。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值