锥线篇(04)理解二次曲线上的对合的前置知识


理解二次曲线上的对合的前置知识

费力看懂了 sumeragi693 的文章后,我觉得其中有一段知识跳跃得有点快。这篇文章就是给那些已经知道一点交比、极点极线和射影几何,但还没学过“一维基本形上的对合”的人补一下前置知识。文章里面可能有点

这里不会重新建立完整的射影几何体系,只走一条最短的路线:

齐次坐标⟶透视与射影⟶分式线性变换⟶一维对合⟶二次曲线上的点列.\text{齐次坐标}\longrightarrow\text{透视与射影} \longrightarrow\text{分式线性变换} \longrightarrow\text{一维对合}\longrightarrow\text{二次曲线上的点列}.

走完以后,再看“二次曲线上的对合”,应该就不会有那么多凭空出现的定义了。

齐次坐标与一维基本形的坐标系

普通坐标有一个小麻烦:它装不下无穷远点。比如我们想用斜率表示过一点的所有直线,竖直线就总得被单独拿出来讨论。齐次坐标就是用来解决这个问题的。

射影直线上的一个点不用单个数表示,而用一对不同时为零的数

[u:v][u:v]

表示,并且约定

[u:v]=[ku:kv],k≠0.[u:v]=[ku:kv],\qquad k\ne0.

也就是说,齐次坐标只看比例。当 v≠0v\ne0 时,可以把两项同时除以 vv,得到

[u:v]=[uv:1].[u:v]=\left[\frac uv:1\right].

于是普通参数就是

t=uv.t=\frac uv.

而当 v=0v=0 时,无论 uu 是多少,都有

[u:0]=[1:0].[u:0]=[1:0].

这个唯一多出来的点就记作 t=∞t=\infty。因此射影直线可以粗略理解为普通直线补上一个无穷远点:

P1=R∪{∞}.\mathbb P^1=\mathbb R\cup\{\infty\}.

射影平面也是一样,只不过改用三个数 [x1:x2:x3][x_1:x_2:x_3]。当 x3≠0x_3\ne0 时,它对应普通平面中的点

(x1x3,x2x3),\left(\frac{x_1}{x_3},\frac{x_2}{x_3}\right),

所以普通点 (x,y)(x,y) 可以写成 [x:y:1][x:y:1]。当 x3=0x_3=0 时,得到的则是无穷远直线上的点。

直线上的全部点组成一个点列,过固定点的全部直线组成一个线束。它们都只需要一个参数就能描述,所以统称为一维基本形。

不过,写出 [u:v][u:v] 还不等于坐标系已经建立好了。对于直线上的点列,需要先选三个不同的点

P0,P∞,P1,P_0,\qquad P_\infty,\qquad P_1,

分别规定它们的参数为 0,∞,10,\infty,1。这三个点就是一维射影坐标系的基准。任意一点 PP 的参数可以用交比定义为

t=(P∞P0,P1P).t=(P_\infty P_0,P_1P).

代入 P=P0,P∞,P1P=P_0,P_\infty,P_1,确实会分别得到 0,∞,10,\infty,1。得到 tt 以后,就把 PP 的齐次坐标写成

[t:1].[t:1].

若 P=P∞P=P_\infty,则写成 [1:0][1:0]。这就是非齐次参数 tt 的来历:齐次坐标是两个数的比例,而非齐次参数是分母不为零时把这个比例化成一个数。

线束也完全一样。在线束中选三条不同的直线 l0,l∞,l1l_0,l_\infty,l_1,分别规定参数为 0,∞,10,\infty,1,那么任意直线 ll 的参数就是

t=(l∞l0,l1l).t=(l_\infty l_0,l_1l).

如果在解析几何中把水平线选作 l0l_0,竖直线选作 l∞l_\infty,斜率为 11 的直线选作 l1l_1,那么这个参数 tt 恰好就是平时使用的斜率 kk。所以“用斜率表示一个线束”其实就是给线束选了一套非齐次坐标。

暂时记住这些就够了。齐次坐标负责把无穷远元素也装进来,非齐次参数则负责把一维基本形中的元素化成一个方便计算的数。后面出现的分式线性变换,就是一维射影对应在两套坐标中的表达式。

透视与射影

先想一条直线 ll 和直线外一点 OO。对 ll 上的每一点 PP,连接 OPOP,我们就把点列 ll 中的一个点对应到了线束 OO 中的一条直线:

P∈l⟷OP∋O.P\in l\longleftrightarrow OP\ni O.

反过来,拿一条不过 OO 的直线去截这个线束,每条直线又会被截成一个点。像这种由“连接”或者“截取”得到的一一对应,就叫做透视对应。

所以透视并不是什么很神秘的变换,本质上就是从一个中心把东西投出去。两个点列之间可以透视,点列和线束之间也可以透视。连续做几次透视,得到的对应称为射影对应。

因此对我们来说,完全可以暂时把射影理解成“保持交比的一一对应”。

交比还会告诉我们一个后面反复使用的唯一性结论:

这和“一次函数由两个点确定”有点像,只不过射影变换比一次函数多一个自由度,所以要三组对应元素。

把射影写成分式线性变换

几何定义是有了,但做解析几何题总得把它写成能算的东西。

给两个一维基本形分别选取非齐次参数 t,t′t,t',它们可以是直线点列上的坐标,也可以是线束中直线的斜率。

前一种写法叫做分式线性变换。条件 ad−bc≠0ad-bc\ne0 是为了保证它可逆,否则分子分母可能成比例,所有 tt 都会被送到同一个值,这当然算不上一一对应。

分式线性变换最大的好处,是它把无穷远元素也自然地装了进来。当 ct+d=0ct+d=0 时,t′=∞t'=\infty;当 c≠0c\ne0 时,令 t=∞t=\infty,便有 t′=a/ct'=a/c。所以在线束中用斜率作参数时,竖直线并不是需要单独排除的例外,它就是斜率为 ∞\infty 的那条直线。

双线性方程分别看成关于 tt 或 t′t' 的方程时都是一次的。后面的对合方程就是从这里来的。

一维基本形上的对合

现在考虑一种很特殊的射影:它把 PP 变成 P′P',再做一次又把 P′P' 变回 PP。写成函数就是

f2=f∘f=i.f^2=f\circ f=i.

这样的非恒等射影变换叫做对合。简单来说,对合就是“做两次回到原处”。其中有些元素可能对应自己,叫做不动元素;其余元素则两两配对:

P↔P′.P\leftrightarrow P'.

现在就能看出对合方程最明显的特点了:交换 t,t′t,t' 后方程完全不变。这个对称性正好对应几何上的 P↔P′P\leftrightarrow P'。反过来,一个非退化的双线性方程如果关于 t,t′t,t' 对称,它表示的就是一个对合。

这正是 sumeragi 的文章中从“一组互逆对应点”直接得到对合的原因。

为什么能把这一套搬到二次曲线上

上面讲的对象一直是直线上的点列或者过一点的线束。接下来只差最后一步:说明一条非退化二次曲线本身也可以看成一个一维基本形。

所以“两个射影对应线束的对应直线交点”与我们熟悉的“二次方程的轨迹”其实是同一个东西的两种说法,这就是二次曲线的射影定义。

反过来看会更重要。

加上切线的约定以后,曲线上的所有点与线束中的所有直线便完整地一一对应。线束可以用一个射影参数表示,因此二次曲线上的点也可以用一个射影参数表示。换句话说:

一条非退化二次曲线,在射影意义下就是一条射影直线。

所以前面在线束上讲的射影、分式线性变换和对合,都可以原封不动地搬到二次曲线的点列上。先把曲线上的点投到一个线束中,在那里做射影或对合,再投回曲线即可。一个已经确定的曲线点列射影,也不会因为改用曲线上另一个点作辅助投影中心而改变。

讲到这里,阅读后文所缺的东西就基本补齐了。sumeragi 用

Γ(A,B,C,⋯ )\Gamma(A,B,C,\cdots)

表示二次曲线上的点列,用 O(A,B,C,⋯ )O(A,B,C,\cdots) 表示把这些点连接到 OO 后得到的线束。所谓“二次曲线上的射影”,就是两个这样的曲线点列成射影对应;其中若出现一组互逆对应点,这个射影便成为对合。

至于射影轴怎样出现、为什么对应点处的切线交于对合轴、为什么所有对应点的连线又经过对合中心,这些正是后文要讲的内容,这里就不提前复述了。

定理的证明

正文的思路到这里已经结束了。下面只是把前面用到的结论集中证明一遍,不影响继续阅读 sumeragi 的文章。

定理一:射影与交比

设四条直线 g1,g2,g3,g4g_1,g_2,g_3,g_4 交于点 OO,并分别交一条不过 OO 的直线于 P1,P2,P3,P4P_1,P_2,P_3,P_4。由三角形面积公式,

12OPi⋅OPjsin⁡∠(gi,gj)=12h⋅PiPj,\frac12 OP_i\cdot OP_j\sin\angle(g_i,g_j) =\frac12 h\cdot P_iP_j,

其中 hh 是点 OO 到截线的有向距离,以下线段和角的正弦也都取有向值。因此

PiPj=OPi⋅OPjhsin⁡∠(gi,gj).P_iP_j =\frac{OP_i\cdot OP_j}{h}\sin\angle(g_i,g_j).

把这个式子代入四点交比

(P1P2,P3P4)=P1P3P2P3/P1P4P2P4,(P_1P_2,P_3P_4) = \frac{P_1P_3}{P_2P_3} \bigg/ \frac{P_1P_4}{P_2P_4},

所有 OPiOP_i 和 hh 都会消掉,最后只剩四条射线夹角的正弦之比。这个结果与截线选在哪里无关,所以同一个线束截在两条不同直线上,得到的两组点交比相同。也就是说,透视保持交比。有限次透视的复合当然也保持交比。

至于逆命题,设双射 ff 保持交比。取三个相异点 P1,P2,P3P_1,P_2,P_3,由定理二、三可以作出唯一的分式线性变换 gg,使它在这三点上与 ff 相同。对任意点 PP,

(P1P2,P3P)=(f(P1)f(P2),f(P3)f(P))(P_1P_2,P_3P) =(f(P_1)f(P_2),f(P_3)f(P))

也等于把 ff 换成 gg 后的交比。固定前三点后,交比唯一确定第四点,因此 f(P)=g(P)f(P)=g(P)。所以 f=gf=g,它确实是射影。

定理二:三组对应元素确定射影

给源射影直线选取参数,使

P1=∞,P2=0,P3=1;P_1=\infty,\qquad P_2=0,\qquad P_3=1;

再给目标射影直线选取参数,使

P1′=∞,P2′=0,P3′=1.P_1'=\infty,\qquad P_2'=0,\qquad P_3'=1.

按照相同参数相互对应,就得到一个满足三组条件的射影,因此射影存在。

若还有另一个射影满足同样的三组条件,那么对任意 PP,它的像 P′P' 都必须满足

(P1P2,P3P)=(P1′P2′,P3′P′).(P_1P_2,P_3P)=(P_1'P_2',P_3'P').

固定前三点后,右边是 P′P' 的一一函数,所以 P′P' 只有一个。两个射影在每一点上的像都相同,只能是同一个射影。

定理三:一维射影的参数方程

在源基本形中选 ∞,0,1\infty,0,1 三个基准元素。设它们在目标基本形中的参数依次为 α,β,γ\alpha,\beta,\gamma。因为射影保持交比,任意一对对应参数 t,t′t,t' 满足

t=(∞,0;1,t)=(α,β;γ,t′).t=(\infty,0;1,t) =(\alpha,\beta;\gamma,t').

这里左边第一项直接等于 tt。把右边按交比公式展开:

t=(α−γ)(β−t′)(β−γ)(α−t′).t= \frac{(\alpha-\gamma)(\beta-t')} {(\beta-\gamma)(\alpha-t')}.

解这个关于 t′t' 的一次方程,得到

t′=β(α−γ)−α(β−γ)t(α−γ)−(β−γ)t.t' = \frac{\beta(\alpha-\gamma)-\alpha(\beta-\gamma)t} {(\alpha-\gamma)-(\beta-\gamma)t}.

它正是

t′=at+bct+dt'=\frac{at+b}{ct+d}

的形式。若 α,β,γ\alpha,\beta,\gamma 中有无穷远参数,只需在交比中按极限理解,结论不变。

反过来,设

f(t)=at+bct+d.f(t)=\frac{at+b}{ct+d}.

直接作差可得

f(x)−f(y)=(ad−bc)(x−y)(cx+d)(cy+d).f(x)-f(y) =\frac{(ad-bc)(x-y)}{(cx+d)(cy+d)}.

把四个这样的差代入交比,所有分母与 ad−bcad-bc 都会消掉,因此分式线性变换保持交比。当 ad−bc≠0ad-bc\ne0 时,它还是一一对应,所以由定理一可知它确实表示射影。

最后把分母乘过去,得到

ctt′+dt′−at−b=0.ctt'+dt'-at-b=0.

这就是等价的非退化双线性方程。

定理四:一维对合的等价判据

设

f(t)=at+bct+d.f(t)=\frac{at+b}{ct+d}.

把 f(t)f(t) 再代回同一个式子:

f(f(t))=(a2+bc)t+b(a+d)c(a+d)t+bc+d2.f(f(t)) = \frac{(a^2+bc)t+b(a+d)} {c(a+d)t+bc+d^2}.

若它是对合,就要求这个式子对任意 tt 都等于 tt。交叉相乘并整理:

(a+d)(ct2+(d−a)t−b)=0.(a+d)\bigl(ct^2+(d-a)t-b\bigr)=0.

它要对任意 tt 成立。如果第二个因式恒为零,就有 b=c=0,d=ab=c=0,d=a,原变换其实是 f(t)=tf(t)=t,即恒等变换。既然对合按定义不是恒等变换,只能有

a+d=0.a+d=0.

反过来,把 d=−ad=-a 代入 f(f(t))f(f(t)),可以立刻约去得到 f(f(t))=tf(f(t))=t,所以这个条件也充分。

此时分式线性变换变成

t′=at+bct−a.t'=\frac{at+b}{ct-a}.

去分母即得

ctt′−a(t+t′)−b=0.ctt'-a(t+t')-b=0.

原来的一一对应条件 ad−bc≠0ad-bc\ne0 变成 a2+bc≠0a^2+bc\ne0。令 t′=tt'=t,便得到不动元素方程

ct2−2at−b=0.ct^2-2at-b=0.

它的判别式为 4(a2+bc)≠04(a^2+bc)\ne0,所以在实射影直线上要么有两个实不动元素,要么没有;在复数范围内则总有两个相异不动元素。

定理五:对合的确定

先证明一组互换元素足够。重新选取射影参数,使

P=0,P′=∞.P=0,\qquad P'=\infty.

设原射影为

f(t)=at+bct+d.f(t)=\frac{at+b}{ct+d}.

f(0)=∞f(0)=\infty 给出 d=0d=0,f(∞)=0f(\infty)=0 给出 a=0a=0,所以

f(t)=ktf(t)=\frac{k}{t}

其中 k≠0k\ne0。于是

f(f(t))=kk/t=t,f(f(t))=\frac{k}{k/t}=t,

故它必为对合。

再证明两组对应元素对唯一确定对合。若其中一组的两个元素相异,就把这一组取作 0,∞0,\infty,那么对合只能写成 f(t)=k/tf(t)=k/t。设第二组为 q,q′q,q',代入便得

k=qq′.k=qq'.

因此 kk 被唯一确定,对合也就被唯一确定。若给出的两组都是不动元素,则把它们取作 0,∞0,\infty。固定这两点的射影只能写成 f(t)=ktf(t)=kt,由 f2=if^2=i 得 k2=1k^2=1;排除 k=1k=1 的恒等变换,只剩 k=−1k=-1。所以这种情形下对合也唯一。

定理六:二次曲线的射影生成

取射影坐标,使两个线束中心分别为

O=[0:1:0],O′=[1:0:0].O=[0:1:0],\qquad O'=[1:0:0].

两个线束可以写成

pλ:x1−λx3=0,pλ′′:x2−λ′x3=0.p_\lambda:x_1-\lambda x_3=0, \qquad p_{\lambda'}':x_2-\lambda'x_3=0.

对应直线的交点为

P=[λ:λ′:1].P=[\lambda:\lambda':1].

两个线束成射影对应,所以由定理三,其参数满足

Aλλ′+Bλ+Cλ′+D=0,AD−BC≠0.A\lambda\lambda'+B\lambda+C\lambda'+D=0, \qquad AD-BC\ne0.

代入 λ=x1/x3,λ′=x2/x3\lambda=x_1/x_3,\lambda'=x_2/x_3,再乘 x32x_3^2,得到交点轨迹

Ax1x2+Bx1x3+Cx2x3+Dx32=0.Ax_1x_2+Bx_1x_3+Cx_2x_3+Dx_3^2=0.

这是一条经过 O,O′O,O' 的二次曲线。两个线束中共有直线 OO′OO',它对应参数 λ=λ′=∞\lambda=\lambda'=\infty。若这条直线自对应,则 A=0A=0,方程直接分解为

x3(Bx1+Cx2+Dx3)=0,x_3(Bx_1+Cx_2+Dx_3)=0,

所以轨迹退化成两条直线;这正是两个线束成透视的情形。

若两个线束不成透视,则 A≠0A\ne0。假设上面的二次方程仍能分解,因为其中没有 x12,x22x_1^2,x_2^2 项,它只能写成

(rx1+sx3)(ux2+vx3)=0.(rx_1+sx_3)(ux_2+vx_3)=0.

比较系数有

A=ru,B=rv,C=su,D=sv,A=ru,\qquad B=rv,\qquad C=su,\qquad D=sv,

从而 AD=BCAD=BC,这与射影对应的非退化条件 AD−BC≠0AD-BC\ne0 矛盾。因此轨迹不可能分解,确实是一条非退化二次曲线。

定理七:二次曲线是一条射影直线

对非退化二次曲线作适当的射影坐标变换,可以把它写成

x1x3−x22=0.x_1x_3-x_2^2=0.

曲线上的点可以参数化为

P(t)=[t2:t:1].P(t)=[t^2:t:1].

固定曲线上一点 O=P(o)O=P(o)。容易验证,连接 OO 与 P(t)P(t) 的直线方程为

x1−(t+o)x2+otx3=0.x_1-(t+o)x_2+otx_3=0.

因此这条直线的系数可以记为

[1:−(t+o):ot].[1:-(t+o):ot].

它的三个系数关于 tt 都是一次的,所以 tt 同时也是线束 OO 的射影参数。把交点重数算进去,每条过 OO 的直线都唯一确定曲线上的另一个交点;切线对应的两个交点重合。因此 P(t)↔OP(t)P(t)\leftrightarrow OP(t) 是一一对应。

当 t=ot=o 时,上式变成

[1:−2o:o2],[1:-2o:o^2],

恰好是曲线在 OO 处的切线,所以把 OOOO 解释为切线后,对应没有缺口。若换另一个曲线点 O′=P(o′)O'=P(o') 作中心,同一个曲线点 P(t)P(t) 在两个线束中仍使用同一个参数 tt,所以两个线束之间的对应是射影的,一个已经确定的曲线点列射影也不依赖辅助中心的选择。

相关