锥线篇(04)理解二次曲线上的对合的前置知识
理解二次曲线上的对合的前置知识
费力看懂了 sumeragi693 的文章后,我觉得其中有一段知识跳跃得有点快。这篇文章就是给那些已经知道一点交比、极点极线和射影几何,但还没学过“一维基本形上的对合”的人补一下前置知识。文章里面可能有点
这里不会重新建立完整的射影几何体系,只走一条最短的路线:
齐次坐标⟶透视与射影⟶分式线性变换⟶一维对合⟶二次曲线上的点列.
走完以后,再看“二次曲线上的对合”,应该就不会有那么多凭空出现的定义了。
齐次坐标与一维基本形的坐标系
普通坐标有一个小麻烦:它装不下无穷远点。比如我们想用斜率表示过一点的所有直线,竖直线就总得被单独拿出来讨论。齐次坐标就是用来解决这个问题的。
射影直线上的一个点不用单个数表示,而用一对不同时为零的数
[u:v]
表示,并且约定
[u:v]=[ku:kv],k=0.
也就是说,齐次坐标只看比例。当 v=0 时,可以把两项同时除以 v,得到
[u:v]=[vu:1].
于是普通参数就是
t=vu.
而当 v=0 时,无论 u 是多少,都有
[u:0]=[1:0].
这个唯一多出来的点就记作 t=∞。因此射影直线可以粗略理解为普通直线补上一个无穷远点:
P1=R∪{∞}.
射影平面也是一样,只不过改用三个数 [x1:x2:x3]。当 x3=0 时,它对应普通平面中的点
(x3x1,x3x2),
所以普通点 (x,y) 可以写成 [x:y:1]。当 x3=0 时,得到的则是无穷远直线上的点。
直线上的全部点组成一个点列,过固定点的全部直线组成一个线束。它们都只需要一个参数就能描述,所以统称为一维基本形。
不过,写出 [u:v] 还不等于坐标系已经建立好了。对于直线上的点列,需要先选三个不同的点
P0,P∞,P1,
分别规定它们的参数为 0,∞,1。这三个点就是一维射影坐标系的基准。任意一点 P 的参数可以用交比定义为
t=(P∞P0,P1P).
代入 P=P0,P∞,P1,确实会分别得到 0,∞,1。得到 t 以后,就把 P 的齐次坐标写成
[t:1].
若 P=P∞,则写成 [1:0]。这就是非齐次参数 t 的来历:齐次坐标是两个数的比例,而非齐次参数是分母不为零时把这个比例化成一个数。
线束也完全一样。在线束中选三条不同的直线 l0,l∞,l1,分别规定参数为 0,∞,1,那么任意直线 l 的参数就是
t=(l∞l0,l1l).
如果在解析几何中把水平线选作 l0,竖直线选作 l∞,斜率为 1 的直线选作 l1,那么这个参数 t 恰好就是平时使用的斜率 k。所以“用斜率表示一个线束”其实就是给线束选了一套非齐次坐标。
暂时记住这些就够了。齐次坐标负责把无穷远元素也装进来,非齐次参数则负责把一维基本形中的元素化成一个方便计算的数。后面出现的分式线性变换,就是一维射影对应在两套坐标中的表达式。
透视与射影
先想一条直线 l 和直线外一点 O。对 l 上的每一点 P,连接 OP,我们就把点列 l 中的一个点对应到了线束 O 中的一条直线:
P∈l⟷OP∋O.
反过来,拿一条不过 O 的直线去截这个线束,每条直线又会被截成一个点。像这种由“连接”或者“截取”得到的一一对应,就叫做透视对应。
所以透视并不是什么很神秘的变换,本质上就是从一个中心把东西投出去。两个点列之间可以透视,点列和线束之间也可以透视。连续做几次透视,得到的对应称为射影对应。
因此对我们来说,完全可以暂时把射影理解成“保持交比的一一对应”。
交比还会告诉我们一个后面反复使用的唯一性结论:
这和“一次函数由两个点确定”有点像,只不过射影变换比一次函数多一个自由度,所以要三组对应元素。
把射影写成分式线性变换
几何定义是有了,但做解析几何题总得把它写成能算的东西。
给两个一维基本形分别选取非齐次参数 t,t′,它们可以是直线点列上的坐标,也可以是线束中直线的斜率。
前一种写法叫做分式线性变换。条件 ad−bc=0 是为了保证它可逆,否则分子分母可能成比例,所有 t 都会被送到同一个值,这当然算不上一一对应。
分式线性变换最大的好处,是它把无穷远元素也自然地装了进来。当 ct+d=0 时,t′=∞;当 c=0 时,令 t=∞,便有 t′=a/c。所以在线束中用斜率作参数时,竖直线并不是需要单独排除的例外,它就是斜率为 ∞ 的那条直线。
双线性方程分别看成关于 t 或 t′ 的方程时都是一次的。后面的对合方程就是从这里来的。
一维基本形上的对合
现在考虑一种很特殊的射影:它把 P 变成 P′,再做一次又把 P′ 变回 P。写成函数就是
f2=f∘f=i.
这样的非恒等射影变换叫做对合。简单来说,对合就是“做两次回到原处”。其中有些元素可能对应自己,叫做不动元素;其余元素则两两配对:
P↔P′.
现在就能看出对合方程最明显的特点了:交换 t,t′ 后方程完全不变。这个对称性正好对应几何上的 P↔P′。反过来,一个非退化的双线性方程如果关于 t,t′ 对称,它表示的就是一个对合。
这正是 sumeragi 的文章中从“一组互逆对应点”直接得到对合的原因。
为什么能把这一套搬到二次曲线上
上面讲的对象一直是直线上的点列或者过一点的线束。接下来只差最后一步:说明一条非退化二次曲线本身也可以看成一个一维基本形。
所以“两个射影对应线束的对应直线交点”与我们熟悉的“二次方程的轨迹”其实是同一个东西的两种说法,这就是二次曲线的射影定义。
反过来看会更重要。
加上切线的约定以后,曲线上的所有点与线束中的所有直线便完整地一一对应。线束可以用一个射影参数表示,因此二次曲线上的点也可以用一个射影参数表示。换句话说:
一条非退化二次曲线,在射影意义下就是一条射影直线。
所以前面在线束上讲的射影、分式线性变换和对合,都可以原封不动地搬到二次曲线的点列上。先把曲线上的点投到一个线束中,在那里做射影或对合,再投回曲线即可。一个已经确定的曲线点列射影,也不会因为改用曲线上另一个点作辅助投影中心而改变。
讲到这里,阅读后文所缺的东西就基本补齐了。sumeragi 用
Γ(A,B,C,⋯)
表示二次曲线上的点列,用 O(A,B,C,⋯) 表示把这些点连接到 O 后得到的线束。所谓“二次曲线上的射影”,就是两个这样的曲线点列成射影对应;其中若出现一组互逆对应点,这个射影便成为对合。
至于射影轴怎样出现、为什么对应点处的切线交于对合轴、为什么所有对应点的连线又经过对合中心,这些正是后文要讲的内容,这里就不提前复述了。
定理的证明
正文的思路到这里已经结束了。下面只是把前面用到的结论集中证明一遍,不影响继续阅读 sumeragi 的文章。
定理一:射影与交比
设四条直线 g1,g2,g3,g4 交于点 O,并分别交一条不过 O 的直线于 P1,P2,P3,P4。由三角形面积公式,
21OPi⋅OPjsin∠(gi,gj)=21h⋅PiPj,
其中 h 是点 O 到截线的有向距离,以下线段和角的正弦也都取有向值。因此
PiPj=hOPi⋅OPjsin∠(gi,gj).
把这个式子代入四点交比
(P1P2,P3P4)=P2P3P1P3/P2P4P1P4,
所有 OPi 和 h 都会消掉,最后只剩四条射线夹角的正弦之比。这个结果与截线选在哪里无关,所以同一个线束截在两条不同直线上,得到的两组点交比相同。也就是说,透视保持交比。有限次透视的复合当然也保持交比。
至于逆命题,设双射 f 保持交比。取三个相异点 P1,P2,P3,由定理二、三可以作出唯一的分式线性变换 g,使它在这三点上与 f 相同。对任意点 P,
(P1P2,P3P)=(f(P1)f(P2),f(P3)f(P))
也等于把 f 换成 g 后的交比。固定前三点后,交比唯一确定第四点,因此 f(P)=g(P)。所以 f=g,它确实是射影。
定理二:三组对应元素确定射影
给源射影直线选取参数,使
P1=∞,P2=0,P3=1;
再给目标射影直线选取参数,使
P1′=∞,P2′=0,P3′=1.
按照相同参数相互对应,就得到一个满足三组条件的射影,因此射影存在。
若还有另一个射影满足同样的三组条件,那么对任意 P,它的像 P′ 都必须满足
(P1P2,P3P)=(P1′P2′,P3′P′).
固定前三点后,右边是 P′ 的一一函数,所以 P′ 只有一个。两个射影在每一点上的像都相同,只能是同一个射影。
定理三:一维射影的参数方程
在源基本形中选 ∞,0,1 三个基准元素。设它们在目标基本形中的参数依次为 α,β,γ。因为射影保持交比,任意一对对应参数 t,t′ 满足
t=(∞,0;1,t)=(α,β;γ,t′).
这里左边第一项直接等于 t。把右边按交比公式展开:
t=(β−γ)(α−t′)(α−γ)(β−t′).
解这个关于 t′ 的一次方程,得到
t′=(α−γ)−(β−γ)tβ(α−γ)−α(β−γ)t.
它正是
t′=ct+dat+b
的形式。若 α,β,γ 中有无穷远参数,只需在交比中按极限理解,结论不变。
反过来,设
f(t)=ct+dat+b.
直接作差可得
f(x)−f(y)=(cx+d)(cy+d)(ad−bc)(x−y).
把四个这样的差代入交比,所有分母与 ad−bc 都会消掉,因此分式线性变换保持交比。当 ad−bc=0 时,它还是一一对应,所以由定理一可知它确实表示射影。
最后把分母乘过去,得到
ctt′+dt′−at−b=0.
这就是等价的非退化双线性方程。
定理四:一维对合的等价判据
设
f(t)=ct+dat+b.
把 f(t) 再代回同一个式子:
f(f(t))=c(a+d)t+bc+d2(a2+bc)t+b(a+d).
若它是对合,就要求这个式子对任意 t 都等于 t。交叉相乘并整理:
(a+d)(ct2+(d−a)t−b)=0.
它要对任意 t 成立。如果第二个因式恒为零,就有 b=c=0,d=a,原变换其实是 f(t)=t,即恒等变换。既然对合按定义不是恒等变换,只能有
a+d=0.
反过来,把 d=−a 代入 f(f(t)),可以立刻约去得到 f(f(t))=t,所以这个条件也充分。
此时分式线性变换变成
t′=ct−aat+b.
去分母即得
ctt′−a(t+t′)−b=0.
原来的一一对应条件 ad−bc=0 变成 a2+bc=0。令 t′=t,便得到不动元素方程
ct2−2at−b=0.
它的判别式为 4(a2+bc)=0,所以在实射影直线上要么有两个实不动元素,要么没有;在复数范围内则总有两个相异不动元素。
定理五:对合的确定
先证明一组互换元素足够。重新选取射影参数,使
P=0,P′=∞.
设原射影为
f(t)=ct+dat+b.
f(0)=∞ 给出 d=0,f(∞)=0 给出 a=0,所以
f(t)=tk
其中 k=0。于是
f(f(t))=k/tk=t,
故它必为对合。
再证明两组对应元素对唯一确定对合。若其中一组的两个元素相异,就把这一组取作 0,∞,那么对合只能写成 f(t)=k/t。设第二组为 q,q′,代入便得
k=qq′.
因此 k 被唯一确定,对合也就被唯一确定。若给出的两组都是不动元素,则把它们取作 0,∞。固定这两点的射影只能写成 f(t)=kt,由 f2=i 得 k2=1;排除 k=1 的恒等变换,只剩 k=−1。所以这种情形下对合也唯一。
定理六:二次曲线的射影生成
取射影坐标,使两个线束中心分别为
O=[0:1:0],O′=[1:0:0].
两个线束可以写成
pλ:x1−λx3=0,pλ′′:x2−λ′x3=0.
对应直线的交点为
P=[λ:λ′:1].
两个线束成射影对应,所以由定理三,其参数满足
Aλλ′+Bλ+Cλ′+D=0,AD−BC=0.
代入 λ=x1/x3,λ′=x2/x3,再乘 x32,得到交点轨迹
Ax1x2+Bx1x3+Cx2x3+Dx32=0.
这是一条经过 O,O′ 的二次曲线。两个线束中共有直线 OO′,它对应参数 λ=λ′=∞。若这条直线自对应,则 A=0,方程直接分解为
x3(Bx1+Cx2+Dx3)=0,
所以轨迹退化成两条直线;这正是两个线束成透视的情形。
若两个线束不成透视,则 A=0。假设上面的二次方程仍能分解,因为其中没有 x12,x22 项,它只能写成
(rx1+sx3)(ux2+vx3)=0.
比较系数有
A=ru,B=rv,C=su,D=sv,
从而 AD=BC,这与射影对应的非退化条件 AD−BC=0 矛盾。因此轨迹不可能分解,确实是一条非退化二次曲线。
定理七:二次曲线是一条射影直线
对非退化二次曲线作适当的射影坐标变换,可以把它写成
x1x3−x22=0.
曲线上的点可以参数化为
P(t)=[t2:t:1].
固定曲线上一点 O=P(o)。容易验证,连接 O 与 P(t) 的直线方程为
x1−(t+o)x2+otx3=0.
因此这条直线的系数可以记为
[1:−(t+o):ot].
它的三个系数关于 t 都是一次的,所以 t 同时也是线束 O 的射影参数。把交点重数算进去,每条过 O 的直线都唯一确定曲线上的另一个交点;切线对应的两个交点重合。因此 P(t)↔OP(t) 是一一对应。
当 t=o 时,上式变成
[1:−2o:o2],
恰好是曲线在 O 处的切线,所以把 OO 解释为切线后,对应没有缺口。若换另一个曲线点 O′=P(o′) 作中心,同一个曲线点 P(t) 在两个线束中仍使用同一个参数 t,所以两个线束之间的对应是射影的,一个已经确定的曲线点列射影也不依赖辅助中心的选择。
相关