【蓝桥杯】第11届Scratch国赛中级组第6题 -- 3D打印小猫

本文介绍了蓝桥杯大赛中关于3D打印小猫的Scratch编程题目,详细阐述了设计思路与实现方法。通过滑杆控制小猫形状变化,按下空格键进行扫描并打印造型。文章分解了小猫的逐层扫描过程,使用循环嵌套实现,并通过广播协调各个角色间的交互。

[导读]:蓝桥杯大赛是工业和信息化部人才交流中心举办的全国性专业信息技术赛事。蓝桥杯大赛首席专家倪光南院士说:“蓝桥杯以考促学,塑造了领跑全国的人才培养选拨模式,并获得了行业的深度认可。”

春雷课堂计划推出Scratch蓝桥杯真题解析100讲,这是春雷老师解读Scratch蓝桥杯真题系列的第003讲。

3D打印小猫

来源:第11届蓝桥杯Scratch国赛真题编程第6题,是中级组最后一题,初级组没有此题。

代码:若需要代码可添加小助手微信索取。

1. 题目说明

背景信息:3D打印技术,它与普通打印工作原理基本相同,打印机内装有液体或粉末等“打印材料”,与电脑连接后,通过电脑控制把“打印材料”一层层叠加起来,最终把计算机上的蓝图变成实物。

编程实现:通过滑杆控制小猫造型变化,按下空格键,传感器进行扫描并在小猫右侧打印它的造型。

具体要求

(1)当小绿旗被点击后,角色出现在舞台对应位置;

(2)通过滑杆控制小猫形状变化(外观特效:鱼眼,滑杆范围:-100~100);

(3)按下空格键,小猫左侧出现传感从下到上对小猫进行全身扫描,同时在右侧从下到上依次画出扫描过的部分身体;

(4)当完成扫描后,右侧程序完整造型效果;

(5)点击绿旗,程序可重新开始。


2. 设计思路

(1)整体思路

我们可以将小猫从下到上分成若干层,每一层又由若干个点构成的。如果能确定小猫的层数,以及每一层中所要打印点的位置,那么我们就可以使用Scratch画笔来绘制出黑色的小猫。

在对小猫进行逐层扫描的过程中,对点的大小把握显得至关重要,点越小,效果越好,但需要扫描的次数也更多,一般来说,选择1个像素(等于Scratch中的1步)是最合适的。所以绘制一个大小为1的小圆点作为“扫描点”角色,等待玩家按下空格键,将该角色移到小猫的左下方,从左到右,从下到上进行逐层扫描。此处注意小圆点要放置在中心点位置(角色的坐标即为该角色中心点的坐标)。

为了让“Magic Wand”与题目所给图形一致,也为了更好地跟随“扫描点”移动,需要对“Magic Wand”的造型进行修改。此处注意,中心点位置为“Magic Wand”的头部。

本题一共使用了4个角色,如下图所示:

根据题目描述,我们可以绘制流程图来整理思路,小猫的执行流程如下:

“扫描点”的执行流程如下:

“Magic Wand”的执行流程如下图:

“Pencil”的执行流程如下图:

(2)本题关键

  • 如何让“扫描点”进行由下到上,由左到右的逐层扫描?
  • 在“扫描点”逐层扫描的过程中,如何让“Magic Wand”跟随“扫描点”移动?
  • 在“扫描点”逐层扫描的过程中,如何让“Pencil”绘制对应的打印点?

可以使用循环嵌套的方式来实现由下到上,由左到右的逐层扫描。首先让“扫描点”移到小猫的左下方,外层循环控制由下到上越过小猫,内层循环控制由左到右越过小猫,这样就完成了对小猫的扫描。

在“扫描点”逐层扫描的过程中不断记录“扫描点”的坐标,并通过广播的方式通知“Magic Wand”来更新坐标位置,从而实现“Magic Wand”跟随“扫描点”移动。

在“扫描点”逐层扫描的过程中侦测是否碰到小猫,若碰倒小猫,则通过广播的方式通知“Pencil”进行描点,在“Pencil”接收到广播后,X坐标增加一些步数,开始描点,从而实现在小猫的右侧绘制对应的打印点。

3. 实现脚本

(a)小猫角色

主要是实现鱼眼特效。

(b)扫描点角色

这里使用了两层嵌套循环,外层的循环重复执行了152次,表示将小猫分152层进行逐行扫描,每一层扫描完毕,都回到左边,并向上移动一层,进行下一层的扫描。

内层循环则是自左至右重复执行120次,每移动1步,都需要记录下该点的x,y坐标,分别保存在变量xy中,发送给Magic Wand。在扫描过程中,如果碰到小猫,就说明这个点是有效的打印点,发送给画笔。

(c)Magic Wand角色

该角色的作用就是让用户看到扫描的过程,但真正完成扫描工作的是”扫描点“角色。

(d)Pencil角色

需要注意的是,这里的x坐标值为“打印点x + 120”,其作用是在小猫的右侧120步处开始打印小猫,如果没有右移的话,那么打印出来的小猫和原来的小猫会重叠,至于右移多少,可以自己设定,比如100步、150步都可以。

从手写、流畅度体验及键盘办公场景来看,苹果M4 iPad Pro 11寸的综合体验确实领先,但小米Pad 8 Pro和iPad Air也各有优势,荣耀Pad 3 Pro 13寸则更适合特定需求。以下是具体分析: 1. **手写体验**: - **M4 iPad Pro 11寸**:Apple Pencil 2代支持120Hz动态刷新率,延迟低至9ms,压感灵敏且支持倾斜/侧压,配合iPadOS的绘画/笔记软件(如Procreate、GoodNotes),手写体验接近真实纸笔,是目前平板中的标杆。 - **小米Pad 8 Pro**:小米灵感触控笔支持4096级压感,延迟约16ms(官方数据),搭配MIUI Pad的笔记应用(如云记、概念画板),日常记笔记、简单绘画够用,但专业创作仍逊于iPad Pro。 - **iPad Air**:同样支持Apple Pencil 2代,手写体验与iPad Pro接近,但屏幕刷新率仅60Hz,快速书写时流畅度略弱于Pro。 - **荣耀Pad 3 Pro 13寸**:Magic-Pencil 3代压感2048级,延迟约20ms,大屏适合分屏记笔记,但手写精细度(如压感层级)和软件生态(如缺乏Procreate级应用)弱于苹果。 2. **流畅度体验**: - **M4 iPad Pro 11寸**:M4芯片(10核CPU+16核GPU)性能远超安卓阵营,多任务(如同时运行LumaFusion剪辑+Safari分屏)无卡顿,且iPadOS的后台管理机制更高效。 - **小米Pad 8 Pro**:天玑9300+芯片性能接近骁龙8 Gen3,日常使用流畅,但高负载场景(如大型游戏+后台多应用)可能不如M4稳定。 - **iPad Air**:M2芯片性能足够流畅,但相比M4少了1颗性能核心和2颗能效核心,长期使用(如3-5年后)的流畅度保持可能弱于Pro。 - **荣耀Pad 3 Pro 13寸**:骁龙8 Gen3性能强劲,但MagicOS的动画流畅度和后台保活能力(如同时开20个应用)略逊于iPadOS。 3. **键盘办公体验**: - **M4 iPad Pro 11寸**:妙控键盘支持触控板、背光键帽和1mm键程,打字手感接近MacBook,配合iPadOS的台前调度(Stage Manager),多窗口办公效率高。 - **小米Pad 8 Pro**:小米智能键盘键盘支持81键布局和1.3mm键程,但缺乏触控板,需依赖触屏操作,办公效率低于iPad。 - **iPad Air**:妙控键盘兼容,但键盘手感与Pro一致,办公体验接近Pro,但屏幕尺寸(10.9寸)略小,分屏操作空间有限。 - **荣耀Pad 3 Pro 13寸**:荣耀智能键盘支持1.5mm键程和触控板,大屏分屏办公更舒适,但MagicOS的多任务交互(如自由窗口)不如iPadOS成熟。 4. **生态优势**: - 苹果的iCloud、Handoff、通用控制等跨设备协同功能,以及Procreate、LumaFusion等专业软件生态,是目前平板中最完善的,尤其适合苹果全家桶用户。 - 安卓阵营(小米、荣耀)的跨设备协同(如小米互传、荣耀分享)已逐步完善,但专业软件数量和质量仍不如苹果,更适合轻度办公和娱乐。 ```python # 模拟平板体验评分(1-10分,越高越好) def tablet_experience_score(model): scores = { "M4 iPad Pro 11寸": {"手写": 9.5, "流畅度": 9.8, "键盘办公": 9.2, "生态": 9.7}, "小米Pad 8 Pro": {"手写": 8.0, "流畅度": 8.5, "键盘办公": 7.5, "生态": 7.0}, "iPad Air": {"手写": 9.0, "流畅度": 9.0, "键盘办公": 8.5, "生态": 9.0}, "荣耀Pad 3 Pro 13寸": {"手写": 7.5, "流畅度": 8.5, "键盘办公": 8.0, "生态": 7.5} } return scores.get(model, "未知型号") print(tablet_experience_score("M4 iPad Pro 11寸")) # 输出:{'手写': 9.5, '流畅度': 9.8, '键盘办公': 9.2, '生态': 9.7} ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青少年编程备考

感谢您的支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值