今天,动手实现一下李萨如图。
在此之前,先简单说一下矢量合成,而这也是之后李萨如图编程实现的关键所在。
对于矢量合成,所谓的三角形法则和平行四边形法则你可能非常熟悉了。
这是两个“静止”的矢量进行合成,那么像是如下两个矢量如何合成呢?
以上两个表达式的各符号具体意义可自行看简谐振动相关内容,这里不会赘述。
可以看出,矢量x1与x2的大小、方向都随参数t,即时间而不断变化,但这样的两个矢量的合成依然可用三角形或平行四边形法则,更准确地说,是在每个瞬时时刻进行的矢量合成遵守三角形或平行四边形法则。
对于李萨如图,可以基于此原理轻松得出。方法是用振动方向相互垂直的两个简谐振动,如下
在平面直角坐标系XOY中,矢量x的振动方向为与x轴的平行方向,矢量y的振动方向为与y轴的平行方向。为了简洁,可使x、y矢量的振幅A1、A2为1,即
如果用这两个方程来决定一个假想的粒子运动的话,这个粒子将分别沿x轴、y轴做简谐振动,注意,是同一个粒子同时在两个垂直的方向上分别做简谐振动!这并不是什么分身术,而只是普通的矢量相加!那么由这么两个方程决定的粒子的运动轨迹如何?
不难发现,在同一时刻t,矢量x、y的终点指向的分别是该粒子此时的x轴、y轴坐标(x、y矢量起点在XOY系原点)。由此看以下代码
t=0:0.00001:1; % 一段时间
m=1; % 使圆频率之比为1:1
n=1;
cfre1=(2*pi*100)*m; % x方向 简谐振动的圆频率
cfre2=(2*pi*100)*n; % y方向 简谐振动的圆频率
p1=0; % x方向 简谐振动的初相位
p2=0; % y方向 简谐振动的初相位
x=cos(cfre1*t+p1); % x方向简谐振动方程
y=cos(cfre2*t+p2); % y方向简谐振动方程
plot(x,y,'r');
以下为程序运行结果
这一直线段,即为此情况下粒子的运动轨迹,此图简洁,也没有什么视觉冲击,但是对应的还有其他情况,只需改变m:n的值即可,结果如下图所示
至于其它的m:n值,请自行尝试。
若想生成更为复杂的图形,可以在改变m:n的同时试着改变一下两个方程的初相位,也请自行尝试。
做过大学物理实验的读者应该还记得示波器在蓝色荧光屏上打出的漂亮图案,其原理与此大同小异,也是由两个方向上运动的合成。
还有,不知你是否想到,将相互垂直的两个简谐振动换为相互平行的两个简谐振动,并再次改变圆频率之比以及初相位会发生什么?这样又可以轻松地观察到“拍现象”,读者自行尝试。