天天看点

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

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

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

对于不可逆的

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

,记号

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

,另一种形如

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

,分别称之为

退化二次点集和退化二次线束

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

具有性质:

存在一个非零点矢s,使得
python 两点曲线_圆锥曲线第八节:直线与椭圆的相交
,并且使得这一等式成立的所有点矢均与s共线

。请注意,

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

不仅仅意味着

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

很明显,S点在曲线

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

的形式,而

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

,因此整条直线都在曲线

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

因此我们得到:

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

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

,我们要构造出一个

对称

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

这正是我们想要的构造。

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

,因此

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

特别的,对于点

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

,有

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

,因此

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

.证毕

对于退化二次线束

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

的讨论是相似的:在

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

两点,这条直线s满足

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

.

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

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

接并列

,不缩并。比如,

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

的分量是

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

2.如果我把两个元素之间加了一个点,则表示我让两个元素的

相邻指标缩并

。比如,

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

的分量是

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

;

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

的分量是

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

这样一来,

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

可以写成

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

,称为这

两个元素的对称积

之所以这个例子很重要,是因为在很多几何关系下,我们需要求解二次方程才能表示出来
python 两点曲线_圆锥曲线第八节:直线与椭圆的相交
,然而它们的对称积
python 两点曲线_圆锥曲线第八节:直线与椭圆的相交
却可以用简单的运算表示!我们可以看到,这是韦达定理的推广。请看下面的例题: 例题:

有一条直线

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

与圆锥曲线

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

m和l的交点位于
python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

。因此有

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

。左式可以改写为

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

(注意,这里

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

(补充一句,

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

更便于应用)

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

联立张量

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

,则

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

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

。因此,我们的等式

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

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

例:有椭圆

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

解:椭圆张量

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

,

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

。设直线

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

,则

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

,

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

注意一点:

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交
这一十分简洁的表达式可以用来判断直线是否与椭圆有交点

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

,当没有交点时,

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

出于这个理由,
python 两点曲线_圆锥曲线第八节:直线与椭圆的相交
称为直线与椭圆联立的判别式。这个判别式的使用是十分方便的。

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

,化简成为

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

,或者简写成

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

。(补充一句,

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

更便于应用)

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

,则

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

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

例题:有一个椭圆

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

解:设

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

,椭圆张量

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

,则

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

,

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

.

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

,后者的值为

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

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

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

,也就是

python 两点曲线_圆锥曲线第八节:直线与椭圆的相交

。这是一个圆。

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

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