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

文摘   教育   2024-09-07 20:45   湖北  

[导读]:超平老师的《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分,赶紧做下一题吧。

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

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

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

需要素材和源码的,可以添加本人微信

另外,超平老师创建了一个蓝桥杯备考交流群,这是专门为老师和家长打造的免费社群,您可以与来自全国各地的老师、家长共同交流经验,分享学习心得。

超平老师也会给大家带来及时的赛事动态,备考攻略,真题资源分享,帮助各位更好备考第15届蓝桥杯赛事,力争取得优异的成绩。

扫码或长按加入微信群

超平的编程课
青少儿编程教育专家,中国人民大学硕士,大学讲师,曾任知名上市机构金牌讲师,16年编程教研经验。大耳猴少儿编程联合创始人,致力于通过编程教育提升孩子的逻辑思维、数学思维和计算思维,迎接AI时代。
 最新文章