数学 / 极坐标与参数方程 · 换一套坐标 / 参数方程与消参 待审核 3 / 4
x = f(t)

参数方程与消参

普通方程写的是 xxyy 之间的关系,参数方程写的是两者各自与第三个变量的关系。多出来的那个变量常被当作「中间量」,似乎迟早要消掉;实际上它承载着普通方程装不下的信息:点在曲线上的走法、走到哪里为止。本页给出参数方程的定义与几条标准形式,然后处理消参这一步最容易出错的地方。

1 · 参数方程的定义

定义 1.1(参数方程) 设曲线 CC 上任一点的坐标 xxyy 都是变量 tt 的函数 {x=f(t)y=g(t)tD\begin{cases} x = f(t) \\ y = g(t) \end{cases} \quad t \in D 且对 DD 内每个 tt(f(t),g(t))(f(t), g(t)) 都在 CC 上;反之 CC 上每一点都对应 DD 内至少一个 tt。则该方程组称为曲线 CC 的参数方程,tt 称为参数。

定义里的 tDt \in D 不是附注。tt 的取值范围与两条函数式一样是方程的组成部分:同样一对 x=costx = \cos ty=sinty = \sin tt[0,2π)t \in [0, 2\pi) 给出整个单位圆,t[0,π]t \in [0, \pi] 只给出上半圆。省掉范围的参数方程是不完整的。

参数的物理读法通常是时间:一个点在平面上运动,xxyy 各自随时间变化,消去时间得到轨迹的形状,而运动本身的信息随之丢失。抛体运动是最短的例子——x=v0tcosαx = v_0t\cos\alphay=v0tsinα12gt2y = v_0t\sin\alpha - \frac{1}{2}gt^2 消去 tt 得到一条抛物线,但「什么时候到最高点」只在参数方程里读得出来。

2 · 标准参数方程

过点 M0(x0,y0)M_0(x_0, y_0)、倾斜角为 α\alpha 的直线:

{x=x0+tcosαy=y0+tsinα\begin{cases} x = x_0 + t\cos\alpha \\ y = y_0 + t\sin\alpha \end{cases}

这条形式里的 tt 有明确的几何意义:它是 M0M_0 到动点的有向距离。t>0t > 0 表示动点在 M0M_0 的正方向一侧,t|t| 就是距离本身。因此涉及「直线上两点的距离」「弦的中点」的问题,用这套参数写下来往往比解方程组短。

圆心在 (x0,y0)(x_0, y_0)、半径为 rr 的圆:

{x=x0+rcosty=y0+rsintt[0,2π)\begin{cases} x = x_0 + r\cos t \\ y = y_0 + r\sin t \end{cases} \quad t \in [0, 2\pi)

椭圆 x2a2+y2b2=1\frac{x^2}{a^2} + \frac{y^2}{b^2} = 1

{x=acosφy=bsinφφ[0,2π)\begin{cases} x = a\cos\varphi \\ y = b\sin\varphi \end{cases} \quad \varphi \in [0, 2\pi)

式中的 φ\varphi离心角,它是把椭圆压扁前那个圆上的转角,不是点 PPxx 轴正方向的夹角。两者只在四个顶点处相等,其余位置都有差。取 a=5a = 5b=3b = 3 沿整圈量一遍,最大差是 14.4775°14.4775°,与闭式 arctanab2ab\arctan\frac{a - b}{2\sqrt{ab}} 吻合到小数点后六位。把离心角当成极角是这条参数方程最常见的误读,而误差在 φ\varphi 接近 45°45° 的奇数倍时最大,恰好落在直觉最松懈的位置。

图 2-1 · 直线、圆与椭圆的参数方程。可切换曲线并拖动参数 tt,读数给出当前点的坐标、参数的几何意义,以及椭圆一栏里离心角与极角的差。

3 · 消参与定义域

消参的手法只有几种:代入消元、加减消元、借三角恒等式(sin2t+cos2t=1\sin^2 t + \cos^2 t = 1 是最常用的那条)。手法本身不难,难在消完之后得到的方程往往比原曲线,必须把范围补回去。

x=sin2tx = \sin^2 ty=cos2ty = \cos^2 t 为例。两式相加得 x+y=1x + y = 1,那是一条完整的直线,向两端无限延伸;而 sin2t\sin^2 t 的值域是 [0,1][0, 1],原曲线只是这条直线上的一条线段。在 [2,3][-2, 3] 上等距取 501501xx 逐个检查:消参后的方程全部接受,原曲线只接受其中 101101 个,多出 400400 个。

再看 x=costx = \cos ty=cos2ty = \cos 2t。由二倍角公式 cos2t=2cos2t1\cos 2t = 2\cos^2 t - 1y=2x21y = 2x^2 - 1,一条完整的抛物线;而原曲线只是它上面 x1|x| \le 1 的那一段弧。窗口取 [3,3][-3, 3]601601 个取样点,有 400400 个(三分之二)是消参凭空多出来的。

警示 · 消参之后要回头核对两件事:新方程的解集有没有多出点来,以及原曲线有没有被漏掉的点。前者靠回补 xx(或 yy)的范围,后者要检查参数是否真的取遍了 DD

漏点这一侧比多点隐蔽。单位圆有一套只用有理运算的参数化

x=1t21+t2,y=2t1+t2x = \frac{1 - t^2}{1 + t^2}, \qquad y = \frac{2t}{1 + t^2}

消参得 x2+y2=1x^2 + y^2 = 1,看上去与三角参数化等价。但 tt 走遍全体实数也取不到点 (1,0)(-1, 0):那个点只在 tt \to \infty 处出现。实测这条曲线到 (1,0)(-1, 0) 的最小距离随参数上界成反比缩小——上界取 10210^2 时是 2.000×1022.000 \times 10^{-2}10410^42.000×1042.000 \times 10^{-4}10610^62.000×1062.000 \times 10^{-6}10810^82.000×1082.000 \times 10^{-8}。距离趋于零而永不为零,与「渐近」是同一种关系。

写取样代码时还撞到一处小事:x=sin2tx = \sin^2 t[0,2π][0, 2\pi] 上等距取两万个点,y=cos2ty = \cos^2 t 的最小值实测是 3.749×10333.749 \times 10^{-33} 而不是 00。取样点永远踩不到 t=π2t = \frac{\pi}{2},最近的那个点上 cost6.1×1017\cos t \approx 6.1 \times 10^{-17},平方之后就是这个数。范围的端点是否取到,取样是答不上来的——这类判断只能回到函数本身。

图 3-1 · 消参前后的曲线对照。可切换四组参数方程,图上同时画出原曲线与消参后方程的完整图像,读数给出取样窗口内多出来的点数与占比。

4 · 同一条曲线的不同参数化

消参丢掉的不只是范围,还有走法。x=costx = \cos ty=sinty = \sin tx=cos2tx = \cos 2ty=sin2ty = \sin 2t 消参后是同一个 x2+y2=1x^2 + y^2 = 1,但前者转一圈用 2π2\pi,后者用 π\pi。曲线是同一条,运动是两回事。

参数化的选择也决定哪些情形会退化。上一节那套有理参数化漏掉一个点,代价看似不划算,好处却是它只用四则运算:把 tt 取成有理数,(x,y)(x, y) 就是圆上的有理点,勾股数由此成批生成。三角参数化没有这个性质。所以「哪套参数方程更好」这个问题没有一般答案,只有「针对哪件事更好」。

5 · 参考文献

  1. Parametric equation. Wikipedia. 参数方程的定义与消参。https://en.wikipedia.org/wiki/Parametric_equation
  2. Eccentric anomaly. Wikipedia. 离心角的定义及其与极角的关系。https://en.wikipedia.org/wiki/Eccentric_anomaly
  3. Tangent half-angle substitution. Wikipedia. 单位圆的有理参数化与它漏掉的那个点。https://en.wikipedia.org/wiki/Tangent_half-angle_substitution
  4. Pythagorean triple. Wikipedia. 由圆上有理点生成勾股数。https://en.wikipedia.org/wiki/Pythagorean_triple