[文化课] 圆锥曲线

零. 前言

警告: 此文的内容不被高考所允许, 因此很可能无所取材.

博主长期做不起圆锥大题, 故有此篇. 多数参考知乎专栏.

他说了些很有意思的观点, 试举一例: "联立方程时, 要整理成只关于 x 的方程: 这就把点的坐标 (x,y) 给割裂了. 点的坐标 (x,y) 是整体的, 而不是 x,y 两个分开的实数."

一. 基础观点

显然, 不把点的坐标认为是 (x,y) 两个实数的方法只有: 把点视为线性空间的矢量. 后文我会用 "几何对象" 和 "代数对象" 做区分.

引入 齐次坐标, 用三维线性空间中的矢量 (代数对象), 表示二维平面上的点 (几何对象). 对应规则是, 三维矢量 (λx,λy,λ)(λ0) 对应点 (x,y).

之所以叫齐次坐标: 在方程里, 所有项的次数是相同的, 因为对三维矢量 (x,y,z) 中的 xzyz 建立方程, 实际上每个项都是 0 次的.

顺带一说, 点 (x,y,0) 是个无穷远点, 从平面几何角度是 "看不到" 的, 但是在我们纯代数的研究中, 它没什么特别的. 类似地有 (0,0,c) 无穷远直线.

由于几何对象和代数对象不完全相同, 后文用等号 = 表示代数对象完全相同, 而同余号 表示几何对象相同 (也就是代数对象的等比放缩).

另外, 几何对象线 :ax+by+c=0 也可以拥有齐次坐标 (a,b,c), 它满足 (λx,λy,λz)(x,y,z), 所以和点的地位相同.

不难发现点 a 在直线 上, 等价于 a=0, 这是我们熟悉的向量内积. 但点积是很几何的概念, 我们认为它不是自然存在的. 为了表示这层关系, 我们找到了替代品: 对偶空间.

我们认为, 点的代数对象属于线性空间 V, 线的代数对象属于对偶空间 V. 因此将 V 中的矢量称为 点矢, V 中称为 线矢. 注意这都是代数对象.

齐次坐标让我们可以叉乘. 根据 (A×B)X=0(X{A,B}), 我们晓得点矢叉乘 (A×B) 代表 AB. 对偶地, 线矢叉乘 (A×B) 代表 AB.

这告诉我们: 点矢的叉乘是线矢, 线矢的叉乘是点矢.

二. 点乘

想要定义点矢之间的点积, 需要借助外力: 3×3 可逆对称 矩阵 G. 我们称其为度规.

G 可以定义 VV 的映射: aGa. 其中 V 的基底是对偶基. 还有 VV 的映射: G1.

在度规有定义时, 它们是天造地设的一对. 将点矢记为 ao, 则其对应线矢为 ao. 将线矢记为 o, 则其对应点矢为 o. 这里 o 只是形式上的记法, 用于区分类别, 有时省略.

此时定义点乘 aobo=aobo, 别忘了线矢和点矢的点积是天然的. G 的对称性使得 ab=ba 交换律成立.

此时有重要等式:

det(G)[(ao×bo)(co×do)]=(aoco)(bodo)(aodo)(boco)

注意左侧是线矢的点乘, 用的是 G1, 而右侧用的是 G. 代入是容易验证的, 只要别忘了 det(G)G1G 对称时就是 G 的伴随矩阵. 显然, 如果是四个线矢, 同样成立.

在研究几何对象时, det(G) 就可直接拿掉.

三. 圆锥曲线

二次曲线3×3 对称矩阵 G 定义: 以 G 为度规, 则点矢 a 的几何对象属于该二次曲线, 当且仅当 aa=0. 我们也将其称为 二次点列. 与之相对的是 二次线束: =0G 对应的二次线束上.

Goo 表示二次点列 (它类似线矢, 定义的是点的集合), 用 Goo 表示二次线束. 在 G 可逆时, G 给出的二次点列, 其全部切线就是 G1 给出的二次线束. 因此用 Goo 表示 Goo 的逆矩阵, 反之亦然.

不难发现 Goo 就是普通的二次曲线, 因为 aa 中包含了所有非齐次化意义下的二次或更低次项 (只需要调整 G 的系数). 而 G 的对称性能确保它 "唯一" (齐次坐标意义下).

G 可逆, 可作度规. 则 ao 的极线是 ao. 线 o 的极点是 o. 若 G 不可逆, 二次曲线会退化.

用两条线 ao,bo 构造二者构成的退化二次曲线 G 是简单的: 设 ao=(a1,a2,a3), 同理设 bo, 则 Gi,j=aibj+ajbi. 为了方便, 简写为 Goo=aobo+boao, 再简写为 Goo=aobo. 因为它本质上就是乘法.

同理, 构造退化二次线束为 Goo=aobo, 其几何对象是所有经过 aobo 的直线.

来看看 韦达定理 在哪里. 设直线 o 与非退化二次曲线 Goo 交于 a,b, 求 a,b 两点给出的退化二次线束. 有一种巧妙的思路转换, 但不易说清, 我直接写结论, 过程读者自证不难: 直线 m 属于该退化二次线束, 当且仅当 m 的交点在 G 上, 或 m 重叠.

因此可以翻译为 (m×l)(m×l)=0, 打开得 (mm)(ll)(ml)2=0.

可以看出, 我们得到了结果: 该退化二次线束的矩阵

Foo=l2Goololo

值得注意的是 Foo 确实是对称的, 因此 Fooaobo.

我们可以不开根号, 就得到 F. 这就是韦达定理, 因为 {ao=(x1,y1,1)bo=(x2,y2,1) 时, 可以看到

aobo=(2x1x2x1y2+x2y1x1+x22y1y2y1+y22)

由对称性, 下半部分未给出.

同样的方法可以给出 a,b 的切线构成的退化二次点列. 还可以让 ao 点引 G 的两条切线, 这两条切线构成的二次点列是 Hoo=a2Gooaoao. 而 {mo=(k1,1,b1)no=(k2,1,b2) 的构造

mono=(2k1k2(k1+k2)k1b2+k2b12(b1+b2)2b1b2)

跃跃欲试? 马上就来.

例题: 有椭圆 x2a2+y2b2=1, 点 P 作该椭圆的两条切线垂直, 求 P 点轨迹.

解: 设点 po=(x,y,1), 椭圆 Goo=(1a21b21), 则 po=(xa2,yb2,1).

p2=x2a2+y2b21, 得切线的二次点列

Hoo=p2Gpp=(y2a2b21a2x2a2b21b2)

对比上面的矩阵, 我们需要 H1,1H1,2=1. 化简之后得到 x2+y2=a2+b2. 这就是蒙日圆.

. 利用 的正负来判断 是否与椭圆有交点, 是很快的. 它会写为 A2a2+B2b2C2.

四. 交比与对合

接下来, 我们考虑代数对象: 二维矢量. 注意我们仍然考虑齐次坐标. 在这里, 点积基本上是我们所熟知的那个 (不引入度规), 也不区分点矢和线矢.

考虑某种线性变换 M, 如果任意矢量 a 满足 M(Ma)a, 我们称 M对合变换. 因为这种变换下, aMa 是配对关系, 二者地位相同.

由于 (abcd)1(dbca), 显然 a+d=0M 是对合变换.

实际上 bc=0a=d 时也成立, 但这样 M 就是恒等变换 (齐次坐标意义下), 因此不谈.

ϵ=(0110), 两个向量的普通点积 xy=0 的解就是 y=ϵx, 因为是叉乘效果. 二维矢量的叉乘结果是实数, 简记为 [ab], 因为它就是行列式. 同理, 三维矢量中的 a(b×c) 可以简记为 [abc].

不难验证: 对称矩阵 Mϵ 会得到 a+d=0 的矩阵. 因此我们说: 对合变换由对称矩阵 M 定义, a,b 对合等价于 (Ma)b=0, 这里是普通点积.

Maa, 称这样的 a 为对合变换的 不动点. 容易发现, 若有两个不动点 p,q, 可以确定 M=(ϵp)(ϵq). 这就是因式定理.

我们用四个二维矢量 a,b,c,d 可以定义 交比 Jab,cd=[ac][bd][ad][bc]. 它有个强大之处: 某个线性变换 M 同时作用于 a,b,c,d 之上时, 交比不变, 因为分子分母只会同时乘 det(M)2.

不难发现, 交比在齐次坐标下是良定义的 (不会算出不同结果).

构造三维行列式, 容易说明 a[bc]b[ac]+c[ab]=0, 再叉乘 d 即得 [ad][bc]+[db][ac]+[ab][cd]=0. 不难验证则有

Jab,cd=1Jba,cd=1Jac,bd

a,b,c,d 不共线, 则 Jab,cd0. 这立刻说明 Jac,bd1, 也就是说, 交比不可能为 1.

Jab,cd=1, 则称 a,bc,d 互相 调和分割. 称 a,b,c,d 构成 调和点列.

如果某个对合变换中, p,q 是不动点, a,b 对合. 将 p,q,a,b 同时作该变换, 交比不变, 因此有 Jpq,ab=Jpq,ba=1Jpq,ab. 而交比不能为 1, 这说明 p,q 调和分割 a,b.

可见, 对合的两个点调和分割不动点. 而对于任意 a, 有唯一的 b 使得 a,b 调和分割 p,q. 且该对合可以经由不动点构造出. 故曰: 两个点对合, 等价于调和分割不动点.

上面的讨论是二维矢量上的. 我们要在三维矢量空间内讨论之. 也就是说: 我们可能会取 V 的子空间 S, 其中 dimS=2, 然后讨论其内的向量 (用二维矢量的方法). 交比在线性变化下不变, 因此是坐标系无关的; 在研究 S 内向量时, 我们可以任取基底而不影响其结果.

具体操作方法, 见此例. 现在有 和其上 a,b 两点. 另作直线 m,n 分别交于 c,d 两点. 如何验证 a,bc,d 是否调和分割?

a 的二维坐标表示形式是 a, 其余类似. 关键在如何计算叉乘. 注意到 [ac]=a(ϵc), 这里是普通点积. 怎么去理解 ϵc 呢? 观察 m. 由于 mV 在子空间内也是线性泛函, 因此必然存在坐标表示形式, 记为 m. 这个坐标必然满足 mc=0, 因此 mϵc.

同样的道理 nϵd. 但还需验证 mn 的比例系数是否相同. 这很简单: 注意到 mm 的过程是, 先得到 c=×m, 再得到 c, 再得到 ϵc. 这都是对 m 作线性变换. 因此终过程是 m=Am. 而真实值必然也是线性变换. 所以得到的结果相差必定是相同的倍数, 即 A 与真实的线性变换之间的倍数.

所以 a(ϵc) 就是 m 作用在 a 上, 即 ma. 经过这样的转化, 我们会发现, 调和分割的条件是 (ma)(nb)+(mb)(na)=0. 我们就用三维矢量, 表示了二维矢量的限制.

再说点别的. 此段可跳过. 考虑二次点列 G, 类似地, 可以将其限制到 上, 得到 G, 仍然对称. 因此 G 就给出对合, 不动点为 G 的交点. 然后调和分割点 a,b 满足 ab=0, 以 G 为度规.

换句话说: 若 ab=0, 则 (a×b)G 的交点被 a,b 调和分割.

五. 二次交比

二次曲线 G 上取四个点 a,b,c,d, 再任取 p, 则这四个点与 p 所成直线是 dim=2 的子空间, 交比有定义. 类似上面推导, 二维叉乘可以直接变为三维空间的线与点的内积, 而线是点矢叉乘得到. 于是 J=[pac][pbd][pad][pbc].

我们稍做处理. 仍令 G 为度规. 根据行列式的性质, [poaoco]=det(G)[poaoco], 令线矢为行向量, 点矢为列向量, 则

det(G)[poaoco]2=det(popopoaopocoaopoaoaoaococopocoaococo)=det(0papcap0accpca0)=2(pa)(pc)(ac)

对分子分母同时处理, 最终得到 J2=(ac)(bd)(ad)(bc). 而 J 关于 p 是连续变化的, 因此 J 是常数 (而不是两个相反数胡乱变化). 既然 Jp 无关, 我们就直接认为这个 Ja,b,c,d 四个点的交比. 由于点在二次点列上, 称其为 二次交比.

考虑调和点列, 只需 J2=1. 移项我们会拿到: (a×b)(c×d)=0.

二次交比本质上还是交比. 故根据之前所说, 若 p,q 是不动点, 则调和分割条件 (a×b)(p×q)=0 等价于 a,b 对合条件.

=p×q 做替换, 我们知道 给出了对合变换, G 的交点就是不动点.

它有什么用? 考虑这样的问题: 过椭圆上定点, 做两条直线分别与椭圆相交于另外两点 a,b. 若两直线斜率和为定值, 问 a,b 所连直线是否经过定点. 答案是肯定的: 斜率和为定值, 这是对合条件. 而椭圆上的对合由直线 确定, 则 a,b 连线恒过 对应的极点, 证毕.

而这个对合是很容易找到不动点的: 若斜率和为 s, 则斜率为 s2 的直线是不动的, 以及 斜率不存在的直线, 即与 y 轴平行的直线.

从变换角度: 没有哪条直线可以跟这条直线对合, 因此这条直线必然跟自己对合, 是不动点. 从代数角度: 设点 (x0,y0), 则斜率为 k 的直线的三维矢量 (k,1,y0kx0). 从中可见, 以 i=(1,0,x0),j=(0,1,y0) 为基底, 坐标为 (k,1), 对合矩阵是 (0111). 无斜率直线的坐标则为 (1,0), 明显看出这是不动点.

该结论可逆用: 过定点的直线与圆锥曲线交于两点, 与圆锥曲线上第三点所成的两直线对合. (因此 "双线参" 总是本质且高效的普通解法.)

但联立极线和椭圆, 有悖于初衷. 不妨找到方法使得: 给出 loGso 时, 设 loG 交于 ao,bo, 能否直接求出 Hoo=(ao×so)(bo×so) 呢?

我不知道怎么推导, 但是可以证明

Hoo=solo(sl)Goo

理由是: 直线 (ao×so) 上的所有点 (除 ao 点) 可表示为 (so+λao). 代入上式, 知该直线属于 Hoo. 对 (bo×so) 同理, 故 Hoo 就是这两条直线. 恰好这个 Hoo 还是对称的.

因此 "逆用结论" 不再需要解方程. 正用结论也不需要解方程了! 只需要构造

Hoo×2Goo=(sl)

因为 Goo×2Goo=3. 别忘了逆矩阵可以用伴随矩阵得到.

正用结论时, 写出 Hoo 是不用解二次方程的. 靠上式得到 (sl) 后, 直接有 Hoo+(sl)Goo=solo, 由于 so 已知, 作除法即可.

如果顶点在坐标轴上, 暴力联立也很快, 可以采用.

. 椭圆 x26+y23=1, 过 (3,0) 引直线, 问椭圆上 (2,1) 与两个交点所成直线的对合关系.

解: 极线为 :x=2, 交点为 (2,±1), 与 (2,1) 所成直线分别为: (2,1) 处的切线 (这就是我要说的: 当点重合时, 所成直线为切线) 即 :x+y=3:x=2. 斜率为 k1=+,k2=1, 因此对合条件为 k1+k2=2.

顺带一说, 整个推导过程并不要求坐标是实数, 因此过椭圆内定点时, 其极线会与椭圆相交于坐标为复数的位置, 不必担心.

六. 仿射几何的中点

已经确定 a,b,c 共线时, 取 sab (无穷远直线) 的交点, 则 ca,b 中点, 等价于 c,s 调和分割 a,b. 证明略.

于是考虑这个问题: 过定点 a 的直线与圆锥曲线 G 的交点的中点的轨迹.

由于直线是否为无穷远直线并不重要, 因此下文将无穷远直线简写为 .

设该点为 ms=(m×a)×l(lm)a(la)m 要使得 m,s 调和分割 (m×s)G 的交点. 前面说过, 以 G 为度规, 等价于 ms=0. 代入得

ms=(lm)(am)(la)(mm)=0

可以看出结果是 Hoo=loao(la)G. 但是它不对称! 因此做对称化处理得到

Hoo=loao2(la)Goo

但是, 根据 初级的愚蠢的 解析几何观点, 交点不能是无穷远点或复数点, 因此该圆锥曲线还需额外寻找范围, 非常讨厌.

七. 例子

该部分只是记录些我曾用过的此方法. 理论上, 下面的内容都无须阅读.

. 设椭圆 x2a2+y2b2=1, 设 P,N,M 是椭圆上三点, 满足 M,N 关于 x 轴对称. 设 PM,PN 分别与 x 轴相交于 R,S, 求证: xRxS=a2.

解: 设左右顶点为 A,B. 以 x 轴为对合直线, 则 M,N 对合, 则 M,N,A,B 是二次调和点列, 则 MP,NP,AP,BP 是调和线束, 与 x 轴相交, 则 R,S,A,B 是调和点列 (同时叉乘, 叉乘是线性变换, 不改变交比), 不难证明只需 xRxS=a2.

另解: 构造 P 关于 x 轴对称点 Q, 则 R,S 是两种 "两组边交点". 结论是二者互极 (点乘为零), 证明是向量式爆算: 设四点 a,b,c,d, 只需证

[(a×b)×(c×d)][(a×c)×(b×d)][(a×b)(a×c)][(c×d)(b×d)][][][(ab)(ac)][(bd)(cd)][(ab)(db)][(ac)(dc)]=0

由于形式类似, 省略了部分繁琐的东西.


应该不会再有新东西了. 2022/12/22 终.

posted @   OneInDark  阅读(764)  评论(10编辑  收藏  举报
相关博文:
阅读排行:
· Blazor Hybrid适配到HarmonyOS系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
· 数据并发安全校验处理工具类
点击右上角即可分享
微信分享提示