包络线与对偶曲线

目录

 

初等启发

最近和中学生多了一些接触,遇到了一个有趣的问题。

在坐标系$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}$是共线的,所以说明二次对偶和原本的曲线相同。

 

 

感谢刘奔和我交流讨论。

  

上一篇:【cf contest 1119】Triple


下一篇:3.1 HTTP报文