用傅里叶级数大轮套小轮画任意函数曲线(2)

3. 画函数曲线,效果

在这一部分中,我们将做出结果如下面的效果图所示。使用的工具是 geogebra。可能需要Excel,并非必需。

用傅里叶级数5级“拟合”类似三角波的函数图形。这个函数是随便选的,在后文中能看到,改变成其他函数图形很容易就能能画出来。

在效果图中,紫色的是待“拟合”的函数,上面的深紫色点代表傅里叶级数之和在函数上的位置。傅里叶5个级数的圆,分别用 红、橙、黄、绿、蓝 表示,圆周上的点与当前级别的圆同一颜色。

5个圆间具有如下关系。

第1个圆上的点是第2个圆的圆心,
第2个圆上的点是第3个圆的圆心,
第3个圆上的点是第4个圆的圆心,
第4个圆上的点是第5个圆的圆心。

连接蓝点和紫点的水平虚线,其目的是为了能更方便观察大轮套小轮的结果与待拟合函数一致。

严格的说,紫色图形并非待“拟合”的函数,而是拟合的结果。待拟合的函数如下图所示。能够看出下图中的波形与紫色波形之间相似。

3.1 变量

共有3种变量。

第一种变量是 t,即 omiga t 中的 t,自变量,角度。定义如下。

设置为 slide,显示在屏幕上,自动播放。

第二种变量是 d1~d5,分别对应红圆到蓝圆的5个半径。

第三种变量是 theta1~theta5,分别分对红圆到蓝圆的5个初始相位。

在Excel中根据待求数的波形,得到d1~d5和theta1~theta5,如下。

把d1~d5和theta1~theta5的值从Excel抄到 geogebra。

以上,共11个变量,我放在了 Layer 0。

3.2 圆周和圆周上的点

第1个级别的圆周c1和圆周上的点a1分别定义如下,放在了 Layer 1中。

其中圆周c1的圆心为原点(0,0),是固定值;半径为第1级数的系数d1,在变量中定义了。

圆周上的点a1,其横坐标为在 半径d1 乘以 cos( 自变量t + 初始相位角theta1)。纵坐标原理类似。

除第1级数以外,其余的4个级数有相似的规律。以级数3为例,我把圆周和圆周上的点放在了 Layer 3中。

其中c3是圆周,(1)以前一级数的圆周上的点a2作为圆心,(2)半径为本级数的系数d3。除第1级数以外,其余的4个级数的共同规律是 圆周的圆心都是前一级数圆周上的点,半径为当前级数的系数d_k。

这里a4是第3级数圆周上的点,其横坐标为 在前一级数圆周上点a2的横坐标的基础上偏移 半径d3 乘以 cos( 自变量t + 初始相位角theta3)。除第1级数以外,其余的4个级数的共同规律是 横坐标都在前一级数的圆周上的点a_(k-1) 的基础上偏移,偏移量为 cos( 自变量t + 当前级数初始相位角theta_(k-1))。纵坐标有类似规律。

在下图的示例中,黄色3代表当前级数,红色2代表前一级数。

这样,就得到了以下元素,如下图所示。

5个圆的半径

5个圆的圆心

5个圆上的点

这是整个项目的核心部分。

3.3 作为背景对比的函数图像

声明如下函数。

每个级数都有 d_k*sin(x+theta_k)组成,这5个级数累加之和为f(x).

设置为紫色,得到了下图,与此前的5个圆叠印在屏幕上。

函数上的点,按下图定义。

其中的t即此前声明的变量t。

设置为紫色,如下图所示,红色箭头所指 紫色曲线上的点。

水平线,按下图定义。

设置线型为虚线,减小粗细,如下图红色箭头所指处。

水平虚线指示函数上的点的纵坐标。

3.4 大轮套小轮-函数曲线横向展开,对比

这一小节只包含解读,不是步骤之一。

水平虚线的纵坐标,与5个圆中第5级数圆周上的点的纵坐标,与函数上的紫色点的纵坐标,三者在动图中始终保持一致。如下图中的4个子图分别所展示的,函数曲线上的紫色点纵坐标始终与第5个圆周上的蓝色点始终保持相同。

 

因此左侧大轮套小轮的5个圆 与 右侧函数曲线的横向展开 是一致的。

4. 极坐标形式-原位轨迹跟踪

在变量t的settings中,设置增量和重复的方式,这样较易观察到现象。

按t的播放按钮。

得到下图,第5级数所刻画出的极坐标形式点的轨迹。这条轨迹沿x轴展开,对应紫色的函数曲线。如果我们站在原点(0,0)位置向外看,这颗在 均轮-本轮 上的蓝色星球,它所运行的轨迹时快时慢。

我们大胆地修改d1为更小的值,例如d1=2.053836824,可以得到下图。

两个红色箭头所指的地方,站在原点(0,0)看来,星球在自东向西(在北半球向南天看,即顺时钟)运行时,突然回头改为自西向东(逆时钟),过了一段时间,又恢复为自东向西(顺时钟)。可能,古人就会震惊这颗星球轨迹奇异,显然不是运行在球形天穹上,把它命名为荧惑吧。在右上角附近,还能看到这颗星球会停下来几天,是在等候什么大事发生?

5换个函数

我们很容易就能换个函数图像来画,例如下面的波形。

用Excel求得傅里叶系数如下。

把上述系数赋值到geogebra……

这个操作过于繁琐,我们想个快捷的办法。

复制上图,然后 选择性粘贴。先按 数值 粘贴,再 转置。得到箭头所指的区域。

复制箭头所指的区域,贴到记事本中,简单编辑,加等号得到下图。

再从记事本中复制,备用。

在Geogebra 中增加控件 按钮。

把caption改为“换函数”。

这个按钮的Settings | Scripting | On Click,把刚才从记事本中复制到的文字粘贴在这里。

关闭Settings,点击换函数,函数曲线以及系数更换完毕。下图中,左边是 geogebra中的效果,右边是Excel中原函数的曲线,差不多吧。

再换一个。

重复上述步骤,得到下图。

再换一个函数。

得到下图。

 

Leave a Reply

Your email address will not be published. Required fields are marked *