scratch编程04-使用扩展中的画笔绘制不规则的花瓣

目录

1,添加画笔模块 

2,绘制一片花瓣

1)在哪个位置绘制及画笔的朝向是往左还是往右

2)绘制花瓣时,画笔的旋转角度该怎么设置才能够让绘制出来的花瓣有弧度,而不是一条线

3)怎么才能够让另外一个边和之前绘制好的边重合

3,绘制一朵花

4,sb3文件 


1,添加画笔模块 

 在scratch软件中,默认是没有画笔模块的,当我们需要的用的时候,就需要点击软件的左下角去添加画笔模块,如下👇

2,绘制一片花瓣

想象一下,现在我们有一只铅笔在手上,如果要绘制一片花瓣,是不是得需要先确定以下4点:

  1. 在哪个位置绘制
  2. 画笔的朝向是往左还是往右
  3. 绘制花瓣时,画笔的旋转角度该怎么设置才能够让绘制出来的花瓣有弧度,而不是一条线
  4. 花瓣有两个边,绘制一个边之后,画笔的旋转角度该怎么选择,才能够让另外一个边和之前绘制好的边重合

接下来就来确定以上提出来的4点。

1)在哪个位置绘制及画笔的朝向是往左还是往右

绘制的位置其实不用太纠结,一般选择舞台的中心位置(0,0)就可以,如果不喜欢在中间绘制图形,也可以选择其它的位置,这个位置的选择并不会对我们绘制花瓣图形造成太大的影响。

如下,我选择将画笔移动到舞台的中心位置(需要注意的是,在画笔移动之前,需要将画笔抬起来,不然画笔每一次移动都会在舞台留下痕迹),现在我选择一个“pencil”铅笔角色来作为我的笔在舞台区绘制图形:

2)绘制花瓣时,画笔的旋转角度该怎么设置才能够让绘制出来的花瓣有弧度,而不是一条线

 在绘制花瓣的之前可以看到,花瓣是有弧度的,并不是一条直线或者是折线,这个时候就需要没移动一次就控制一下它的旋转角度,来实现弧度。

我一开始的想法是这样的:

  • 首先让画笔向右移动20步(也可以是其它步数,这里建议步数大些,因为花瓣是瘦长.....虽然也有胖短的,但是一开始的步数都建议往20左右设置,这样的花瓣才好看。这里的步数仅仅只是花瓣一开始的移动,不涉及到弧度)
  • 在第一步移动好之后,就可以考虑让画笔开始向左(或向右)旋转,旋转方向也可以按自己喜欢来设置,这里我旋转向左旋转。确定了旋转方向之后,我又该让画笔旋转几度比较好?这个时候就可以先在scratch软件上手动绘制一片花瓣,之后在使用画笔绘制花瓣的过程中就有了参照。

 

  • 确定好花瓣的图形之后,通过观察可以发现,花瓣的弧度很小,基本上没有什么起伏,并且花瓣的边沿离x坐标不远(图中的花瓣和x轴的夹角目测不超过10°,这个时候就可以先尝试让画笔向左旋转10°,观察画笔的状态)

感觉效果还不错,有点弧度,就是弧度还是偏大,因为整个线条是向上翘起来的。这个时候将旋转的角度改小一半,如下👇

这个时候的弧度刚刚好。

至于为什么让画笔向左旋转5°会是上面的效果,请看下图👇

因为后面要移动旋转多次,所以可以搞一个循环语句(大概循环3~4次,如果不够,可以自己增加循环的次数),让画笔在每移动20步就旋转5°,如下👇

继续观察绘制出来的线条,可以看到,下面已经和花瓣的下边沿类似,但是在花瓣尖尖角的地方,弧度突然变大,所以这个时候不再是左转5°,可以提高旋转的角度,并让画笔继续移动,如下👇

也可以不进行修改,保持原来的样子:

 绘制好花瓣的下边沿之后,我就需要去绘制花瓣的上边沿,因为绘制花瓣的上边沿和绘制下边沿的步骤是一样的的,唯一的不同就是下边沿到上边沿的时候需要将画笔进行一次旋转。旋转的角度一般是钝角,如下👇

确定好下边沿旋转到上边沿的角度之后,还需要自制一个新的积木(创建一个无参函数)来存放相同的操作

   👉👉👉 👉👉👉

3)怎么才能够让另外一个边和之前绘制好的边重合

观察2)中绘制的花瓣,会发现,两个边沿都没有相交,这个时候可以让上边沿继续移动,至于移动的步数,观察图,可以先旋转10步,如下

 这个时候可以考虑把下边沿绘制好后的画笔左转角度变大,让花瓣变“瘦”窄,使得两边的边沿能够相交,如下,我先尝试了将左转角度设置为145°

此时和我想要的结果很接近了 ,继续将旋转角度增大,如下👇

左转的角度是要自己去不断的调整,只要达到自己想要的结果就行。

 如上,就实现了绘制一片花瓣,接下来可以使用“重复执行直到()次”语句块来绘制多片花瓣。

这里需要注意的是,在绘制好一片花瓣之后,画笔的坐标停留在(-9,-5),为了之后方便对角度的控制,建议将画笔的坐标依旧移动到(0,0)原点处。如下👇

3,绘制一朵花

 在前面已经能够绘制一朵花的一片花瓣,这个时候可以将绘制花瓣的积木统一放一起,之后使用的时候会更加方便

因为我最后想要实现的效果是绘制出一朵花(花瓣数可以更改),所以这里可以给一个函数(自制一个积木),用来绘制花朵,并且建立一个变量“花瓣数”用来存放我想要设置的花瓣数,如下👇

 自然界中的花都是一个圈,外面再连接着好几片花瓣。因此可以知道,花瓣需要旋转一圈才能够形成一朵花,而一圈旋转下来就是360°。

例如,现在我想要绘制一朵有着6片花瓣的花,那么每一朵花之间的夹角就是360°/6=60°

如果想要绘制一朵有着24片花瓣的花,那么每一朵花之间的夹角就是360°/24=15°

所以画笔每画完一片花瓣,都需要旋转度数:360°/花瓣数。

现在我要绘制有着12片花瓣的花,因此这里我将花瓣数设置为了12 ,如下👇

因为画笔每绘制好一片花瓣之后,都会回到原点,并且朝向右边,如果不加偏移量,那么绘制出来的花瓣只有两片(后面的花瓣都和第二片花瓣重叠在了一起)。

花朵的雏形现在有了,画笔模块的其它功能上面还没有用到,接下来我将画笔的颜色,粗细放进来:

 如果不想自己写入确切的数字,可以使用运算模块里面的随机数来设置相应的数值,如下👇

 

 

4,sb3文件 

对应的scratch3文件链接见本文所在专栏:

 

以上就是画笔的基础使用,如果有问题请在评论区留言或者是私信我(回复时间不会超过一天)。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AGI 之 【Hugging Face】 的[ 简单介绍 ] [ 基础环境搭建 ] 的简单整理

AGI 之 【Hugging Face】 的[ 简单介绍 ] [ 基础环境搭建 ] 的简单整理 目录 AGI 之 【Hugging Face】 的[ 简单介绍 ] [ 基础环境搭建 ] 的简单整理 一、简单介绍 二、Hugging Face 三、环境搭建 python 环境的搭建 Pycharm 环境搭建 1、下载 Pycharm 安装包 2、安装 …

SAP_ABAP模块-记录第三方通过Webservice调用SAP接口时的问题

一、业务背景: 最近SAP有个货物移动的接口需要优化,之前与第三方销售管理平台对接,一直都没有问题的,但是现在SAP这边优化后,然后对方平台的开发同事说,调用不成功,报错了,最开始一直…

Linux测试服务器端口是否打开

前言 服务器端口在计算机网络通信中扮演着至关重要的角色,其作用可以归纳如下: 区分不同的应用程序或服务: 服务器端口用于标识和定位不同应用程序或服务在服务器上的通信入口。 通过不同的端口号,服务器可以同时运行多个应用程…

基于单电阻采样的电流重构

1. 单电阻采样电流重构原理 图1(a)所示是电压型三相逆变器,定义三相开 关信号为 Sa 、Sb 、Sc 。当 Sa = 1 表示A相上桥臂导 通,下桥臂关断;Sa = 0 表示相反。三相逆变器采用 SVPWM调制方式控制,有8种开关工作状态,包括 6个非零电压矢量V1 ~ V6 和2个零电压矢量V0 、V7…

连接和断开信号演示之二

代码; #include <gtk-2.0/gtk/gtk.h> #include <gtk-2.0/gdk/gdkkeysyms.h> #include <glib-2.0/glib.h> #include <stdio.h>void button_press(GtkEventBox *ebox,GdkEventButton *event,GtkLabel *label) {const char *citem;switch(event->type…

ESU-EM213热作模具钢粉末推动3D打印在压铸行业应用

模具的种类繁多&#xff0c;依据制造方式和产品特性&#xff0c;可以分为注塑模具、压铸模具、冲压模具等多种类型。其中&#xff0c;压铸模具因工况恶劣&#xff0c;特别是在铝压铸过程中&#xff0c;模具需承受高温&#xff08;50-300℃&#xff09;及高压高速金属液的冲击&a…

JMeter的基本概念

一、主流测试工具 1&#xff0c;Loadrunner HP Loadrunner是一种工业级标准性能测试负载工具&#xff0c;可以模拟上万用户实施测试&#xff0c;并在测试时可实时检测应用服务器及服务器硬件各种数据&#xff0c;来确认和查找存在的瓶颈 支持多协议:Web(HTTP/HTML)、Windows…

修改SpringBoot项目配置文件

方法一&#xff1a; 修改application.properties文件 //示例 server.port9090 server.servlet.context-path/start 重启后效果&#xff1a; 方法二&#xff1a;&#xff08;推荐&#xff09; 修改application.yml文件&#xff08;文件后缀亦可为.yaml&#xff09;&#xff…

MLP多层感知器:AI人工智能神经网络的基石

MLP 是指多层感知器&#xff08;Multilayer Perceptron&#xff09;&#xff0c;是一种基础人工神经网络模型&#xff08;ANN&#xff0c;Artificial Neural Network&#xff09;。MLP 的核心是通过深度学习从大量数据中学习特征和模式&#xff0c;并训练参数。通过参数与激活函…

Java——IO流(一)-(6/8):字节流-FileInputStream 每次读取多个字节(示例演示)、一次读取完全部字节(方式一、方式二,注意事项)

目录 文件字节输入流&#xff1a;每次读取多个字节 实例演示 注意事项 文件字节输入流&#xff1a;一次读取完全部字节 方式一 方式二 注意事项 文件字节输入流&#xff1a;每次读取多个字节 用到之前介绍过的常用方法&#xff1a; 实例演示 需求&#xff1a;用每次读取…

Star、Star求Star

本章是介绍博主自己的一个小工具的。使用的PythonPyQt5开发的。顺带来求一波star&#x1f31f;&#x1f31f;&#xff01;&#xff01;&#xff01; 地址&#xff1a;https://gitee.com/qinganan_admin/PyCom Pycom是博主开发的串口工具&#xff0c;要是说对比其他串口工具&…

异步复位同步释放

目录 描述 输入描述&#xff1a; 输出描述&#xff1a; 参考代码 描述 题目描述&#xff1a; 请使用异步复位同步释放来将输入数据a存储到寄存器中&#xff0c;并画图说明异步复位同步释放的机制原理 信号示意图&#xff1a; clk为时钟 rst_n为低电平复位 d信号输入…

为何人类需重复学习与记忆?人工智能与人类认知机制的融合 —— 生物体AI

零、 AI 与人的认知背景知识 人作为一种生物智能体&#xff0c;学习和记忆的过程往往需要重复与实践。这是因为人的大脑并非一次性就能完美地吸收和储存信息&#xff0c;而是通过反复的认知加工&#xff0c;将短期记忆转化为长期记忆&#xff0c;并通过深度理解、归纳总结以及…

【GUI】LVGL无操作系统移植以及移植过程错误处理

目录 介绍 1. 删除源码 2. 导入lvgl到项目screen_mcu中 3. keil添加分组和头文件 4. 移植显示 5. 移植触摸 6. 添加测试案例 6.1. 测试按钮 6.2. 测试音乐界面 7. 提供时钟 错误处理 L6218E错误 出现花屏 屏幕颜色不对 内存分配 介绍 本文 主要介绍GD32移植…

qt经典界面框架

目的 其实就是一个简单的界面显示&#xff0c;是很常用的形式。 说起来简单也是简单&#xff0c;但当初&#xff0c;刚开始做时&#xff0c;感觉非常的复杂&#xff0c;不知如何下手。 现在感觉简单多了。 这个框架利用了QT的现成的MainWindow与QDockWidget&#xff0c;这样就…

福建聚鼎:装饰画现在做起来难吗

在当代社会&#xff0c;艺术创作已经成为很多人表达自我、追求美学生活的方式之一。装饰画作为家居装饰的重要元素&#xff0c;也受到了越来越多人的喜爱。但做一个优质的装饰画真的容易吗? 从技术层面讲&#xff0c;随着科技的发展&#xff0c;制作装饰画的手段和材料都比以往…

Python基础教程(二十八):pip模块

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; &#x1f49d;&#x1f49…

NUC980-OLED实现全中文字库的方法

1.背景 有一个产品&#xff0c;客户需要屏幕展示一些内容&#xff0c;要带一些中文&#xff0c;实现了OLED12864的驱动&#xff0c;但是它不带字库&#xff0c;现在要实现OLED全字库的显示 2.制作原始字库 下载软件pctolcd2002 设置 制作字库 打开原始文件 用软件自带的&…

Linux常用命令(14)—查看文件内容(有相关截图)

写在前面&#xff1a; 最近在学习Linux命令&#xff0c;记录一下学习Linux常用命令的过程&#xff0c;方便以后复习。仅供参考&#xff0c;若有不当的地方&#xff0c;恳请指正。如果对你有帮助&#xff0c;欢迎点赞&#xff0c;关注&#xff0c;收藏&#xff0c;评论&#xf…

12.爬虫---PyMysql安装与使用

12.PyMysql安装与使用 1.安装 PyMySQL2.使用PyMySQL2.1创建数据表2.2连接数据库2.3增加数据2.4修改数据2.5查询数据2.6删除数据2.7关闭连接 3.总结 MySQL 安装可以看这篇文章MySql 安装与使用&#xff08;非常详细&#xff09; 1.安装 PyMySQL PyMySQL是Python中用于连接MySQL…