本章在直角坐标系下研究平面上的二次曲线与空间中的二次曲面. 没有特别说明, 本章中的坐标系均为直角坐标系.
约定 `P = (x,y)`, `P_i = (x_i,y_i)`, `f_i(P) = x^2+y^2+D_i x + E_i y + F_i`, `i = 0,1,2,3`. 圆记为 `C`.
条件 | 方程 | |
参数方程 | `|P_0 P| = r` | `{x = x_0 + r cos theta; y = y_0 + r sin theta :}`, `theta in [0,2pi)` |
标准方程 | `|P_0 P| = r` | `(x-x_0)^2 + (y-y_0)^2 = r^2` |
一般方程 | `D^2+E^2 gt 4 F` | `x^2 + y^2 + D x + E y + F = 0` |
直径式 | `vec(P P_1) * vec(P P_2) = 0` | `(x-x_1)(x-x_2)` `+ (y-y_1)(y-y_2) = 0` |
不共线三点 | 不共线的三点 `P_i in C`, `i = 1,2,3` | `| x^2+y^2 , x , y , 1; x_1^2+y_1^2 , x_1 , y_1 , 1; x_2^2+y_2^2 , x_2 , y_2 , 1; x_3^2+y_3^2 , x_3 , y_3 , 1; | = 0` |
两圆公共弦 | 两圆 `f_i(P) = 0`, `i = 1, 2` | `f_1(P) - f_2(P) = 0` |
恒过圆与直线交点 | 圆 `f(P) = 0`, 直线 `g(P) = 0` | `f(P) + lambda g(P) = 0` |
恒过两圆交点 | 两圆 `f_i(P) = 0`, `i = 1,2` | `lambda f_1(P) + mu f_2(P) = 0`, `lambda, mu` 不同时为零 |
到两定点距离之比为定值 | 两定点 `P_i`, `i = 1,2`, 定值 `lambda gt 0`, `lambda != 1` | `(x-x_1)^2 + (y-y_1)^2` `= lambda^2[(x-x_2)^2+(y-y_2)^2]` |
记圆的方程为 `f(P) = (x-x_0)^2+(y-y_0)^2 - r^2 = 0`, 圆心为 `P_0(x_0,y_0)`, 又设 `P_1` 为平面上一点, 则 `f(P_1) = |P_0 P_1|^2 - r^2`. 特别当 `P_1` 在圆外时, `f(P_0)` 等于切线长的平方.
平面上到两点距离之和为定值的点的轨迹是椭圆; 到两点距离之差为定值的点的轨迹是双曲线; 到一点和一直线距离相等的点的轨迹是抛物线.
抛物线的极坐标方程 是 `r = p/(1-cos theta)`, 其中焦点在原点, `p` 是焦点到准线的距离.
设准线为 `x = -p`, 焦点在原点, 则抛物线上一点到原点的距离为 `r`, 到准线距离为 `r cos theta + p`, 令它们相等即得结论.
直线 `A x + B y + C = 0` 与双曲线 `x^2/a^2-y^2/b^2 = 1` 的位置关系. `A^2 a^2 = B^2 b^2` 时, 若 `C = 0` 则无交点, 若 `C != 0` 有一交点. `A^2 a^2 != B^2 b^2` 时, 见下表.
`Delta` | `x_1 x_2` | `x_1 + x_2` | 交点情况 |
`+` | `+` | `+` | 两交点都在右支 |
`-` | 两交点都在左支 | ||
`-` | 两支各有一交点 | ||
`0` | 有一切点 | ||
`-` | 无交点 |
已知点 `C` 在椭圆 `x^2/a^2 + y^2/b^2 = 1` 上, 过 `C` 作弦 `C A`, `C B`, 使得 `k_(C A) k_(C B)` 为一常数 `z`. 证明: `z != b^2//a^2` 时, 直线 `AB` 恒过一定点.
圆 `(x-a)^2 + (y-b)^2 = r^2`. 过圆外一点 `P(x_0, y_0)` 引圆的两条切线 `PA, PB`, 切点分别为 `A, B`. 则直线 `AB` 的方程是 `(x-a)(x_0-a) + (y-b)(y_0-b) = r^2`. 特别, 当 `P` 在圆上时, 这个方程就是过 `P` 的圆的切线方程.
记圆心为 `S(a, b)`, 注意 `vec(SA) * vec(AP) = 0`, 有 ` vec(SA) * vec(SP)` `= vec(SA) * (vec(SA) + vec(AP))` `= |vec(SA)|^2 = r^2`. 即 `A(x_A, x_B)` 满足方程 `(x-a)(x_0-a) + (y-b)(y_0-b) = r^2`. 同理 `B` 也满足上述方程. 由 `P` 在圆外知 `x_0-a`, `y_0-b` 不同时为零, 因此上式是一直线方程. 但 `A, B` 都在这一直线上, 所以它是直线 `AB` 的方程. `P` 在圆上时, 同样计算向量内积可以证明上式是过 `P` 点的切线方程.
过椭圆 `x^2/a^2 + y^2/b^2 = 1` 上一点 `P(x_0,y_0)` 的切线方程为 `(x_0 x)/a^2 + (y_0 y)/b^2 = 1`. 注意切线斜率与 `OP` 的斜率乘积等于 `-b^2/a^2 = e^2-1`.
在椭圆方程的两端对 `x` 求导, `(2x)/a^2 + (2y)/b^2 y^' = 0`. 记 `k = y'|_((x_0","y_0)) = -(x_0 b^2)/(y_0 a^2)`, 则切线方程为 `y - y_0 = k(x-x_0)` `= -(x_0 b^2)/(y_0 a^2) (x - x_0)`. 利用等式 `b^2 x_0^2 + a^2 y_0^2 = a^2 b^2` 化简得 `(x_0 x)/a^2 + (y_0 y)/b^2 = 1`. 易知斜率不存在时, `y_0 = 0`, 上式也是椭圆的切线方程.
如利用 `Delta = 0`, 则计算繁琐: 将椭圆方程与过 `(x_0,y_0)` 的直线 `A(x - x_0) + B(y - y_0) = 0` 联立, 令 `Delta = 0` 得 `A^2 a^2 + B^2 b^2 = (A x_0 + B y_0)^2`. `B != 0` 时, 记 `m = A/B`, 解上述二次方程, 注意利用等式 `b^2 x_0^2 + a^2 y_0^2 = a^2 b^2`, 得一对相等实根 `m = (x_0 y_0)/(a^2 - x_0^2)` `= x_0/(a^2 y_0) (a^2 y_0^2)/(a^2 - x_0^2)` `= x_0/(a^2 y_0) (a^2 b^2 - b^2 x_0^2)/(a^2 - x_0^2)` `= (x_0 b^2)/(y_0 a^2)`. 再作类似处理可以得到切线方程.
求椭球面 `x^2 + 2y^2 + 3z^2 = 21` 的过直线 `(6+2t, 3+t, 1/2 -t)` 的切平面的一般方程.
该椭球面在 `(x_0, y_0, z_0)` 处的切平面方程为 `x x_0 + 2y y_0 + 3z z_0 = 21`, 代入点 `(6, 3, 1/2)` 得 `6 x_0 + 6 y_0 + 3/2 z_0 = 21`. 另一方面, 切平面的法向量 `(x_0, 2y_0, 3z_0)` 与直线的方向向量 `(2, 1, -1)` 垂直, 有 `2x_0 + 2y_0 - 3z_0 = 0`. 将所得的两个方程与椭球面的方程联立 (先从两个一次方程中, 将所有变元用同一变元表出, 再代入二次方程中求解) 解得切点坐标 `(1, 2, 2)` 与 `(3, 0, 2)`, 代回切平面方程即可.
求球面 `(x-2)^2 + (y-2)^2 + (z-2)^2 = 1/3` 的过直线 `(1+t, 1+2t, 1+3t)` 的切平面的一般方程.
设切点为 `(x, y, z)`. 用类似上题的方法, 得 `{ (x-2)^2 + (y-2)^2 + (z-2)^2 = 1/3; (x-2) + (y-2) + (z-2) = -1/3; (x-2) + 2(y-2) + 3(z-2) = 0; :}` 作变元替换 `a = x-2`, `b = y-2`, `c = z-2` 后, 解方程组求切点.
只需求过给定直线, 到点 `(2, 2, 2)` 距离为 `1/sqrt(3)` 的平面方程. 将直线方程化为一般式 `{ 2(x-1) = y-1; 3(x-1) = z-1; :}`, `quad` 即 `{ 2x - y - 1 = 0; 3x - z - 2 = 0; :}` 由于平面 `3x - z - 2 = 0` 到点 `(2, 2, 2)` 的距离为 `|3*2 - 2 - 2|/sqrt(3^2 + 1^2) != 1/sqrt(3)`, 不是所求的平面, 故可以设所求平面为 `2x - y - 1 + lambda (3x - z - 2) = 0`, 它到点 `(2, 2, 2)` 的距离的平方等于 `[(2 + 3 lambda) * 2 - 2 - 2 lambda - 1 - 2 lambda]^2 / [(2 + 3 lambda)^2 + 1 + lambda^2] = 1/3`. 解得 `lambda = +-1`, 从而得到所求平面的方程.
令对称矩阵 `bm A = (a_(i j))_(2 xx 2)`. 取 `theta` 使得 `cot 2theta = (a_11-a_22)/(2 a_12)`, 则正交矩阵 `bm T = [cos theta, -sin theta; sin theta, cos theta]` 将 `bm A` 对角化, 即 `bm (T'A T) = (b_(i j))_(2 xx 2)` 为对角矩阵. 其中 `b_11 = a_11 + a_12 tan theta`, `b_22 = a_22 - a_12 tan theta`.
计算知
`b_11 = a_11 cos^2 theta + a_22 sin^2 theta
+ 2a_12 sin theta cos theta`,
`b_22 = a_11 sin^2 theta + a_22 cos^2 theta
- 2a_12 sin theta cos theta`,
`b_12 = b_21 = a_12 cos 2theta - (a_11 - a_22)/2 sin 2theta`.
所以
`b_11 + b_22 = a_11 + a_22`,
`b_11 - b_22`
`= (a_11 - a_22) cos 2 theta + 2 a_12 sin 2 theta`.
`cot 2 theta = (a_11 - a_22) / (2a_12)` 时,
`b_12 = 0`, 且
`b_11 = 1/2[(b_11+b_22) + (b_11-b_22)]`
`= (a_11+a_22)/2 + (a_11-a_22)/2 cos 2 theta`
`+ a_12 sin 2 theta`
`= a_11 - (a_11-a_22)/2 (1-cos 2theta) + a_12 sin 2theta`
`= a_11 + a_12[sin 2theta - cot 2theta(1-cos 2theta)]`
`= a_11 + a_12 tan theta`,
`b_22 = b_11 + b_22 - b_11 = a_11 + a_22 - b_11`
`= a_22 - a_12 tan theta`.
寻找一个正交变换, 将对称矩阵 `bm A = [2, -1; -1, 2]` 对角化.
令 `|lambda bm E-bm A| = 0`, 即 `(lambda-2)^2 = 1`, 解得特征根 `lambda = 1,3`.
分别解方程组
`{ (1-2) x + 1 y = 0; 1 x + (1-2) y = 0 :}`,
`{ (3-2) x + 1 y = 0; 1 x + (3-2) y = 0 :}`,
得到特征向量 `(1, 1)` 和 `(1, -1)`, 将它们正交单位化
(实际上只需单位化,
因为实对称矩阵的不同特征根对应的特征向量总是正交的) 得到
`bm epsi_1 = (sqrt2/2, sqrt2/2)`, `quad bm epsi_2 = (sqrt2/2,
-sqrt2/2)`.
根据特征向量的定义有
`bm (A epsi)_1 = 1 bm epsi_1`, `quad bm (A epsi)_2 = 3 bm epsi_2`,
写成矩阵形式就是
`bm A (bm epsi_1, bm epsi_2) = (bm epsi_1, bm epsi_2) [1, ; , 3]`,
记 `bm T = (bm epsi_1, bm epsi_2)`, `bm D = [1, ; , 3]`, 上式可以写成
`bm (A T) = bm (T D)`.
因为 `bm T` 是正交矩阵, 有 `bm T^-1 = bm T'`, 于是
`bm A = bm (T D T)'`.
如果 `bm x` 是二元列向量, 作变换 `bm x = bm (T y)`,
就可以将二次型旋转到主轴上:
`bm x' bm (A x)`
` = (bm y' bm T') (bm (T D T')) (bm (T y))`
`= bm y' bm (D y)`.
一般地, 二次型 `A x^2 + B x y + C y^2` 的系数矩阵是 `[A, B/2; B/2, C]`. 二次曲线按特征根的符号分为三类: 两个特征根同号为椭圆型, 异号为双曲型, 有一个特征根等于零为抛物型. 假设 `A gt 0`, 则: `Delta = B^2 - 4 A C lt 0` 时为椭圆型, `Delta lt 0` 时为双曲型, `Delta = 0` 时为抛物型.
2. 的另一解法: 由上一种解法我们知道 `S = S_1 // cos alpha`. 变换坐标系 `(x, y, z) mapsto (a x, b y, c z)`, 在新坐标下椭球面变为单位球面, 平面变为 `l a x + m b y + n c z = 0`. 它们的截痕是单位圆, 面积为 `pi`. 在新坐标系下, 把这个单位圆投影到 `xOy` 平面, 面积为 `S_2 = pi n c//sqrt((l a)^2 + (m b)^2 + (n c)^2)`. `S_1` 和 `S_2` 相差一个坐标系的伸缩变换, 有 `S_1 = a b S_2`. 最终 `S = S_1 // cos alpha = a b S_2 // cos alpha`.