陈新龙
“纷飞的蝴蝶就像缤纷的落叶,载满思念、寄托希望在变迁的季节里悠然落下。”在文学的世界中我们可以通过语言表达爱意,在数学王国中我们也可以通过图形来表达爱意,从之前我们学习的心形曲线,到今天我们要学习蝴蝶曲线,这些神奇又美丽的数学王国精灵可以像名画一样,装点我们的生活。
蝴蝶曲线是美国南密西西比大学坎普尔·费伊发现的一种蝴蝶形的极坐标函数。当我们把这个函数绘制到坐标系平面时,就能获得一只翩翩起舞的蝴蝶,通过调整蝴蝶曲线变量Θ,可以调整改变曲线形状及方向(如图1)。
我们来看一下蝴蝶曲线的参数方程:
x=a*sint*(e^cost-2*cos4t+(sint/12)^5)
y=b*cost*(e^cost-2*cos4t+(sint/12)^5)
方程式中参数a控制图形的宽度,参数b控制图形的高度,参数t为角度。因此我们只要给出一个a(a=30)和b(b=30)的值,让t的值从t=0开始直到t=360,根据参数方程就能得到一系列坐标点(x,y),用画笔依次连接这些点就可以画出蝴蝶图案了。为了编写程序时更加简单直观,我们可以把方程中重复的部分用变量m=(e^cost-2*cos4t)和n=(sint/12)^5代替。
分析完蝴蝶曲线的公式特点后,我们可以在Scratch中编程了,创建曲线方程所需要的七个变量,创建自定义积木“画蝴蝶(a,b)”,其中需要增加两个输入项用于输入参数a和b(如图2)。根据上述公式,通过自定义积木计算出不同t值下点的坐标(x,y)。运用画笔移动画出线条,t的范围在0~360之间。重复执行直到t>360结束,就可以画出一个蝴蝶的图案了。
如果我們单纯地设定图形的宽度a和高度b,输出的样子就是单调的单线蝴蝶图案。
为了能够让蝴蝶曲线更绚丽,可以通过重复执行循环改变画笔的颜色和a、b值,画出不一样的蝴蝶。自行调整画笔的粗细、画笔的颜色、循环的次数绘画出不一样的蝴蝶曲线,建议将画布的背景颜色调整为黑色,可以按住shift开启加速模式,缩短长时间的绘制过程(如图3)。
在数学王国中,用很多代数曲线和超越曲线可以让我们联想到自然界很多现象,蝴蝶曲线就是其中一种,这么美丽的图案大家还不赶紧动手绘制一幅。