目录:质点:想整理一篇关于高中的圆锥曲线的文章

上一节我们讨论了非退化的二次曲线,现在我们讨论退化的二次曲线。

退化二次曲线是不可逆的对称二阶张量(也就是它的号差中有0),因此它也就不能构成度规。然而它是十分重要的。这是因为在很多情况下,我们遇到的两条直线(或者两个点)总是“成对出现”,“不能拆开”,只好把它们放在一起,用退化二次曲线表示。

对于不可逆的



,记号



也就没有任何意义。因此,退化二次曲线有两种,一种是



,另一种形如



,分别称之为


退化二次点集和退化二次线束。不可逆二阶张量的号差中,0可能有1~3个,但我们主要讨论0、+1、-1各一个的情况。对于这种情况,


具有性质:


存在一个非零点矢s,使得


,并且使得这一等式成立的所有点矢均与s共线


。请注意,


不仅仅意味着



,而意味着对任意矢量a,均有





很明显,S点在曲线



上。如果还有一个点A在曲线上,则



。直线SA上的所有点均可写为



的形式,而



,因此整条直线都在曲线



上。回想双曲线的方程,它们具有



的形式。当k=0时,双曲线退化成了两条直线。这正是退化二次点集的状态。



因此我们得到:退化二次点集是两条直线构造出来的。反过来,只要有两条直线就能构造退化二次点集。我们希望写出一个公式,通过两个线矢构造一个退化二次点集,使得二次点集上的点均位于这两条直线上。

想一想,如果我们只有两个线矢



,我们要构造出一个


对称二阶张量,我们能怎么做?十分自然的构造是,令



这正是我们想要的构造。


证明:如果a在直线m上,那么



,因此





特别的,对于点



,有



,因此



.证毕



对于退化二次线束



的讨论是相似的:在



上的所有直线必定穿过两个定点



中的一个。有一条直线s同时穿过



两点,这条直线s满足



。完全相同地,可以用两个定点构造退化二次线束:



.



有时候书写指标会很麻烦。因此在某些场景,我会使用不加指标的形式来表示张量运算。运算规则是:

1.如果我把两个元素直接并列,则意味着我让两个元素的指标直接并列,不缩并。比如,



的分量是





2.如果我把两个元素之间加了一个点,则表示我让两个元素的相邻指标缩并。比如,



的分量是



;



的分量是





这样一来,



可以写成



。因为这个例子十分重要,我单独使用一个符号,把这个张量记成



,称为这


两个元素的对称积


之所以这个例子很重要,是因为在很多几何关系下,我们需要求解二次方程才能表示出来




,然而它们的对称积



却可以用简单的运算表示!我们可以看到,这是韦达定理的推广。请看下面的例题:


例题:有一条直线



与圆锥曲线



交于AB两点,求AB两点构造的二次退化线束。





python 曲线 相交点 python曲线和直线的交点_知乎


解:如果一条直线m在二次退化线束上,那它一定经过A点或者B点。换句话说,它和直线


的交点或者是A点,或者是B点。这意味着,

m和l的交点位于

。因此有

。左式可以改写为


。从这一方程中,我们可以看出,我们需要的张量是


(注意,这里


的指标都是在上面的),简写为



(补充一句,


表示的是A、B处的切线构成的退化二次点列(图上未画出),有时候这比


更便于应用)


这一结论是十分有意思的。因为我们知道,联立直线和椭圆求交点涉及到一个二次方程,需要复杂的运算。然而我们竟然用如此简单的方法构造出了完全由A、B两交点确定(而和椭圆无关)的张量!我们把它称为联立张量

我们用解析几何来看看这个等式的意义。采用常用的规范,记


,则


。可见,我们构造出来的矩阵的元素全是由二次方程中两根和以及两根积表示的。而我们知道,

虽然二次方程的解要开根号,但两根和以及两根积是不用开根号的,这正是韦达定理。因此,我们的等式

是韦达定理的一个推广结论。


为了避免这篇文章完全不涉及高考内容,我们把这个东西略微整理一下。表达式


通常不便于应用。因此我们引入


,它表示这个点与原点所连直线的斜率。上式可以改写为


。引入ab两点的中点M,有


如果把最后一个数归一,则可以写成


。这基本解决了求中点的问题。


知乎上经常讨论的是称为“齐次化联立”的技巧,它可以把联立方程写为斜率的二次方程,从而得到


。现在我们看到,只要计算联立张量,一切问题都解决了。


下面看一道例题,这是我高二时数学老师留的作业。这道题用极坐标有简单的做法,但这里我们看利用联立张量进行齐次化联立的做法

例:有椭圆


,原点O。一条动直线与椭圆交于两点AB,使得OA与OB垂直。求动直线的包络线。


解:椭圆张量


,


。设直线


,则



,



注意一点:


这一十分简洁的表达式可以用来判断直线是否与椭圆有交点

。只需要注意到,当直线与椭圆相切的时候,有

,而很容易看出,当有交点时,


,当没有交点时,


出于这个理由,

称为直线与椭圆联立的判别式。这个判别式的使用是十分方便的。

我们写下联立张量(吐槽一句,用公式编辑器处理矩阵真是困难!这个用手算还比较好,熟练了以后做这种简单的矩阵运算是很快的):



。对比系数,应该取第2行第2列与第1行第1列的数之比(这是与原点连线的斜率的两者乘积),并令它等于-1。因此有


,化简成为


。注意到,原点到直线的距离公式为


竟然是一个常数。所以,我们要讨论的包络线是一个圆。换句话说,这条动直线恒定与一个圆相切。


和直线与椭圆联立一样,自然也可以考虑它的对偶命题:过椭圆外一点A作椭圆g的两条切线。很明显,这两条切线构成的退化二次点集张量可以写成


,或者简写成


。(补充一句,


表示的是两个切点构成的退化二次线束,有时候这比


更便于应用)


python 曲线 相交点 python曲线和直线的交点_python 曲线 相交点_02


为了便于应用,我们写出退化二次点集的分量式。设


,则



我们一般只会用到前四个分量(用的时候不要忘记归一化)

我们再来看一个例题,这个例题是知乎上多次讨论的蒙日圆问题。

例题:有一个椭圆


,椭圆外有一个点c,过c作椭圆的两条切线互相垂直。求点c的轨迹。


解:设


,椭圆张量


,则


,


.



偷懒我就不写出最后的结果了,因为我们只需要关心这个张量的第(1,1)个分量除以第(2,2)个分量——这是斜率的乘积,需要等于-1。前者的值为


,后者的值为


。它们的比值为-1,可以改写为


,也就是


。这是一个圆。


细心的同学会意识到,我们在这一节里举了两道例题,这两道例题十分相似。之后在我们讲垂直结构的时候,我们会看到,如果把点和线的地位互换,两道题就互相变成了对方。在讲垂直结构中,我们还会回答这样的问题:“圆和椭圆都是二次曲线,在射影几何层面并没有区别,那么在这道题中通过椭圆恰好构造出来了一个圆呢?”这是因为,圆是可以用垂直来定义出来的。我们还将用垂直张量来给出蒙日圆不依赖坐标系的表达式。

目录:质点:想整理一篇关于高中的圆锥曲线的文章