滚动的轨迹
摆线与由运动定义的曲线
前一页的曲线都有普通方程,参数方程只是另一种写法。本页这一族不同:摆线的参数方程由「圆在滚」直接写出,而它的普通方程需要反解一个超越方程,写不成初等的
y=f(x)。对这一族而言参数方程不是可选的记法,是唯一可行的记法。这一族还带着两条与运动有关的性质,它们在十七世纪引出了变分法与第一台高精度摆钟。
1 · 圆滚动划出的轨迹
设半径为
a
的圆沿
x
轴向右无滑动地滚动,起始时圆周上的定点
M
在原点。圆转过角
θ
后,滚过的弧长等于走过的距离,故圆心到了
(aθ,a)。定点相对圆心的位移是
(−asinθ,−acosθ),两者相加即得摆线(cycloid)的参数方程:
{x=a(θ−sinθ)y=a(1−cosθ)
推导只用到「无滑动」这一个条件,参数
θ
就是圆转过的角。一拱(θ
从
0
到
2π)的跨度是
2πa,拱高是
2a。另有两个量不由参数方程一眼看出,数值积分给出的结果与经典闭式吻合:一拱的弧长是
8a,一拱下方的面积是
3πa2,即滚动圆面积的三倍。
反过来写成普通方程就麻烦了。由
y
解出
cosθ=1−ay
可以得到
θ,代回第一式得
x=aarccos(1−ay)−2ay−y2
这是
x
关于
y
的显式;而要写
y
关于
x
就必须反解
θ−sinθ=ax,那是一个超越方程,没有初等闭式。星形线上的情况更直接:x=0.5
处有两个
y
值(实测
±0.225),它根本不是函数图像。
图 1-1 · 圆滚动生成摆线。可拖动滚动角观察圆心、定点与已划出的轨迹,读数给出当前点的坐标、已走过的弧长与一拱的三个整体量。
2 · 最速降线
给定不在同一竖直线上的两点
A、B(B
在
A
的下方),求一条连接它们的曲线,使质点自
A
静止出发、无摩擦地沿曲线滑到
B
的时间最短。Johann Bernoulli 于 1696 年公开提出这个问题,次年收到六份解答,其中包括 Newton 的一份匿名稿。答案是一段摆线。
伽利略在 1638 年考察过同一个问题,认为圆弧比直线快。前半句对,后半句不对——圆弧确实比直线快,但它不是最快的。取
A
为原点、B=(π,−2)、g=9.8,三条滑道的耗时实测如下:
| 滑道 |
耗时(秒) |
与直线之比 |
|
摆线(a=1,θ
走到
π)
|
1.0035
|
0.8436
|
|
圆弧(在
A
处竖直相切)
|
1.0290
|
0.8650
|
| 直线 |
1.1896
|
1
|
摆线比直线省
15.64%,而圆弧已经省了
13.50%。伽利略的猜测差得不多,这也是它当年看起来可信的原因。摆线滑道的耗时另有闭式
θBa/g,本例即
π1/9.8=1.00354496,数值积分给出
1.00354496,两者在小数点后八位一致。
这个问题的历史地位不在答案本身,而在解法:它要求在「所有连接
A
与
B
的曲线」这个无穷维集合上求极值,欧拉与拉格朗日随后把这类问题整理成变分法。
图 2-1 · 三条滑道的下滑耗时对照。可调终点位置观察三条曲线的形状与耗时排序,读数给出各自的耗时、与直线之比,以及摆线那一条的闭式核对。
3 · 等时性与摆钟
摆线的第二条性质更反直觉:在开口朝下的摆线上,质点自任意一点静止下滑到最低点的时间相同,与出发点的高度无关。这条性质叫等时性,惠更斯(Christiaan Huygens)于 1659 年发现。
耗时的闭式是
πa/g。取
a=1、g=9.8
逐个核对:在
(0,π)
内均匀取
200
个出发角,每个都做一次数值积分,与闭式
1.00354496
的最大偏差是
1.276×10−9,出现在
θ0=3.1260
这一档,即最靠近最低点的那个出发点。出发点越低,下滑距离越短,积分区间越窄,偏差反而抬头。
对照组是圆弧。单摆走的是圆弧,它的等时性只在小摆角下近似成立:同一条半径为
1
的圆弧上,从较高处释放与从较低处释放的耗时并不相等,实现里的单测就是拿这条不等式来区分两族曲线的。
惠更斯把这条性质用进了摆钟。他在 1673 年的《Horologium
Oscillatorium》里给出方案:在摆的悬点两侧各装一片摆线形的挡板(摆线颊),摆绳绕着挡板收放,摆锤走的轨迹就成了摆线,于是振幅变化不再影响周期。方案在数学上无懈可击,实际效果却不理想——挡板带来的摩擦与摆绳的形变,抵消掉了等时性省下的那点误差,后世的高精度摆钟改走另一条路:把摆角限制得足够小,让圆弧的近似等时性够用。
注 · 摆线在本页出现了两次,而两次的身份不同:最速降线是「所有曲线里下滑最快的那一条」,等时曲线是「下滑时间与出发点无关的那一条」。两个问题的提法互不相干,答案却是同一族曲线,惠更斯与伯努利兄弟当年也是分头得到的。
4 · 另外两种滚动面
摆线的推导只用到「无滑动地滚动」,把直线换成圆即得另外两族。半径
r
的圆在半径
R
的定圆外侧滚动,动圆上定点的轨迹是外摆线(epicycloid):
{x=(R+r)cost−rcosrR+rty=(R+r)sint−rsinrR+rt
在内侧滚动则是内摆线(hypocycloid),x=(R−r)cost+rcosrR−rt,y=(R−r)sint−rsinrR−rt。这一族曲线的闭合条件由
R:r
约分后的分母定:约成最简分数
p:q
后,动圆要绕
q
圈轨迹才闭合。R=4r
时
q=1,一圈即闭合,得到四个尖点的星形线;R:r=5:3
时
q=3,要绕三圈。儿童玩具 spirograph 画出的花样就是这一族,齿数比决定图案的对称性。
两条与前面各页接上的对照,实现里都逐点核对过:沿参数区间等距取
2000
个点,R=4r
的内摆线与星形线
x=acos3t、y=asin3t
逐点最大偏差
2.238×10−15;R=r
的外摆线把尖点平移到极点后,与心形线的极坐标方程
ρ=2(1−cosθ)
最大偏差
2.220×10−15。后一条把本系列的两半接了起来:同一条曲线,极坐标那边看到的是极径随极角摆动(见 常见曲线的极坐标方程 §4),参数方程这边看到的是一个圆在滚。
图 4-1 · 外摆线与内摆线。可调定圆与动圆的半径比观察尖点数与闭合所需的圈数,读数给出约分后的比值、闭合圈数,以及与星形线或心形线的逐点偏差。
5 · 数值积分在起点处的奇点
下滑耗时
T=∫ds/v
里
v=2gΔh
在起点为零,被积函数在那里发散。积分本身收敛(1/⋅
型奇点可积),但常规求积在这个奇点上退化得厉害:直线滑道上用中点法,取
103
个区间误差
1.138×10−2,105
个降到
1.138×10−3,107
个才到
1.138×10−4。取样量每翻一百倍,精度只提高十倍,正是
O(n−1/2)
的样子。
换元
t=t0+s2Δt
把这个奇点抹平:dt=2sΔtds
里的
s
恰好抵消被积函数里的
1/s,之后走 Simpson,200
个区间即得
1.150×10−12。
余下的误差来自一个意外的地方。区间数继续加不再有用:2000
个是
1.212×10−12,20000
个是
1.304×10−12,200000
个反而涨到
3.071×10−12。查下来是弧长里那个中心差分的步长
h。固定区间数
2000
单调
h
实测:h=10−4
时误差
8.9×10−14,h=10−6
时
3.9×10−12,h=10−8
时
1.5×10−9。误差与
h
成反比,是舍入被除法放大的形状,不是截断。实现里最初取
h=10−7,想着越小越准,实测比
10−4
差三个数量级。现在取
10−5:直线滑道上
10−4
更准,但那条路径的三阶导为零、截断误差本就不存在,弯曲的滑道上不能照搬。
6 · 参考文献
- Cycloid. Wikipedia. 摆线的推导、弧长 8a 与一拱面积 3πa²。https://en.wikipedia.org/wiki/Cycloid
- Brachistochrone curve. Wikipedia. 最速降线问题与 1697 年的那批解法。https://en.wikipedia.org/wiki/Brachistochrone_curve
- Tautochrone curve. Wikipedia. 等时曲线与惠更斯 1659 年的结果。https://en.wikipedia.org/wiki/Tautochrone_curve
- Huygens, C. (1673). Horologium Oscillatorium sive de motu pendulorum. Paris: F. Muguet. 摆钟的设计与摆线颊。
- Epicycloid. Wikipedia. 外摆线及其闭合条件。https://en.wikipedia.org/wiki/Epicycloid
- Astroid. Wikipedia. 星形线及其作为内摆线的来历。https://en.wikipedia.org/wiki/Astroid