目录
初等启发
最近和中学生多了一些接触,遇到了一个有趣的问题。
在坐标系$xOy$中,在$x$轴正半轴上有一动点$A$,$y$轴正半轴上有一动点$B$,二者的依赖关系是$\triangle AOB$面积是定值,求线段$AB$围出的区域。更一般的依赖关系呢?例如$AB$长度是定值?
问题的答案是,当依赖关系是$\triangle AOB$面积是定值时,围出的区域是第一象限的双曲线$xy=\lambda$的下方;当依赖关系是$AB$长度是定值时,围出的区域是第一象限的星形线$x^{2/3}+y^{2/3}=\lambda^{2/3}$的下方,其中$\lambda$是一个常数。如图
这个问题当然是初等的,以长度为定值为例,遵循如下思路便可在高中知识内解决
- 方便起见,假设长度是定值$1$.
- 这族曲线可以统一写作$\frac{x}{\cos \theta}+\frac{y}{\sin \theta}=1$.
- 固定$x=x_0$,计算此时这族直线交$\{x=x_0\}$的最高点,即$y=\sin \theta+x_0\tan \theta$的取值范围。
- 具体来说,对$\theta$求导求出最值点$\theta$满足$\cos \theta=\sqrt[3]{x_0}$得到最值$y=\sqrt{1-\sqrt[3]{x_0^2}}(1-\sqrt[3]{x_0^2})$。
- 故区域的边界满足$x^{2/3}+y^{2/3}=1$.
以上过程后文会有引用,故全盘托出。纵观以上问题,关键在于求出区域的边界,对于每个$x=x_0$,关键的点是那些最值点。假如依赖关系得到的这族直线方程可用参数$t$标作$f(x,y,t)=0$,那么我们要求的『边界』应该满足如下方程$$\begin{cases}f(x,y,t)=0\\ \frac{\partial f}{\partial t}(x,y,t)=0\end{cases}$$其中$\frac{\partial f}{\partial t}$表示$f$对$t$求导。这正是所谓的『包络线』方程。
包络曲线
一个经典的想法是用微分方程考虑这个问题
要找一条曲线处处切线都是满足条件——截第一象限为一定长度。
假设曲线方程是$y=f(x)$,那么$(x_0,f(x_0))$处切线方程是$y-f(x_0)=f'(x_0)(x-x_0)$,所谓的截距分别是$-\frac{f(x_0)}{f'(x_0)}+x_0$和$-x_0f'(x_0)+f(x_0)$,那么长度是定值$1$表明
$$\left(-\frac{f(x_0)}{f'(x_0)}+x_0\right)^2+\left(-x_0f'(x_0)+f(x_0)\right)^2=1$$
这个方程这可由参数代换法解出,假设$\begin{cases} -\frac{f(x)}{f'(x)}+x=\cos \theta\\ -xf'(x)+f(x)=\sin \theta \end{cases}$得到
$$\begin{cases}y'=-\tan \theta\\ y=\sin \theta-x\tan \theta\end{cases}$$
带入$\mathrm{d}y=y'\mathrm{d}x$得到
$$\cos\theta\mathrm{d}\theta -x\frac{1}{\cos^2 \theta}\mathrm{d}\theta-\tan \theta\mathrm{d}x=-\tan \theta\mathrm{d}x$$
所以$\left(\cos\theta-x\frac{1}{\cos^2 \theta}\right)\frac{\mathrm{d}\theta}{\mathrm{d}x}=0$, 在每点有两种可能性,其一是$\cos\theta-x\frac{1}{\cos^2 \theta}=0$,另一是$\frac{\mathrm{d}\theta}{\mathrm{d}x}$. 前者经过直接地代数变形就变成星形线,后者正对应着那些与之相切的直线(这样的曲线当然满足条件)。
正是所谓微分方程的奇解,这通常出现在隐式方程之中,定义为那些『任意一点附近都有与之相切的解』的解。当然,如标题所言,这还牵涉到包络线,经典的包络线是下面的星形线
微分方程和奇解和几何上的包络概念互相对应。
另一个惊为天人的奇思妙想是,这个曲线上每一点都是『靠近的两条直线的交点』的极限。具体来说,$y=f(x)$在$x_0$的切线和$x_0+\Delta x$处的切线的交点应该不会距离$(x_0,f(x_0))$太远,所以想要还原$y=f(x)$,需要遵循如下步骤
- 将这族曲线可以统一写作$\frac{x}{\cos \theta}+\frac{y}{\sin \theta}=1$.
- 求$\begin{cases}\frac{x}{\cos \theta}+\frac{y}{\sin \theta}=1 \\ \frac{x}{\cos (\theta+\delta \theta)}+\frac{y}{\sin (\theta+\delta \theta)}=1 \end{cases}$的交点。
- 令$\Delta\theta\to 0$得到交点,这样就得到了$y=f(x)$的表达式。
但是这样操作极为繁琐,映为直线方程难解。好在可微性允许我们只计算大致的结果,方程本质是$\begin{cases}f(x,y,t)=0\\ f(x,y,t+\Delta t)=0\end{cases}$,我们知道$f(x,y,t+\Delta t)=f(x,y,t)+\Delta t f_t(x,y,t)$,所以方程变成$$\begin{cases}f(x,y,t)=0\\ \frac{\partial f}{\partial t}(x,y,t)=0\end{cases}$$其中$\frac{\partial f}{\partial t}$表示$f$对$t$求导。我们又一次得到了包络曲线的方程。
对偶曲线
在射影平面$\mathbb{P}^2$中,每一条直线$Ax+By+Cz=0$和点$[A,B,C]$一一对应,在此对应下可以对一条曲线$C$定义对偶曲线为
$$C^\vee=\{[a,b,c]: \textrm{直线$ax+by+cz=0$与$C$相切}\}$$
例如,曲线$C: xy=z^2$的所有切线形如$y_0x+x_0y-2z_0z=0$,其中$[x_0,y_0,z_0]$在$C$上,故对偶曲线是$C^\vee: xy=z^2/4$。而$(C^\vee)$的切线又形如$y_0^* x+x_0^*y-\frac{z_0^*}{2}z=0$,其中$[x_0^*,y_0^*,z_0^*]$在$C^\vee$上,故$C^\vee$的对偶曲线是$(C^\vee)^\vee: xy=z^2$又回到了自己。有了上文最末『惊为天人』的想法,这个结果并不令我们惊奇,因为在$\mathbb{P}^2$中直线和点的对应下,过两点的直线对应到对应直线的交点,两直线的交点对应到过对应点的连线,所以切线的交点$\leftrightarrow$对应点的连线,让切线接近得到的点就对应到切线,所以『惊为天人』又『不出意料』地回到自己。
这一点可以严格证明,假设曲线被局部参数化作$[x_1(t),x_2(t),x_3(t)]$,要求切线,实际上是求$\mathbb{R}^3$中$(x_1(t)s,x_2(t)s,x_3(t)s)$的切空间,不难计算出切线方程是$ax+by+cz=0$,其中$(a,b,c)=(x_1,x_2,x_3)\wedge (x_1',x_2',x_3')$,其中$\wedge$是向量积。我们记$\mathbf{x}=(x_1(t),x_2(t),x_3(t))$,于是对偶曲线应该是$[x^*(t),y^*(t),z^*(t)]$, 其中$(x^*,y^*,z^*)=\mathbf{x}\wedge \mathbf{x'}$. 要证明对偶,下面的计算就变得关键
$$\begin{array}{rl} (\mathbf{x}\wedge \mathbf{x}')\wedge (\mathbf{x}\wedge \mathbf{x}')' & = (\mathbf{x}\wedge \mathbf{x}')\wedge \underbrace{(\mathbf{x}'\wedge \mathbf{x}')}_{=0} +(\mathbf{x}\wedge \mathbf{x}')\wedge (\mathbf{x}\wedge \mathbf{x}'') \\& = \left<\mathbf{x}\wedge \mathbf{x}',\mathbf{x}''\right>\mathbf{x}- \underbrace{\left<\mathbf{x}\wedge \mathbf{x}',\mathbf{x}\right>}_{=0}\mathbf{x}'' \\& = [\mathbf{x},\mathbf{x}',\mathbf{x}''] \mathbf{x} \end{array}$$
和$\mathbf{x}$是共线的,所以说明二次对偶和原本的曲线相同。
感谢刘奔和我交流讨论。