← 返回Book 2目录
第34章

繁花曲线

Spirograph: Hypotrochoid & Epitrochoid

万花尺背后的数学之美

34.1 繁花曲线

繁花曲线是一种由万花尺(Spirograph)绘制的曲线, 相信很多读者小时候都玩过万花尺。万花尺由外图板(外圈)和内图板(内圆)两部分组成。

万花尺的构造

外图板(定圆):内齿轮的大型圆孔,半径为 R
内图板(动圆):小齿轮,半径为 r
笔孔:沿圆心不同半径位置的孔,距离为 d
原理:将铅笔放在笔孔中,动圆沿定圆滚动绘制图案

繁花曲线背后蕴藏着极富数学美感的原理,涉及到圆的运动学、参数方程概念。 数学上,繁花曲线背后的工具叫内旋轮线(hypotrochoid)和外旋轮线(epitrochoid)。

34.2 内旋轮线

内旋轮线(Hypotrochoid)是小圆在大圆内部滚动时, 小圆上一点P的轨迹。浅蓝色大圆就是万花尺的外图板,浅红色的小圆是内图板。

参数方程

x = (R-r)·cos(θ) + d·cos((R-r)/r·θ)
y = (R-r)·sin(θ) - d·sin((R-r)/r·θ)

d = 0

P在小圆圆心,轨迹是圆

0 < d < r

P在小圆内,平滑曲线

d = r

内摆线(hypocycloid)

d > r

P在小圆外,有环状结构

34.3 外旋轮线

外旋轮线(Epitrochoid)是小圆在大圆外部滚动时, 小圆上一点P的轨迹。与内旋轮线相比,公式中的(R-r)变为(R+r)。

参数方程

x = (R+r)·cos(θ) - d·cos((R+r)/r·θ)
y = (R+r)·sin(θ) - d·sin((R+r)/r·θ)

🔄 内外对比

内旋轮线:(R-r),小圆在内
外旋轮线:(R+r),小圆在外
仅一个符号差异,图案截然不同!

⚙️ 应用场景

d=r 时为外摆线(epicycloid)
齿轮设计、Wankel转子发动机
R=r, d=r 时为心形线(cardioid)

🎨 旋轮线探索器(Spirograph)

调整参数R、r、d,观察内旋轮线和外旋轮线的优美图案变化

内旋轮线公式

x = (R-r)·cos(θ) + d·cos((R-r)/r·θ)

y = (R-r)·sin(θ) - d·sin((R-r)/r·θ)

周期: 1 × 2π

瓣数: 4 / r = 4.0

🎯 标准内摆线

🔵 大圆(定圆)

半径R,固定不动。
小圆在其内部或外部滚动。

🔴 小圆(动圆)

半径r,沿大圆滚动。
圆心轨迹是虚线圆。

⚫ 追踪点P

距小圆圆心距离d。
d=r时为标准摆线。

🎨 周期性

lcm(R,r)/R圈后闭合。
形成对称的花瓣图案。

🌸 繁花曲线画廊

内旋轮线 Hypotrochoid - r = 1, 不同 R 和 d 值的组合

d = 0
d = 0.5
d = 1
d = 2
R = 2
R = 3
R = 4
R = 5
R = 6

d = 0

P点在圆心
轨迹是圆

0 < d < r

P点在圆内
平滑曲线

d = r

P点在圆周上
标准摆线(尖点)

d > r

P点在圆外
有环状结构

💡 观察规律:R/r 决定花瓣数量(R-r/r),d 决定曲线的"丰满程度"。 当 d=r 时出现尖点(cusp),当 d>r 时曲线出现环(loop)。 彩色模式展示曲线的绘制顺序——从红色开始,经过黄、绿、蓝,最后回到红色。

内旋轮线详解

内旋轮线是小圆在大圆**内部**滚动时,小圆上一点P的轨迹。 这是万花尺(Spirograph)玩具的数学原理。通过调整大圆半径R、小圆半径r 和追踪点到小圆圆心的距离d,可以生成无穷多种优美的对称图案。 当d=r时,退化为标准的内摆线(Hypocycloid)。

参数方程

x坐标:

x(θ) = (R-r)·cos(θ) + d·cos((R-r)/r·θ)

y坐标:

y(θ) = (R-r)·sin(θ) - d·sin((R-r)/r·θ)

参数范围: θ ∈ [0, lcm(R,r)/R × 2π]

周期性: 曲线经过lcm(R,r)/R圈后闭合

📐 几何构造

1. 固定大圆(半径R)
2. 小圆(半径r)在内部滚动
3. 追踪点P距圆心距离d
4. 小圆滚动一周,P画出轨迹

🔢 参数影响

• R/r比值:决定花瓣数量
• d<r:曲线在内侧
• d=r:标准内摆线
• d>r:曲线有环或尖点

🌟 特殊情况

• R=2r, d=r:直线
• R=3r, d=r:三角形(内摆线)
• R=4r, d=r:星形(四尖)
• d=0:退化为圆

🎨 可视化要点

原文展示了系统的参数扫描:

  • • R = 2-7, r = 1:固定小圆半径,改变大圆半径(6组)
  • • d = 0, 0.5, 1, 2:每组4个追踪点距离(24个图)
  • • 彩色版本:使用LineCollection和hsv色谱分段着色
  • • 复杂参数:展示大参数下的精细图案(R=23-59)

外旋轮线 Epitrochoid

外旋轮线是小圆在大圆**外部**滚动时,小圆上一点P的轨迹。 与内旋轮线相比,公式中的(R-r)变为(R+r),符号也有相应调整。 外旋轮线的图案通常更加外展,具有不同的对称性和美学特征。 当d=r时,退化为标准的外摆线(Epicycloid),在齿轮设计中有重要应用。

参数方程

x坐标:

x(θ) = (R+r)·cos(θ) - d·cos((R+r)/r·θ)

y坐标:

y(θ) = (R+r)·sin(θ) - d·sin((R+r)/r·θ)

参数范围: θ ∈ [0, lcm(R,r)/R × 2π]

关键差异: 小圆圆心轨迹半径为R+r(而非R-r)

🔄 内外对比

内旋轮线:
(R-r), 小圆在内

外旋轮线:
(R+r), 小圆在外

⚙️ 齿轮应用

外摆线(d=r)是齿轮设计的基础。
渐开线齿轮的齿形基于外摆线原理。

🌺 图案特征

外旋轮线通常更外展,
花瓣向外伸展,
与内旋轮线形成对照。

🎨 可视化要点

原文展示了系统的参数扫描:

  • • R = 1-7, r = 1:从R=r开始,逐步增大(7组)
  • • d = 0, 0.5, 1, 2:每组4个追踪点距离(28个图)
  • • 彩色版本:使用LineCollection和hsv色谱
  • • 复杂参数:展示大参数下的精细图案(R=23-59)

交互式探索

通过调整参数R、r、d,亲自体验旋轮线的魅力。观察不同参数组合如何影响图案的对称性、 花瓣数量和整体形状。切换内外旋轮线模式,对比两种曲线的差异。 开启彩色模式,用渐变色展示曲线的绘制顺序。

🎨 旋轮线探索器(Spirograph)

调整参数R、r、d,观察内旋轮线和外旋轮线的优美图案变化

内旋轮线公式

x = (R-r)·cos(θ) + d·cos((R-r)/r·θ)

y = (R-r)·sin(θ) - d·sin((R-r)/r·θ)

周期: 1 × 2π

瓣数: 4 / r = 4.0

🎯 标准内摆线

🔵 大圆(定圆)

半径R,固定不动。
小圆在其内部或外部滚动。

🔴 小圆(动圆)

半径r,沿大圆滚动。
圆心轨迹是虚线圆。

⚫ 追踪点P

距小圆圆心距离d。
d=r时为标准摆线。

🎨 周期性

lcm(R,r)/R圈后闭合。
形成对称的花瓣图案。

🎯 探索建议

  • • 固定R=5, r=1,逐步增大d,观察曲线变化
  • • 设置d=r,对比不同R值下的标准摆线
  • • 尝试R/r=整数,观察花瓣数量规律
  • • 切换内外旋轮线,对比同参数下的图案
  • • 开启彩色模式,观察曲线绘制过程

🔬 数学性质

  • • 花瓣数:(R±r)/r,± 根据内外旋轮线
  • • 周期:lcm(R,r)/R圈闭合
  • • 对称性:具有旋转对称性
  • • 代数曲线:可用多项式方程表示
  • • 参数化:t参数可看作时间

LineCollection分段着色技术

原文文件2和文件4展示了使用matplotlib的LineCollection技术对旋轮线进行分段着色。 这种技术将连续曲线分解为多个小线段,每个线段可以独立设置颜色, 配合hsv色谱,可以创造出美丽的渐变效果,同时也能直观地展示曲线的绘制顺序。

🔧 实现步骤

  1. 生成曲线点坐标数组
  2. reshape为(-1, 1, 2)形状
  3. concatenate相邻点形成线段
  4. 创建LineCollection对象
  5. 设置颜色映射(hsv色谱)
  6. 添加到axes并显示

💻 代码示例

points = np.array([x, y]).T.reshape(-1, 1, 2)
segments = np.concatenate([points[:-1], points[1:]], axis=1)

norm = plt.Normalize(theta.min(), theta.max())
lc = LineCollection(segments, cmap='hsv', norm=norm)
lc.set_array(theta)
lc.set_linewidth(0.25)
ax.add_collection(lc)

🎨 hsv色谱优势

hsv(色相-饱和度-明度)色谱特别适合表示周期性数据:

  • • 色相从0°到360°自然循环(红→橙→黄→绿→蓝→紫→红)
  • • 起点和终点颜色相近,视觉上连续
  • • 颜色变化均匀,便于识别曲线进度
  • • 饱和度和明度恒定,仅色相变化,避免干扰

💡 核心洞察

旋轮线是几何学中最优雅的曲线之一,它将简单的滚动运动转化为复杂的对称图案。 从儿童玩具万花尺到精密齿轮设计,从数学教学到艺术创作,旋轮线在各个领域都有应用。 内旋轮线和外旋轮线仅在一个符号上有差异(R-r vs R+r),却产生截然不同的美学效果—— 前者内敛含蓄,后者外展张扬,体现了数学中"细微差别,巨大影响"的哲学。

旋轮线的参数方程揭示了周期运动的叠加原理。两个不同频率的圆周运动 (大圆旋转频率1,小圆旋转频率(R±r)/r)叠加,产生复杂但有序的轨迹。 这种频率叠加的思想在物理学中无处不在——从行星轨道的摄动到电磁波的干涉, 从分子振动到量子态的叠加。lcm(R,r)/R决定了曲线何时闭合, 这是频率比为有理数的共振现象,也是音乐中协和音程的数学基础。

参数d的作用展示了位置对轨迹的影响。当d=0时,追踪点就是小圆圆心, 轨迹退化为简单的圆;当d=r时,追踪点恰好在小圆周上,形成标准的内外摆线, 这些曲线在微分几何中有特殊地位——它们是最速降线和等时曲线; 当d>r时,追踪点在小圆之外,曲线出现环和尖点,这些奇点是微分几何研究的重要对象。 通过一个简单的参数d,我们可以从退化的圆到标准的摆线再到复杂的旋轮线, 这种连续变化揭示了几何对象之间的内在联系。

从实用角度看,旋轮线不仅是数学美的体现,更有重要的工程应用。 外摆线齿轮在精密机械中用于实现非圆运动,内摆线齿轮在行星齿轮系统中 实现高传动比和紧凑结构。Wankel转子发动机的转子轮廓是内摆线(R=3r)。 在光学中,旋轮线形状的透镜可以校正像差。在艺术设计中,旋轮线图案 被用于装饰、纺织品和建筑。这个从玩具中诞生的数学对象, 证明了数学之美与数学之用并非对立,而是相互统一的。 理解旋轮线,不仅是掌握一类曲线,更是理解周期性、对称性、 频率叠加这些贯穿物理、工程和艺术的普遍原理。