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

news2024/11/18 2:46:20

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

春雷课堂计划推出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步都可以。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/107388.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux网络协议之TCP协议(传输层)

Linux网络协议之TCP协议(传输层) 文章目录Linux网络协议之TCP协议(传输层)1.理解TCP协议2.谈谈可靠性问题3.TCP协议格式4.关于TCP的两个问题5.TCP序号与确认序号6.TCP缓冲区7.TCP窗口大小8.TCP的六个标志位9.确认应答机制(ACK)10.超时重传机制11.连接管理机制11.1 三次握手和四…

LEADTOOLS 入门教程: 使用 H264 视频创建 DICOM 文件 - 控制台 C#

LEADTOOLS是一个综合工具包的集合,用于将识别、文档、医疗、成像和多媒体技术整合到桌面、服务器、平板电脑、网络和移动解决方案中,是一项企业级文档自动化解决方案,有捕捉,OCR,OMR,表单识别和处理&#x…

Android系统之路(初识MTK) ------Android11.0添加Recents一键清除最近任务按钮

Android11.0添加Recents一键清除最近任务按钮 今天因为在复测昨天的一个monkey压测并且还没测完,所以打算记录最近做系统开发的一些心得和经验,也记录一下自己的系统开发历程 修改前效果: 修改后的效果: 后期补上… 需要修改的文件列表(注意:各个版本或平台可能要修改…

Git使用

一、Git介绍 1.1、版本控制 在我们日常生活中,使用微信6.5.3版本,QQ7.4版本,Chrome 43.0.2357.65 版本,表示的都是某些软件使用的版本号。这些软件在开发过程中,版本都是由1不断的变化而来。对于软件公司来说&#x…

用魔法打败魔法!AI识别名人造假视频;OpenAI开源Point-E进军3D打印市场;谷歌CALM算法加速文本生成… | ShowMeAI资讯日报

👀日报合辑 | 🎡AI应用与工具大全 | 🔔公众号资料下载 | 🍩韩信子 📢 用魔法打败魔法!基于面部、手势和声音识别名人 deepfake 视频 https://www.pnas.org/doi/pdf/10.1073/pnas.2216035119 Deepfake 是 …

模型评估指标

模型评估指标【准度、精度、召回率、F1-score及ROC曲线】总结 参考于李沐的机器学习课程。 通常要使用多个模型综合评价一个模型的好坏。 Accuracy 预测正确的个数 / 样本总个数 sum(y_pred y_label)/y_label.size()Precision 正确地预测为类别 i 的个数 / 预测为 i 的总…

【信管5.1】进度管理规划与活动

进度管理规划与活动进度这个东西,相信在不少老板眼里就是你加班的基础。进度赶不上了怎么办?加班呀,进度赶上了呢?再多做点东西呀!反正加班这件事是少不了的,当你学习完我们的项目管理知识之后,…

求词频与逆词频SnowNLP.tf与SnowNLP.idf

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 求词频与逆词频 SnowNLP.tf与SnowNLP.idf 选择题 以下关于python代码表述有误的一项是? from snownlp import SnowNLP myText ([ [python, python], [python, 编程, 编程], [django, py…

Java项目:springboot+vue教室图书馆预约管理系统

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 智慧物联网教室预约系统-后台系统 项目简介: 这是一个前后端分离的教室预约和查看系统项目,能够实现以教室为单位活动的预约和取…

【微服务】Nacos为什么放弃短连接(http)而选择拥抱长连接(gRPC)

目录 一、现状背景 二、场景分析 1、配置 2、服务 三、长连接核心诉求 1、功能性诉求 1.1、客户端 1.2、服务端 2、性能 3、负载均衡 4、连接生命周期 4.1、心跳保活机制 4.2、需要什么 四、长连接选型对比 五、基于长链接的⼀致性模型 1.、配置⼀致性模型 1.…

【软件测试】8年测试老鸟的解读,测试人你的发展?测试开发......

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 测试开发到底是测试…

引擎入门 | Unity UI简介–第3部分(3)

本期我们继续为大家进行Unity UI简介(第三部分)的后续教程 本篇内容 7.使面板上下滑动 文章末尾可免费获取教程源代码 本篇本篇Unity UI简介(第三部分)篇幅较长,分为八篇,本篇为第三篇。 7.使面板上下…

第6章 关系代数语言

第6章 关系代数语言 考试范围:6.1 考试题型:计算题 考试内容:关系代数操作 Selection Projection Join Cartesian product Rename Union set-difference intersection 1、Selection(选行操作) 2、Projection(选列操作) 3、Join N…

rabbitmq基础4——单机多节点集群、多机集群部署、基础功能测试

文章目录一、一机多实例集群1.1 三机启动1.2 立主纳从1.3 查看集群状态1.4 web监控1.5 测试1.5.1 数据同步1.5.2 一从死,主仍战1.5.3 从复活,死亡期间数据同步1.5.4 主死,从活但不可用二、多机集群2.1 确定主机名2.2 三机部署rabbitmq2.3 设主…

白话说Java虚拟机原理系列【第二章】:Class字节码文件详解

前导说明: 本文基于《深入理解Java虚拟机》第二版和个人理解完成, 以大白话的形式期望能用大家都看懂的描述讲清楚虚拟机内幕, 后续会增加基于《深入理解Java虚拟机》第三版内容,并进行二个版本的对比。 Class字节码文件的数据结构…

ChatGPT 帮我跑了一个完整的 DevOps 流水线,离了个大谱...

大家好,我是米开朗基杨。上篇文章给大家介绍了👉如何将 N 个 ChatGPT 账号接入微信,今天就来给大家演示一下如何利用 ChatGPT 帮我工作,让自己有更多的时间摸鱼!上篇文章还没看的赶紧去看👇我将 9 个 ChatG…

SpringBoot2核心技术(核心功能)- 05、Web开发【5.3 请求参数处理】

5.3、请求参数处理 0、请求映射 1、rest使用与原理 xxxMapping;Rest风格支持(使用HTTP请求方式动词来表示对资源的操作) 以前:/getUser 获取用户 /deleteUser 删除用户 /editUser 修改用户 /saveUser 保存用户 现在&#xff1…

Google 释出开源软件漏洞扫描工具 OSV-Scanner​

开源开发人员可在项目使用 OSV-Scanner,透过比对依赖项目和 OSV 漏洞资料库,找出项目的依赖项目中所存在的漏洞。Google 推出免费工具 OSV-Scanner(https://github.com/google/osv-scanner),供开源开发人员可以更简单地…

docker网络模式 与 搭建nginx

目录 1. docker网络模式 2. 连接容器的三种方法 3. Docker Networking 3.1 创建网络 3.2 查看宿主机中创建的网络 3.3 删除网络 3.3 如何使用网络 4.搭建Nginx 1.准备工作 1.1 拉取镜像 1.2 在宿主机中创建挂载目录 2.准备2个tomcat 容器集群 3.准备 Nginx配置 3.…

ffmpeg 命令的简单使用

ffmpeg命令是在windows端使用的,使用前,需要先下载对应的 exe文件 1.准备环境 访问FFmpeg官网的下载地址(https://www.gyan.dev/ffmpeg/builds/)下载对应的压缩包,解压后即可使用 2.使用 ffmpeg.exe的使用 • 功能 …