APP下载

Scratch三角函数与爱心画法

2021-07-01

电脑报 2021年8期
关键词:表达式心形画法

前几天在B站看到一個用Python结合函数绘制爱心的方法,我这样一个充满好奇心的人肯定也要试试看,而且还要把这种算法带到Scratch中。

三角函数是基本初等函数之一,是以角度为自变量,角度对应任意终边与单位圆交点坐标或其比值为因变量的函数。三角函数中常用的有正弦sin、余弦cos、正切tan三种。在Scratch中我们可以在运算模块中调用这些函数(图1)。

下面我们来绘制sin和cos函数,先将舞台背景切换成坐标轴(Xy-grid),目的是为了清晰地了解绘制时的坐标情况。点击扩展画笔工具,将舞台中的内容全部擦除,设置画笔的粗细和颜色,并且添加一个变量“X的值”。很多同学会问,是不是需要再次添加一个变量“Y的值”呢?在只绘制三角函数时因为Y=sin(X)或Y=cos(X),Y直接用表达式写出来就可以了(图2)。

将画笔移到最左边,设X的值为-240,由于cos和sin在角度0-360之间的值是-1到1之间,为了让曲线更明显,我将sin(X)×100,扩大Y的变化值。同理将sin变为cos就可以绘制出cos曲线(图3)。

绘制完sin和cos三角函数曲线后我们可以开始绘制爱心图形了。可以绘制出不同爱心的函数表达式有不少,最有名的笛卡尔曲线我们之前介绍过,搜索“matlab心形图大全”,这里有多种平面和立体爱心的绘制公式。我挑选了一个较简单不需要分段函数的爱心画法(图4)。

这个心形的坐标表达式如下:

X=16(sint)3

Y=13cos(t)-5cos(2t)-2cos(3t)-cos(4t)

根据公式我们需要三个变量T,X,Y。X的值和Y的值通过T的变化来控制,重复360次,每次将T的值增加1,X变量设置为16×(sint)3;Y变量设置为13×(cost)-5×cos(2×t)-2×cos(3×t)-cos(4×t),之后你就可以看到一个完美的爱心啦。之后可以展示给自己喜欢的人看(图5)。

将公式转化为代码的难度并不大,大家还可以动一下脑筋,如何在此基础上添加出一些不同的花样呢?填充、渐变、特效……期待你的惊喜。

猜你喜欢

表达式心形画法
鳄鱼的画法
瓜里绘客厅
Heart心形浪漫
灵活选用二次函数表达式
制作心形贺卡
盘点八大奇葩的心形结构
寻找勾股数组的历程
多变的形象
议C语言中循环语句
天空的画法