|r₁ − r₂| = 2a
双曲线与渐近线
把椭圆定义里的「和」换成「差的绝对值」,得到的是双曲线。两条曲线的方程只差一个符号,而形态相差很远:椭圆是闭合的,双曲线有两支且各自贴向一条直线延伸到无穷远。
1 · 定义与两支的由来
定义 1.1(双曲线) 平面内与两个定点
F1、F2
的距离之差的绝对值等于常数(大于零且小于
∣F1F2∣)的点的轨迹叫做双曲线。
条件是
0<2a<2c,与椭圆的
2a>2c
正相反。取绝对值是两支存在的原因:r1−r2=2a
给出靠近
F2
的那一支,r2−r1=2a
给出另一支。省掉绝对值只得到一支,这是「求轨迹」题里常见的漏解。
2a=2c
时轨迹退化成两条射线(焦点连线的两侧延长部分),2a>2c
时无轨迹。
2 · 标准方程与 c² = a² + b²
焦点在
x
轴上时
a2x2−b2y2=1,c2=a2+b2
与椭圆的
a2=b2+c2
对照:双曲线一族里
c
是最大的那个,c>a
恒成立,故离心率
e=ac>1。b
不再是「短半轴」:双曲线上没有一个点的纵坐标是
b,它只是渐近线的斜率里的那个分子,课本称为虚半轴。
判断焦点在哪个轴上,看的是哪一项为正:a2x2−b2y2=1
的焦点在
x
轴,a2y2−b2x2=1
的焦点在
y
轴。这与椭圆「看分母大小」的判据不同,两处判据混用是另一个常见错处。
图 2-1 · 双曲线的两支、渐近线与一点的两条焦半径。可调半轴与点的位置,读数给出两条焦半径之差的绝对值,它恒为
2a。
3 · 渐近线
把方程右端的
1
换成
0,得
a2x2−b2y2=0,即两条直线
y=±abx
它们是双曲线的渐近线:曲线上的点沿支延伸时到渐近线的距离趋于零,但永不为零。实测
4x2−9y2=1
的右支:x=5
处到渐近线
y=1.5x
的距离是
0.3473,x=20
处降到
0.0834,x=100
处
0.0166,x=1000
处
0.00166——横坐标每放大十倍,距离缩小约十倍,而始终为正。
渐近线由
ab
唯一决定,故它不区分「共渐近线」的一族双曲线:4x2−9y2=λ
对任意非零
λ
都有同一对渐近线,λ>0
时焦点在
x
轴,λ<0
时在
y
轴。
4 · 与渐近线平行的直线只交一支
一条与渐近线平行(而不重合)的直线,与双曲线恰有一个公共点。原因在代数上:联立后二次项的系数是
a21−b2k2,k=±ab
时它恰为零,方程退化成一次,只剩一个根。
这与「相切」是两件不同的事,而两者在「公共点个数」这一列上长得一样。相切是二次项系数不为零而判别式为零;退化是二次项系数为零。lineConic 因此把这一支单独标成 degenerate,而不是并进 tangent;分类靠系数,不靠数交点。这条区分在
直线与圆锥曲线的联立 §3 里还要再用一次。
注 · 这个退化在浮点下是刀刃上的平衡。取
4x2−9y2=1
与
y=kx+2:k=1.5
时二次项系数恰为零,得唯一交点
x≈−2.1667;k
改成
1.5+10−9,系数变成
−3.3×10−10,照公式解出两个根,第二个落在
x≈−2.0×109
处。那个交点在数学上是真的(直线终究会追上另一支),但它离题目关心的区域十亿倍远,坐标本身也已被相消吃掉大半有效数字。故实现里的容差取相对量:这一档被归入退化,偏差放大到
10−4(系数
−3.3×10−5、远根落在
2×104)时才按两个交点报出。
5 · 参考文献
- Hyperbola. Wikipedia. 双曲线的定义、标准方程、渐近线与离心率。https://en.wikipedia.org/wiki/Hyperbola
- Asymptote. Wikipedia. 渐近线的定义与「距离趋于零而不为零」的表述。https://en.wikipedia.org/wiki/Asymptote
- Hyperbola. Wolfram MathWorld. 双曲线的各项参数、渐近线与共渐近线的一族。https://mathworld.wolfram.com/Hyperbola.html