第九章: 向量与空间解析几何
- 向量是一元变量的推广
例如我们在C++里可以进行运算 。
a = 3,
b = 2
c = a + b
得到 c = 5
而在 Python 中可以直接进行向量运算
a = [1, 3]
b = [2, 1]
c = a + b
得到 \mathbf{c} = [3, 4].
- 向量在很多实际问题需要用到
向量是神经网络里的基本操作对象. 一张图片可以看成一个向量, 例如一个 28x28 分辨率的手写数字图片8, 可以看成是一个28x28=784维的向量. 一段文字也可以看成是一个向量, 把文字映射成向量也叫做word embedding, 这是一个非常有趣的问题.
9.1 向量
9.1.1 向量的概念
向量可以从数和形两个方面去理解.
向量的数属性
向量就是一串有序的数字 \mathbf{x} = [x_1, x_2, \cdots, x_n]. n 称为向量的维数, x_i, i=1, \cdots, n 叫做向量 \mathbf{x} 的分量. 分量 x_i 可以属于实数集, 也可以属于复数集. 如不加说明, 本课程中所考虑的向量的分量均为实数, 所有的 n 维实数向量构成的集合记作 \mathbb{R}^n.
向量的形属性
向量也可以看成是一个箭头, 既有长度, 又有方向. 例如 \mathbb{R}^2 中的向量 [2, 3] 可以看成是二维直角坐标系下从点 (0, 0) 指向点 (2, 3) 的一个箭头. 高维向量 \mathbf{x} \in \mathbb{R}^n 也可以看作是一个箭头, 它是一个高维直角坐标系下中从坐标原点指向点 [x_1, x_2, \cdots, x_n] 的箭头.
首先我们统一一下记号. 原则上, \mathbb{R}^n 空间中的向量 \mathbf{x} 可以横着写:
\mathbf{x} = (x_1, x_2, \cdots, x_n) 也可以竖着写 \mathbf{x} = \left(\begin{matrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{matrix} \right)
一下我们规定所有的向量都采用竖着写的形式. 所以当我们说 \mathbf{x} 时, 指的是 \displaystyle \left(\begin{matrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{matrix} \right), 为了节省空间, 我们可以把上述向量写成 (x_1, x_2, \cdots, x_n)^T, 这里的 T 不是躺平的躺的意思, 而是 转置 (Transform).
从数上看, 两个向量相等当且仅当其对应分量分别相等; 从形上看, 只要两个向量的长度和方向相同,起点无论在哪,它们都是同一个向量 (这就是物理中所谓的平移不变性).
9.1.2 向量的运算
接下来我们介绍向量的四种运算: 加法, 数乘, 点乘和叉乘.
9.1.2.1 向量的加法
以二维平面 \mathbb{R}^2 中的向量为例:
数属性下的加法
向量 \mathbf{u} = (2, 3)^T 与向量 \mathbf{v} = (1, 4)^T 之间的加法定义为对映分量元素之间的和, 即 \mathbf{u} + \mathbf{v} = (2+1, 3+4)^T = (3, 7)^T.
形属性下的加法
向量 \mathbf{u} = (2, 3)^T 与向量 \mathbf{v} = (1, 4)^T 之间的加法还可以看成两个向量对映箭头首尾相接后形成的从起点到终点的新箭头.
交换律(Commutative Law)
对于任意向量 \mathbf{a} 和
\mathbf{b},有
\mathbf{a} + \mathbf{b} = \mathbf{b} + \mathbf{a}.
数: 坐标表示:
- 设 \mathbf{a} = (a_1,
a_2),\mathbf{b} = (b_1,
b_2),则
\mathbf{a} + \mathbf{b} = (a_1 + b_1, a_2 + b_2) = (b_1 + a_1, b_2 + a_2) = \mathbf{b} + \mathbf{a}.
形: 平行四边形法则:
- 以 \mathbf{a} 和 \mathbf{b} 为邻边作平行四边形,对角线即为和向量。无论先画 \mathbf{a} 还是 \mathbf{b},对角线方向与长度均不变。
结合律 (Associative Law)
对于任意向量 \mathbf{a}、\mathbf{b} 和 \mathbf{c},有
(\mathbf{a} + \mathbf{b}) + \mathbf{c} = \mathbf{a} + (\mathbf{b}
+ \mathbf{c}).
数: 坐标表示:
- 设 \mathbf{a} = (a_1, a_2,
a_3),\mathbf{b} = (b_1, b_2,
b_3),\mathbf{c} = (c_1, c_2,
c_3),则
(\mathbf{a} + \mathbf{b}) + \mathbf{c} = (a_1 + b_1 + c_1, a_2 + b_2 + c_2, a_3 + b_3 + c_3), \\ \mathbf{a} + (\mathbf{b} + \mathbf{c}) = (a_1 + b_1 + c_1, a_2 + b_2 + c_2, a_3 + b_3 + c_3). 两者结果相同。
形: 多边形法则:
-
无论先加前两个向量还是后两个向量,最终的和向量始终从第一个向量的起点指向最后一个向量的终点。
例如,将 \mathbf{a}、\mathbf{b}、\mathbf{c} 首尾相接,无论先组合 \mathbf{a} + \mathbf{b} 还是 \mathbf{b} +
\mathbf{c},最终路径的起点和终点一致。
9.1.2.2 向量的数乘
以二维平面 \mathbb{R}^2 中的向量为例:
数属性下的数乘
向量 \mathbf{u} = (2, 3)^T 与实数 k 之间的数乘定义为k乘到向量\mathbf{u}的每一个分量上, 即 k\mathbf{u} = (2k, 3k)^T.
形属性下的数乘
向量 \mathbf{u} 与实数 k 之间的数乘可以看成保持向量 \mathbf{u} 的方向不变, 将其长度变为原来的 k 倍.
向量的减法可以通过加法和数乘表示: \mathbf{u}-\mathbf{v}=\mathbf{u}+(-1)*\mathbf{v}
向量没有除法!
结合律
对任意标量 \alpha, \beta
和向量 \mathbf{v},有
(\alpha \beta) \mathbf{v} = \alpha (\beta \mathbf{v}).
数: 坐标表示:
- 设 \mathbf{v} = (v_1, v_2,
v_3),则
(\alpha \beta) \mathbf{v} = (\alpha \beta v_1, \alpha \beta v_2, \alpha \beta v_3) = \alpha (\beta v_1, \beta v_2, \beta v_3) = \alpha (\beta \mathbf{v}).
形: 缩放:
- 标量乘法表示向量的伸缩变换。先以 \beta 缩放 \mathbf{v},再以 \alpha 缩放结果,等价于直接以 \alpha \beta 缩放原向量 \mathbf{v}。
分配律 对任意标量 \alpha 和向量 \mathbf{u}, \mathbf{v},有
\alpha (\mathbf{u} + \mathbf{v}) = \alpha \mathbf{u} + \alpha
\mathbf{v}.
数: 坐标表示:
- 设 \mathbf{u} = (u_1,
u_2),\mathbf{v} = (v_1,
v_2),则
\alpha (\mathbf{u} + \mathbf{v}) = \alpha (u_1 + v_1, u_2 + v_2) =
(\alpha u_1 + \alpha v_1, \alpha u_2 + \alpha v_2) = \alpha
\mathbf{u} + \alpha \mathbf{v}.
形: 缩放:
- 若向量 \mathbf{u} 和 \mathbf{v} 构成三角形的两边,标量 \alpha
缩放后的向量和仍保持三角形结构,但整体长度按 \alpha 比例缩放。
9.1.2.3 向量的点乘
数属性下的点乘
向量 \mathbf{u} = (u_1, u_2)^T 与向量 \mathbf{v} = (v_1, v_2)^T 之间的内积定义为对映分量乘积的和, 即 \mathbf{u} \cdot \mathbf{v} = u_1v_1+ u_2v_2.
形属性下的点乘
向量 \mathbf{u} 与向量 \mathbf{v} 的内积其中一个向量 \mathbf{u} 在另一个向量 \mathbf{v} 的方向上投影的长度(带符号)乘以向量 \mathbf{v} 本身的长度. 也可以写成: \mathbf{u} \cdot \mathbf{v} = |u| |v| \cos(\theta), 其中 \theta 为 \mathbf{u} 和 \mathbf{v} 所对应的两个箭头之间的夹角.
注意, 两个向量的点乘是一个实数. 点乘是一种非常重要的运算, 在机器学习, 量子力学, 线性代数和泛函分析都有广泛应用. 在不同语境下, 点乘 (dot product) 也常常称为 内积 (inner product) 或 数量积 (scalar product).
交换律 \mathbf{u}\cdot \mathbf{v} = \mathbf{v}\cdot \mathbf{u}
点乘与向量加法的结合律 \mathbf{u}\cdot (k_1\mathbf{v}+k_2\mathbf{w}) = k_1\mathbf{u}\cdot \mathbf{v}+k_2\mathbf{u}\cdot \mathbf{w}
点乘与向量长度 \mathbf{u}\cdot \mathbf{u} = u_1^2+u_2^2=|u|^2.
|u| 称为向量的模, 模长等于1的向量称为单位向量.
点乘与归一化
任给非零向量 \mathbf{u}, 新向量 \hat{\mathbf{u}} = \mathbf{u}/|u| 与原向量 \mathbf{u} 方向相同, 模长为1, 这个过程称为向量的归一化.
点乘与角度 \cos \theta=\frac{\mathbf{u}\cdot \mathbf{v}}{|u| |v|}.
点乘与垂直
在上式中, 当 \mathbf{u}\cdot \mathbf{v} 等于0时, \cos\theta=0, 表明两个向量垂直, 也叫做正交(orthogonal)
点乘与投影
一个向量 \mathbf{u} 在另一个 \mathbf{v} 所在方向上的投影还是一个向量, 该向量的模长等于 \mathbf{u} 与单位向量 \mathbf{v}/|v| 的内积, 方向与\mathbf{v} 一致.
投影的过程相当于将 \mathbf{u} 分解成两部分的和, \mathbf{u} = \mathbf{u}_1 + \mathbf{u}_2. 其中 \mathbf{u}_1 与 \mathbf{v} 平行, \mathbf{u}_2 与 \mathbf{v} 垂直, 此时 \mathbf{u}_2 的模长是所有分解中最小的.
9.1.2.4 向量的叉乘
数属性下的叉乘
对于三维空间中的向量 \mathbf{u} = (u_x, u_y, u_z)^T 与向量 \mathbf{v} = (v_x, v_y, v_z)^T,它们的叉乘通过一个三阶行列式(符号记法)来定义与计算: \mathbf{u} \times \mathbf{v} = \begin{vmatrix} \mathbf{i} & \mathbf{j} & \mathbf{k} \\ u_x & u_y & u_z \\ v_x & v_y & v_z \end{vmatrix} = (u_y v_z - u_z v_y)\mathbf{i} - (u_x v_z - u_z v_x)\mathbf{j} + (u_x v_y - u_y v_x)\mathbf{k} 其中 \mathbf{i}, \mathbf{j}, \mathbf{k} 分别为沿 x, y, z 轴的单位向量。
形属性下的叉乘
向量 \mathbf{u} 与向量 \mathbf{v} 的叉乘结果是一个新的向量 \mathbf{w},它同时具有大小和方向: * 大小(模长):|\mathbf{u} \times \mathbf{v}| = |\mathbf{u}| |\mathbf{v}| \sin(\theta),其中 \theta 为两向量的夹角。在几何上,这个大小正好等于以 \mathbf{u} 和 \mathbf{v} 为邻边构成的平行四边形的面积。 * 方向:向量 \mathbf{w} 同时垂直于 \mathbf{u} 和 \mathbf{v} 所决定的平面。其正向由右手定则 (right-hand rule) 确定:右手四指从 \mathbf{u} 沿不超过 \pi 的角转向 \mathbf{v} 握拳时,大拇指的指向即为 \mathbf{w} 的方向。
注意,与点乘得到一个实数不同,两个向量的叉乘结果是一个向量。而且,叉乘是专门针对三维空间向量定义的运算。 在不同语境下,叉乘 (cross product) 也常常称为 向量积 (vector product)。它在力学(如计算力矩、洛伦兹力)和空间解析几何(如快速寻找平面的法向量、计算多边形面积)中有重要应用。
9.1.3 向量空间
数学里面有很多空间, 比如欧几里得空间, 希尔伯特空间(完备的线性赋范空间), 黎曼空间(具有黎曼度量的微分流形), 卡拉比-丘空间(紧致的复的凯勒的流形, 具有里奇平坦的度量)等等. 空间本质上其实就是一个集合, 但不是所有的集合都能叫做空间(不是所有的牛奶都叫特仑苏). 能够称之为空间的集合往往都有一些比较好的性质. \mathbb{R}^n 中的所有向量所构成的集合是一个空间, 叫做n 维向量空间, 也叫做欧几里得空间. 这个空间有很好的性质(想想<你的名字>里黄昏时的情景, 那个就不是一个好空间).
所有的 n 维实数向量构成一个集合, 记作 \mathbb{R}^n, 这个集合也叫做n 维向量空间, 也叫做欧几里得空间.
这个空间最重要的性质是: 空间中的元素对加法和数乘封闭. 也就是说, \mathbb{R}^n 中两个向量的和还是 \mathbb{R}^n 中的向量, 任意实数 k 数乘一个向量也还在 \mathbb{R}^n 中, 哪怕 k=0, 此时得到的是一个维数跟 \mathbf{u} 相同的0向量(元素皆为0). 零向量不等于数字0.
从计算机编程的角度看, 封闭性的一个最大好处是不用每次执行运算后判断结果是不是还在这个空间里.
向量空间的另一个重要性质是: 任给 \mathbb{R}^n 中的两个向量 \mathbf{u}, \mathbf{v},它们之间可以定义距离: d(\mathbf{u}, \mathbf{v}) = |\mathbf{u} - \mathbf{v}|^2 = \sqrt{ (u_1 - v_1)^2 + (u_2 - v_2)^2 + \cdots + (u_n - v_n)^2}
上述距离也称为欧氏距离, 正是在欧氏距离的规整下, 所有的向量构成了所谓的欧氏空间.
9.2 直线和平面
直线和平面可以看作是空间中一些特殊的点构成的集合. 在数学上可以用不同的方法来描述这些集合中的点. 向量语言是其中的一种方法.
9.2.1 二维空间中的直线
以二维平面上的直线为例, 我们知道所有满足方程 y = kx + b 的点 (x, y) 构成了一条直线, 这条直线的斜率为 k, 截距为 b, 反过来看, 给定了斜率 k 和截距 b, 我们可以通过方程 y = kx + b 来描述所有集合(直线)中的点.
通过向量我们可以用另一种方式描述直线. 任意给定一个二维平面中的向量 \mathbf{u}, 所有满足 \mathbf{v}\cdot \mathbf{u} = |u|^2 的向量 \mathbf{v} 所对应的点都位于一条与向量 \mathbf{u} 垂直, 且与原点的距离为 \mathbf{u} 的直线上. 因此 \mathbf{v}\cdot \mathbf{u} = |u|^2 也描述了一条直线, 这是通过向量运算给出直线方程的方法.
反过来, 如果给定直线的法向 \mathbf{n}, 其中\mathbf{n} 为单位向量, 另外再给定有向距离 b (b 可以小于0), 则
\mathbf{v} \cdot \mathbf{n} = b
描述了一条与 \mathbf{n} 垂直, 且与原点的距离为 b (b<0 表示直线相对原点的位置与 \mathbf{n} 的指向相反) 的直线.
进一步, 假定 \mathbf{v} = (x, y)^{T}, 则在坐标形式下上式可以写为
n_1 x + n_2 y = b.
而这正是一个直线方程.
假设在二维平面中,有一条直线的法向量为 \mathbf{n} = (3, 4)^T(此时它还不是单位向量,其模长为 5)。我们将其归一化得到单位法向量 \hat{\mathbf{n}} = (\frac{3}{5}, \frac{4}{5})^T。 如果这条直线到原点的有向距离为 b = 2,那么这条直线上的任意一点 \mathbf{v} = (x, y)^T 必须满足: \mathbf{v} \cdot \hat{\mathbf{n}} = 2 \implies \frac{3}{5}x + \frac{4}{5}y = 2 化简后即可得到我们熟悉的一般直线方程形式:3x + 4y - 10 = 0。
向量观点下的直线跟我们中学学过的坐标形式下的直线本质上是完全一样的, 只不过通过向量观点丰富了我们对直线的理解, 而且在一些问题中, 向量观点往往更加直观和简洁.
我们中学学过, 二维平面中直线的一般形式可以写成 Ax + By + C = 0.
在向量观点下, 我们可以把 (A, B)^T 看成是一个向量, 将其归一化得到向量 \mathbf{n} = \left( \frac{A}{\sqrt{A^2 + B^2}}, \frac{B}{\sqrt{A^2 + B^2}}\right)^T, 同时定义 b = -\frac{C}{\sqrt{A^2 + B^2}}, 则该方程描述了一条与向量 \mathbf{n} 垂直, 且距离原点的有向距离为 b 的直线.
我们中学学过, 二维平面中任意一点 (x_0,y_0) 到直线 Ax + By + C = 0 的距离可以写成 d = \frac{|Ax_0 + By_0 + C|}{\sqrt{A^2 + B^2}}
这个结论如何证明呢?
可以用传统的解析几何的方法, 先写出过点 (x_0, y_0) 垂直于给定直线的直线方程, 然后求两条直线的交点, 最后求点 (x_0, y_0) 到该交点的距离.
在向量观点下, 我们可以计算向量 \mathbf{v} = (x_0, y_0)^T 在单位向量 \mathbf{n} = \left( \frac{A}{\sqrt{A^2 + B^2}}, \frac{B}{\sqrt{A^2 + B^2}}\right)^T 方向上的投影, 即 p = \frac{Ax_0}{\sqrt{A^2 + B^2}} + \frac{By_0}{\sqrt{A^2 + B^2}}. p 与 b 的差的绝对值 |p-b| 即为该点到直线的距离. 可以得到 |p-b| = \left| \frac{Ax_0 + By_0 + C}{\sqrt{A^2 + B^2}} \right| 与前面解方程得到的方法结果一样.
9.2.2 三维空间中的平面
三维空间中的平面跟二维空间中的平面在数学地位上是对等的.
类似于二维空间中直线的描述, 三维空间中, 给定法向量 \mathbf{n} 和有向距离 b, 所有在 \mathbf{n} 上投影长度为 b 的向量 \mathbf{v} 构成一个平面.
设 \mathbf{v = (x, y, z)^T}, \mathbf{n} = (A, B, C)^T, 则方程 A x + B y + C z = b \sqrt{A^2 + B^2 + C^2} 成立. 再令 D = -b \sqrt{A^2 + B^2 + C^2}, 得到平面方程为:
A x + B y + C z + D =0.
这正是三维空间中平面方程的标准形式. 从方程中我们也可以看出, 向量 (A, B, C)^T 所在的方向就是平面的法方向.
三维空间中的点 (x_0, y_0, z_0) 到平面 A x + B y + C z + D =0 的距离的求法和二维平面中点到直线的距离求法类似. 最后可以得到:
d = \frac{|Ax_0 + By_0 + Cz_0 + D|}{\sqrt{A^2 + B^2 + C^2}}.
空间直线可以看作是两个平面 \Pi_1 和 \Pi_2 的交线。也就是说, 方程组
\begin{cases} A_1x + B_1y + C_1z + D_1 = 0 \\ A_2x + B_2y + C_2z + D_2 = 0 \end{cases}
联立得到的解就是一条直线,这被称为空间直线的一般方程。
除了一般方程,如果已知直线上一点 M_0(x_0, y_0, z_0) 和直线的方向向量 \mathbf{s} = (m, n, p),则直线上任意一点 M(x, y, z) 构成的向量 \overrightarrow{M_0M} 必定与 \mathbf{s} 平行。由此可得直线的对称式方程(点向式方程):
\frac{x - x_0}{m} = \frac{y - y_0}{n} = \frac{z - z_0}{p}
令上述比例等于参数 t,即可导出直线的参数方程:
\begin{cases} x = x_0 + mt \\ y = y_0 + nt \\ z = z_0 + pt \end{cases}
9.2.3 高维空间中的平面
a_1 x_1 + a_2 x_2 + \cdots + a_n x_n = b, 是不是看起来很熟悉? 在 \mathbb{R}^n 的高维欧氏空间中,这定义了一个超平面 (Hyperplane)。就像三维空间里的平面是由一个法向量决定的一样,这个高维方程本质上也是在说:所有满足该方程的点构成的向量 \mathbf{x},与固定的法向量 \mathbf{n} = (a_1, a_2, \cdots, a_n)^T 的内积是一个常数 b。高维空间虽然无法被直观地画出来,但向量运算的代数本质却能完美地从低维推广到任意维度。
9.2.4 几道习题讲解
用对称式方程及参数方程表示直线
\begin{cases} x+y+z+1=0 \\ 2x-y+3z+4=0 \end{cases}
先找直线上一点(令某坐标为已知值求解),再取两平面法向量的叉乘得方向向量,最后写出对称式和参数方程。
第一步:令 x=1,代入方程组得 y=0, z=-2,故直线过点 (1, 0, -2)。
第二步:方向向量为两平面法向量的叉乘:
\mathbf{s} = \mathbf{n}_1 \times \mathbf{n}_2 = \begin{vmatrix} \mathbf{i} & \mathbf{j} & \mathbf{k} \\ 1 & 1 & 1 \\ 2 & -1 & 3 \end{vmatrix} = 4\mathbf{i} - \mathbf{j} - 3\mathbf{k}.
对称式方程:
\frac{x-1}{4} = \frac{y}{-1} = \frac{z+2}{-3}.
参数方程:令比值为 t,得 x=1+4t,\ y=-t,\ z=-2-3t。
求两直线
L_1: \frac{x-1}{1}=\frac{y}{-4}=\frac{z+3}{1}, \quad L_2: \frac{x}{2}=\frac{y+2}{-2}=\frac{z}{-1}
的夹角。
两直线夹角等于其方向向量夹角(取锐角),用内积公式计算余弦。
方向向量:\mathbf{s}_1=(1,-4,1),\mathbf{s}_2=(2,-2,-1)。
\cos\varphi = \frac{|\mathbf{s}_1 \cdot \mathbf{s}_2|}{|\mathbf{s}_1||\mathbf{s}_2|} = \frac{|2+8-1|}{\sqrt{18}\cdot\sqrt{9}} = \frac{9}{3\sqrt{18}} = \frac{1}{\sqrt{2}}.
故夹角 \varphi = \dfrac{\pi}{4}。
求过点 (1,-2,4) 且与平面 2x-3y+z-4=0 垂直的直线方程。
直线与平面垂直,则直线的方向向量即为平面的法向量。
平面法向量 \mathbf{n} = (2,-3,1) 即为所求直线的方向向量。
结合过点 (1,-2,4),直线的对称式方程为:
\frac{x-1}{2} = \frac{y+2}{-3} = \frac{z-4}{1}.
求与两平面 x-4z=3 和 2x-y-5z=1 的交线平行且过点 (-3,2,5) 的直线方程。
所求直线的方向向量必须同时垂直于两平面的法向量,即等于两法向量的叉乘。
两平面法向量:\mathbf{n}_1=(1,0,-4),\mathbf{n}_2=(2,-1,-5)。
方向向量:
\mathbf{s} = \mathbf{n}_1 \times \mathbf{n}_2 = \begin{vmatrix} \mathbf{i} & \mathbf{j} & \mathbf{k} \\ 1 & 0 & -4 \\ 2 & -1 & -5 \end{vmatrix} = -4\mathbf{i}-3\mathbf{j}-\mathbf{k},
取 \mathbf{s} = (4,3,1)(方向不变)。
结合点 (-3,2,5),直线方程为:
\frac{x+3}{4} = \frac{y-2}{3} = \frac{z-5}{1}.
求直线 \dfrac{x-2}{1}=\dfrac{y-3}{1}=\dfrac{z-4}{2} 与平面 2x+y+z-6=0 的交点。
将直线的参数方程代入平面方程,解出参数 t,再代回求坐标。
直线参数方程:x=2+t,\ y=3+t,\ z=4+2t。
代入平面方程:
2(2+t)+(3+t)+(4+2t)-6=0 \implies 5t+5=0 \implies t=-1.
交点坐标:x=1,\ y=2,\ z=2,即 (1,2,2)。
求过点 (2,1,3) 且与直线 \dfrac{x+1}{3}=\dfrac{y-1}{2}=\dfrac{z}{-1} 垂直相交的直线方程。
设交点为已知直线上的参数点,利用方向向量与已知方向正交(内积为零)求参数,再写出所求直线方程。
已知直线参数方程:x=-1+3t,\ y=1+2t,\ z=-t。设交点 M=(-1+3t, 1+2t, -t),P=(2,1,3)。
方向向量 \overrightarrow{PM} = (3t-3,\ 2t,\ -t-3) 须与已知方向向量 \mathbf{s}=(3,2,-1) 正交:
3(3t-3)+2(2t)-(-t-3)=0 \implies 14t-6=0 \implies t=\frac{3}{7}.
方向向量 \overrightarrow{PM} = \left(-\dfrac{12}{7}, \dfrac{6}{7}, -\dfrac{24}{7}\right),取比例向量 (2,-1,4)。
所求直线方程:
\frac{x-2}{2} = \frac{y-1}{-1} = \frac{z-3}{4}.
9.3 曲面
前面的向量空间为下一章的多元微积分搭建了舞台, 接下来我们在这个舞台上增加一些道具, 用以作为多元微积分的研究对象.
一般来说, 对于定义在 \mathbb{R}^n 上的多元函数 F(x_1, x_2, \cdots, x_n), 方程 F(x_1, x_2, \cdots, x_n) = 0
的解集对应着 \mathbb{R}^n 空间中的一些点所构成的集合. 当 F 具有某种连续性的时候 (注意多元函数的连续性我们现在还没有介绍), 这个点集也会具有某种连续性, 就像空间中的一块或多块布一样, 因此我们可以称其为曲面.
下面我们以二维和三维空间为例来介绍一些常用的曲面.
一次曲面
前面我们讲了三维空间中的平面方程的一般形式为 F(x, y, z) = Ax + By + Cz + D = 0 注意到函数 F 关于所有变量 x, y, z 最高都是一次的, 因此我们也把平面称为一次曲面, 在二维空间中它就是我们中学所熟知的直线.
二次曲面
在中学我们还学过二维空间中的抛物线, 如 y = x^2, 它关于 x 是二次的. 我们还学过抛物线和椭圆, 如 \frac{x^2}{a^2} + \frac{y^2}{b^2} = 1, 它关于 x, y 也是二次的. 在三维空间我们也类似有这样的二次曲面, 其一般形式为 F(x, y, z) = Ax^2 + By^2 + Cz^2 + Dxy + Eyz + Fxz + Gx + Hy + Iz + J = 0 F 关于变量 x, y, z 的最高阶都是二次的, 我们上述方程所对应的平面称为二次曲面.
我们来看几个二次曲面的例子.
1. 球面 (Sphere)
(x-a)^2 + (y-b)^2 + (z-c)^2 = r^2
2. 椭球面 (Ellipsoid)
\frac{x^2}{a^2} + \frac{y^2}{b^2} + \frac{z^2}{c^2} = 1
- 3. 圆柱面 ( Cylinder):
x^2 + y^2 = r^2
抛物线 z = ax^2(在 xz 平面内)绕 z 轴旋转一周,求旋转抛物面的方程。
绕 z 轴旋转时,将 xz 平面中曲线方程的 x 替换为 \sqrt{x^2+y^2}。
将 x 替换为 \sqrt{x^2+y^2},得旋转抛物面方程:
z = a(x^2+y^2).
这是一个碗状曲面,a>0 时开口向上。
直线 z = kx(在 xz 平面内,过原点,斜率为 k)绕 z 轴旋转一周,求圆锥面的方程。
绕 z 轴旋转时,将 xz 平面中的 x 替换为 \sqrt{x^2+y^2}。
将 x 替换为 \sqrt{x^2+y^2},得
z = k\sqrt{x^2+y^2} \implies z^2 = k^2(x^2+y^2).
这是一个双锥面,顶点在原点,半顶角 \theta 满足 \tan\theta = k。
9.4 曲线
二维空间中的两条直线相交得到一个点, 三维空间中的两个平面相交得到一条直线, 这是曲线的两个简单实例.
方程组
\begin{cases} x^2+y^2=1 \\ 2x+3z=6 \end{cases}
表示怎样的曲线?
分别分析每个方程所代表的曲面,再讨论它们的交线形状。
第一个方程 x^2+y^2=1 表示母线平行于 z 轴的圆柱面(准线为 xOy 面上圆心在原点、半径为 1 的圆)。
第二个方程 2x+3z=6 表示一个母线平行于 y 轴的平面。
两者的交线是圆柱面与平面的交线,即一个椭圆。
方程组
\begin{cases} z = \sqrt{a^2 - x^2 - y^2} \\ \left(x - \dfrac{a}{2}\right)^2 + y^2 = \left(\dfrac{a}{2}\right)^2 \end{cases}
表示怎样的曲线?
分别识别两个方程所代表的曲面(上半球面和圆柱面),再描述其交线。
第一个方程表示球心在原点、半径为 a 的上半球面。
第二个方程表示母线平行于 z 轴的圆柱面,其准线是 xOy 面上圆心为 \left(\dfrac{a}{2}, 0\right)、半径为 \dfrac{a}{2} 的圆。
该方程组表示上述半球面与圆柱面的交线,即维维亚尼曲线(Viviani’s curve)。
空间曲线除了一般方程外,还可以用参数形式表示,即将曲线上点的坐标表示为参数 t 的函数。
二维空间中直线的参数方程 假设直线过定点 (x_0, y_0),方向向量为 (m, n),利用参数 t,其方程为: \begin{cases} x = x_0 + mt \\ y = y_0 + nt \end{cases}
二维空间中圆的参数方程 假设圆心在原点 (0,0),半径为 r,利用极角 \theta(或时间 t)作为参数: \begin{cases} x = r \cos t \\ y = r \sin t \end{cases}
三维空间中的螺旋线 如果空间一点 M 在圆柱面 x^2+y^2=a^2 上以角速度 \omega 绕 z 轴旋转,同时又以线速度 v 沿平行于 z 轴的正方向上升,这动点的轨迹就叫螺旋线。其参数方程为: \begin{cases} x = a \cos \omega t \\ y = a \sin \omega t \\ z = v t \end{cases} 也可以用旋转角 \theta = \omega t 作为参数,令 b = v/\omega,螺旋线参数方程可写为更简明的形式: \begin{cases} x = a \cos \theta \\ y = a \sin \theta \\ z = b \theta \end{cases}
二维空间的极坐标
- 圆的极坐标方程 r = a
- 椭圆的极坐标方程: r(\theta) = \frac{ep}{1 + e\cos\theta}, 其中 e 为离心率(0 < e < 1), p 为焦准距.
三维空间的球极坐标
- 径向距离 r:点到原点 O 的距离,范围 r \geq 0。
- 极角 \theta(天顶角,
zenith):点与正 z 轴的夹角,范围
0 \leq \theta \leq \pi。
- 方位角 \phi(azimuth):点在 xy 平面上的投影与正 x 轴的夹角,范围 0 \leq \phi < 2\pi。
球坐标 → 直角坐标:
\begin{cases}
x = r \sin\theta \cos\phi, \\
y = r \sin\theta \sin\phi, \\
z = r \cos\theta.
\end{cases}
在大航海时代,航海家们需要精确地确定自己在海洋中的位置。天顶角和方位角的测量成为了关键技术。例如,著名航海家麦哲伦在其环球航行中,就利用了简单的天文仪器来测量天体的天顶角和方位角。通过测量北极星的天顶角,他可以估算出船只的纬度;而通过测量太阳或其他恒星的方位角,他能确定船只的航向。这在当时简陋的航海条件下,为航海家们开辟新航线、探索未知世界提供了重要的导航依据,对人类的航海事业和地理认知的拓展产生了深远影响 。
设空间曲线 C 的一般方程为 F(x,y,z)=0 且 G(x,y,z)=0。从中消去变量 z,得到的新方程 H(x, y) = 0 表示一个母线平行于 z 轴的投影柱面,它与 xOy 面的交线就是空间曲线在 xOy 面上的投影曲线。
已知两球面的方程为 x^2+y^2+z^2=1 和 x^2+(y-1)^2+(z-1)^2=1,求它们的交线 C 在 xOy 面上的投影的方程。
两球面方程相减消去 x^2 项,得到包含交线且母线平行于 z 轴的柱面方程,即为投影柱面。
两方程相减消去 z:
(y^2-2y+1)+(z^2-2z+1) - y^2 - z^2 = 0 \implies -2y+1-2z+1=0 \implies y+z=1.
即 z=1-y,代入第一个方程:
x^2 + y^2 + (1-y)^2 = 1 \implies x^2+2y^2-2y=0.
交线 C 在 xOy 面上的投影方程为:
\begin{cases} x^2+2y^2-2y=0, \\ z=0. \end{cases}
设一个立体由上半球面 z = \sqrt{4-x^2-y^2} 和锥面 z = \sqrt{3(x^2+y^2)} 所围成,求它在 xOy 面上的投影。
令两曲面相等消去 z,求出交线在 xOy 面的投影柱面,再确定立体投影区域。
由交线条件 \sqrt{4-x^2-y^2} = \sqrt{3(x^2+y^2)} 消去 z:
4-x^2-y^2 = 3(x^2+y^2) \implies 4x^2+4y^2=4 \implies x^2+y^2=1.
投影柱面为 x^2+y^2=1。立体在 xOy 面上的投影为圆盘:
x^2+y^2 \leq 1.