用Mathematica演示圆的各种摆线——内摆线
当一个圆在另一个圆上均匀的滚动,前者上面的某个点的轨迹,是一个非常精美的图形;这是天体运动的一种简化模型,假设所有的天体的运行轨道都是圆形。 即使是简化模型,当要处理若干天体的运动轨迹也是很复杂的。 比如,月球——地球——太阳——银河系中心,这是一个四级绕转系统,假设日地月的绕转轨道都是圆形,那么,以银河系中心为原点,月球的运动轨迹是个什么图形呢?是不是很复杂? 这里不考虑复杂的问题,只研究一个圆在另一个圆内部滚动的情形,工具是Mathematica。


2、 动画模拟: 把“被追踪点”定为蓝色、大小为0.1,它的轨迹为红色、粗细度0.02。 代码如图: 注意各项参数的设置,尤其是动画控制参数。(下面的图片被后期处理的时候压扁了,所以看着圆形是个椭圆形。)


内摆线
1、 圆A在另一个圆B的内部滚动,“被追踪点”在圆A上,其轨迹就是“内摆线”。 内摆线的参数方程是{x=(R-r)cos(t/R)+Rcos((R-r)t/(Rr)),y=(R-r)sin(t/R)-rsin((R-r)t/(Rr))}; 小圆圆心在时间t的位置是((R - r) cos (t/R),(R - r) sin (t/R)); 被追踪点在时间t的位置是((R - r) cos (t/R) + Rcos ((R - r)/Rr t),(R - r) sin (t/R) + Rsin ((R - r)/Rr t))。






2、 一些预处理和自定义函数: Clear[R, r, t, 蟠校盯昂d](*虽然参数t没有专门定义过,但Mathematica在运行的时候,已经给t赋值了,所以必须清理*); lctr[t_, r_] := (R - r) {Cos[t/R], Sin[t/R]}(*小圆圆心在时间t的位置*); pt[t_, r_, d_] := lctr[t, r] +RotationMatrix[2 Pi - t/r].{d r Cos[t/R], d r Sin[t/R]}(*被追踪点在时间t的位置*); 先运行这些预处理和自定义,再运行图中的代码。代码先把R赋值为3,再通过改变r和d的值,画出不同的曲线。

3、 截取几幅图看看。

