海星曲线也称之为星星曲线,好吧这是我给它现起的名字,如果有人也这么叫,那就肯定非法抄袭中国少儿编程网的,学习的话就不用计较它的名字了。

数学之美-scratch画海星曲线

在scratch中要想画出这个函数的图像很难,因为scratch就没有幂函数,经过几番尝试,还是放弃了,用scratch计算2的sin5θ次幂。我只能借助其它编程语言,采用枚举法依次改变θ的值(0~360)来得到函数的值,然后将所有结果导入到scratch列表里。

数学之美-scratch画海星曲线

这些点代表什么意思呢?

θ是角色的方向,列表里的值分别表示θ角为0---360时,角色到中心点的距离,例如θ=0,角色就是面向0度,距离中心点为1,也就时列表的第一项,那么θ=1,角色就是面向1度,距离中心点为0.94,也就时列表的第二项。

列表中数据范围(0--1.5),在scratch中画出来会非常小,所以我们给它扩大n倍(变量n用滑块控制放大倍数),代码如下

数学之美-scratch画海星曲线

运行结果如图

数学之美-scratch画海星曲线

那这个跟文章开头的形状也不像啊,因为列表中最小值为0,所以不管你扩大多少倍都会回到中心点,就像是5个花瓣,要像个五角星那样,就不能再回到中心点,于是我们再给列表中的值都统一加上一个值m,将m设置为50,看看效果:

数学之美-scratch画海星曲线

如果你感兴趣可以去下载源码,自己改变m和n的值。

scratch源码下载:数学之美-scratch画海星曲线


本站内容未经许可,禁止任何网站及个人进行转载。