跳转至

空间向量

基本概念

空间向量

我们推导平面向量的基本性质:

平面向量空间向量
基底分解a=(x,y)=xe1+ye2\bm a=(x,y)=x\bm e_1+y\bm e_2a=(x,y,z)=xe1+ye2+ze3\bm a=(x,y,z)=x\bm e_1+y\bm e_2+z\bm e_3
线性运算λa=λ(x,y)=(λx,λy)\lambda\bm a=\lambda(x,y)=(\lambda x,\lambda y)λa=λ(x,y,z)=(λx,λy,λz)\lambda\bm a=\lambda(x,y,z)=(\lambda x,\lambda y,\lambda z)
向量点积(x1,y1)(x2,y2)=x1x2+y1y2(x_1,y_1)\cdot(x_2,y_2)=x_1x_2+y_1y_2(x1,y1,z1)(x2,y2,z2)=x1x2+y1y2+z1z2(x_1,y_1,z_1)\cdot(x_2,y_2,z_2)=x_1x_2+y_1y_2+z_1z_2
点积意义a1a2=a1a2cosθ\bm a_1\cdot\bm a_2=\lvert\bm a_1\rvert\cdot\lvert\bm a_2\rvert\cos\thetaa1a2=a1a2cosθ\bm a_1\cdot\bm a_2=\lvert\bm a_1\rvert\cdot\lvert\bm a_2\rvert\cos\theta
向量的模a=aa=x2+y2\lvert\bm a\rvert=\sqrt{\bm a\cdot\bm a}=\sqrt{x^2+y^2}a=aa=x2+y2+z2\lvert\bm a\rvert=\sqrt{\bm a\cdot\bm a}=\sqrt{x^2+y^2+z^2}

空间坐标系

直角坐标系也可以推广至三维空间与高维空间。

空间直角坐标系

在原本的二维直角坐标系,再添加一个垂直于 xx 轴、yy 轴的坐标轴,称为 zz 轴。

  • 如果几何体存在互相垂直的三条棱,但是它们不交于一点,那么我们可以将它们平移到某一顶点,

  • 如果几何体不存在三条棱两两垂直,但是存在侧棱垂直于底面,那么我们需要在底面上找到两条互相垂直的直线作为 xx 轴和 yy 轴,而垂直于底面的侧棱作为 zz 轴。

  • 如果几何体不存在侧棱垂直于底面,但是存在侧面垂直于底面,我们可以利用面面垂直的性质定理找出线面垂直。

  • 有时候我们会遇到空间几何中的动点问题,若动点在坐标轴上,则设出该动点坐标;若动点不在坐标轴上,而是在某线段上,则应该利用向量来表示该线段,从而得到动点坐标。

建系示例1

建系方法:

  • 高中一律建右手系,即 det(i,j,k)=1\det(\bm i,\bm j,\bm k)=1 的坐标系,从形式上来看是一个逆时针的圈。判断规则(右手规则):伸出右手,拇指指向 xx 轴正方向,食指指向 yy 轴正方向,中指指向 zz 轴正方向。如果这三个方向匹配,则为右手系。

  • 注意:左手系与右手系的区别主要体现在涉及定向或手性的向量运算中,例如叉乘、旋转、行列式等,仅在一部分电脑程序中常用,因为以屏幕左上角为原点,横向为 xx 轴、纵向为 yy 轴、zz 轴表示深度延伸向屏幕内部的坐标系,为左手系。

  • 或者用手的旋转:将右手四指(拇指除外)从 xx 轴方向弯向 yy 轴方向(转角小于 π\pi),如果拇指所指的方向与 zz 轴方向在 OxyOxy 平面同侧,则称此坐标系为右手坐标系,简称右手系;否则,称为左手坐标系,简称左手系。

  • 非正交建系,注意此时向量的点乘(夹角)可能发生改变,但平行性不变。

  • 建系的基本规则:以图形底面为 x,yx,y 平面,yy 轴向上延伸,尽可能的(优先把底面上的)把点放在坐标轴上、尽可能的(把底面的边线)轮廓线放在坐标轴上。

柱坐标系:如果把空间直角坐标系的坐标平面 OxyOxy 换成极坐标系,得到的就是柱坐标系。

平面方程

我们知道,平面上的任意一个向量垂直于法向量,因此可以用一个法向量和平面上任意一点确定一个平面。

假设 M0(x0,y0,z0)M_0(x_0,y_0,z_0) 在平面 α\alpha 上,平面法向量 n=(A,B,C)\bm n=(A,B,C),我们知道平面上任意一点 M(x,y,z)M(x,y,z) 满足:

MM0n=0\overrightarrow{MM_0}\cdot\bm n=0

化简开得到一个简洁的式子:

A(xx0)+B(yy0)+C(zz0)=0A(x-x_0)+B(y-y_0)+C(z-z_0)=0

这个成为点法式方程,展开后得到一般式方程:

Ax+By+Cz+D=0Ax+By+Cz+D=0

其中,

D=(Ax0+By0+Cz0)D=-(Ax_0+By_0+Cz_0)

我们知道如果 D=0D=0 那么意味着平面过原点。

平面外一点 P(x1,y1,z1)P(x_1,y_1,z_1) 到平面 Ax+By+Cz+D=0Ax+By+Cz+D=0 的距离为:

dis=Ax1+By1+Cz1+DA2+B2+C2\text{dis}=\dfrac{Ax_1+By_1+Cz_1+D}{\sqrt{A^2+B^2+C^2}}

快速写出平面方程:直接写出点法式方程,观察展开。

类似的,我们还有截距式方程:

xa+yb+zc=1\dfrac{x}{a}+\dfrac{y}{b}+\dfrac{z}{c}=1

基本定理

类似平面向量基本定理的,有:若基底 e1,e2,e3\bm e_1,\bm e_2,\bm e_3 不共面,则对于空间内任一向量 a\bm a,存在唯一实数 x,y,zx,y,z 使得 a=xe1+ye2+ze3\bm a=x\bm e_1+y\bm e_2+z\bm e_3

我们类似平面向量共线的定义,若 e3\bm e_3 可以表示为 λe1+μe2\lambda\bm e_1+\mu\bm e_2,则称 e3\bm e_3e1,e2\bm e_1,\bm e_2 共面。

本质还是张成空间。

空间中的距离

本质是通过向量在某个方向上的投影来解题。

点与点的距离

根据毕达哥拉斯定理:

P1P2=P1P2=(x1x2)2+(y1y2)2+(z1z2)2|P_1P_2|=|\overrightarrow{P_1P_2}|=\sqrt{(x_1-x_2)^2+(y_1-y_2)^2+(z_1-z_2)^2}

点与面的距离

如何确定一个平面?

  • 三个点确定一个平面。
  • 一个点和两个向量确定一个平面。
  • 一个点和一个法向量确定一个平面。

其中,使用法向量最好用,因为只需要两个变量、五个参数即可确定一个平面。

什么是法向量?三维平面的法线,或称法向量是垂直于该平面的三维向量。曲面在某点 P 处的法线为垂直于该点切平面的向量,一个平面存在无限个法向量。因为法向量是垂直于平面内每一条直线的,因此法向量与平面内直线的点积为零。

因此,我们问题是,给点一个点 AA 和一个法向量 n\bm n,求出确定的平面 α\alpha 外一点 PP 到这个平面的距离。

一个朴素方法

是不推荐使用的,但是很 trivial 的。

我们对于点 PP,做其到平面 α\alpha 的垂线,设垂足为 PP' 点。

我们知道此时 PPαPP'\bot\alpha,也就是说 PPPP'n\bm n 共线,其中 n\bm n 表示一个法向量。

同时我们还知道平面上的点满足 APnAP'\bot\bm n,由此可以列出若干个关系式,解之即可。

我们直接连接点 PP 和点 AA,则 AP\overrightarrow{AP}n\bm n 上的投影即为点到平面的距离:

AP=APcosθ=AP×APnAPn=APnn\begin{aligned} |AP'|&=|\overrightarrow{AP}|\cos\theta\\ &=|\overrightarrow{AP}|\times\dfrac{|\overrightarrow{AP}\cdot\bm n|}{|\overrightarrow{AP}|\cdot|\bm n|}\\ &=\dfrac{|\overrightarrow{AP}\cdot\bm n|}{|\bm n|} \end{aligned}

即点到直线的距离为 d=APnnd=\dfrac{|\overrightarrow{AP}\cdot\bm n|}{|\bm n|}

根据下面进阶的部分,也可以表示为(设 a=PA\bm a=\overrightarrow{PA}以此类推):

d=det(a,b,c)a×b+b×c+c×ad=\left|\dfrac{\det(\bm a,\bm b,\bm c)}{\left|\bm a\times\bm b+\bm b\times\bm c+\bm c\times\bm a\right|}\right|

点与线的距离

给定直线 ABAB 外一点 CC,做 CCABAB 的垂线,垂足为 DD,求 CD|CD|

一个朴素方法

我们知道此时,ABCDAB\bot CD,即 ABCD=0\overrightarrow{AB}\cdot\overrightarrow{CD}=0

同时,DD 在直线 ABAB 上,即 AD=λAB\overrightarrow{AD}=\lambda\cdot\overrightarrow{AB}

解之即可。

利用向量的知识,我们知道:

CD=ACsinθ|CD|=|AC|\cdot\sin\theta

另外,

cosθ=ACABACAB\cos\theta=\dfrac{\overrightarrow{AC}\cdot\overrightarrow{AB}}{|AC|\cdot|AB|}

解之即可。

线与线的距离

给定 ABABCDCD 为两条没有交点的直线,求其距离。

一个朴素方法

我们知道其距离可以表示为:

  • ABAB 上一点 MMCDCD 上一点 NNMN|MN|
  • MNAB,MNCDMN\bot AB,MN\bot CD

AM=λAB,CN=μCD\overrightarrow{AM}=\lambda\cdot\overrightarrow{AB},\overrightarrow{CN}=\mu\cdot\overrightarrow{CD}

那么我们就可以用两个未知数表示出 M,NM,N 的坐标,那么就可以列出:

MNAB=0MNCD=0\begin{aligned} \overrightarrow{MN}\cdot\overrightarrow{AB}&=0\\ \overrightarrow{MN}\cdot\overrightarrow{CD}&=0 \end{aligned}

解之即可。

我们发现这个距离其实就是两个直线任意两个点连线在公共法向量上的投影。

我们列出公共法向量 n\bm n 的表达式:

nAB=0nCD=0\begin{aligned} \bm n\cdot\overrightarrow{AB}&=0\\ \bm n\cdot\overrightarrow{CD}&=0 \end{aligned}

n\bm n 的某一维为 11 即可解出 n\bm n 的表示。

然后根据投影长度:

d=ACnnd=\dfrac{|\overrightarrow{AC}\cdot\bm n|}{|\bm n|}

其中 ACAC 可以替换为 AD,BC,BDAD,BC,BD 等。

面与面的距离

给定 Aα,BβA\in\alpha,B\in\beta 两点和公共法向量 n\bm n,求确定的平面间的距离。

一个朴素方法

我们做出 β\beta 内一点 CC,满足 BCnBC\bot\bm n,列出方程:

BCn,ACnBC\bot\bm n,AC\parallel\bm n

即:

BCn=0,AC=λn\overrightarrow{BC}\cdot\bm n=0,\overrightarrow{AC}=\lambda\cdot\bm n

解之即可。

我们直接找 AA 点到平面 β\beta 的距离:

d=ABnnd=\dfrac{|\overrightarrow{AB}\cdot\bm n|}{|\bm n|}

线与面的距离

同理,直接令线上一点即可:

d=ABnnd=\dfrac{|\overrightarrow{AB}\cdot\bm n|}{|\bm n|}

补充:上面的竖线表示绝对值,下面的竖线表示向量的模。

空间中的角度

线与线的夹角

线线角的一般方法:

  • 如果是共面直线,通过平面几何知识求解。

  • 如果是异面直线,可以通过平移将其移到一个平面内。

  • 通常根据中位线或者平行四边形解决。

我们将一条线平移到另一条线的平面内,容易知道夹角即为:

cosθ=ABCDABCD\cos\theta=\dfrac{|\overrightarrow{AB}\cdot\overrightarrow{CD}|}{|AB|\cdot|CD|}

根据 cos\cos 的性质,注意要加绝对值。

线与面的夹角

注意到线与平面法向量夹角的余弦容易求得:

sinθ=cos(π2θ)=ABnABn\sin\theta=\cos\left(\dfrac\pi2-\theta\right)=\dfrac{|\overrightarrow{AB}\cdot\bm n|}{|\overrightarrow{AB}|\cdot|\bm n|}

根据诱导公式可得。

三垂线定理:平面内有一条直线,如果平面外一条直线在这个平面上的射影,垂直于平面内的直线,那么平面外的这条直线与平面内的直线垂直。

alt text

面与面的夹角

即半平面的夹角,注意到这个一定是与两法向量夹角互补的:

θ=n1n2n1n2\theta=\dfrac{|\bm n_1\cdot\bm n_2|}{|\bm n_1|\cdot|\bm n_2|}

注意绝对值。

面面角与二面角

一般方法:

  • 从交线上一点做垂线,过两个交点。

  • 从一个面上一点做交线的垂线,然后从垂足做垂线到另一个面。

alt text

空间向量进阶

法向量叉乘

对于 ABCABC 决定的面,我们随便取其组成两个不同的向量。

例如 AB=(x1,y1,z1),AC=(x2,y2,z2)\overrightarrow{AB}=(x_1,y_1,z_1),\overrightarrow{AC}=(x_2,y_2,z_2)

我们将其坐标表示横着写两遍,取中间四个数,交叉相乘再相减。

x1y1z1x1y1z1x_1\quad\boxed{y_1\quad z_1\quad x_1\quad y_1}\quad z_1
x2y2z2x2y2z2x_2\quad\boxed{y_2\quad z_2\quad x_2\quad y_2}\quad z_2

法向量即为:

n=(y1z2z1y2,z1x2x1z2,x1y2y1x2)\bm n=(y_1z_2-z_1y_2,z_1x_2-x_1z_2,x_1y_2-y_1x_2)

或者可以直接叉乘(线性代数):

空间中任意两个向量 A,B\bm A,\bm B,规定其夹角为 α\alpha,则其叉乘为一个向量,他的大小为 Absinα|\bm A|\cdot|\bm b|\sin\alpha,方向又右手定则决定:

Right_hand_rule_cross_product

  1. 反交换律:a×b=b×aa \times b = -b \times a
  2. 系数结合律:(λa)×b=λ(a×b)=a×(λb)(\lambda a) \times b = \lambda(a \times b) = a \times (\lambda b)
  3. 左分配律:a×(b+c)=a×b+a×ca \times (b + c) = a \times b + a \times c
  4. 右分配律:(b+c)×a=b×a+c×a(b + c) \times a = b \times a + c \times a

三维空间中两个向量:

a=(x1y1z1),b=(x2y2z2)\bm{a} = \begin{pmatrix}x_1 \\ y_1 \\ z_1\end{pmatrix}, \quad \bm{b} = \begin{pmatrix}x_2 \\ y_2 \\ z_2\end{pmatrix}

的叉积定义为:

a×b=(y1z2z1y2z1x2x1z2x1y2y1x2)\bm{a} \times \bm{b} = \begin{pmatrix} y_1z_2 - z_1y_2 \\ z_1x_2 - x_1z_2 \\ x_1y_2 - y_1x_2 \end{pmatrix}

使用行列式:

ijkx1y1z1x2y2z2\begin{vmatrix} i & j & k \\ x_1 & y_1 & z_1 \\ x_2 & y_2 & z_2 \end{vmatrix}

具体展开为:

n=y1z1y2z2ix1z1x2z2j+x1y1x2y2k\bm{n} = \begin{vmatrix}y_1 & z_1 \\ y_2 & z_2\end{vmatrix} \bm{i} -\begin{vmatrix}x_1 & z_1 \\ x_2 & z_2\end{vmatrix} \bm{j} +\begin{vmatrix}x_1 & y_1 \\ x_2 & y_2\end{vmatrix} \bm{k}

张成空间法

NN 维的单纯性(NN 维椎体)中,从原点出发张成的 NN 维单纯性的体积为:

V=1n!det(v1,v2,,vN)V=\dfrac{1}{n!}\left|\det(\bm v_1,\bm v_2,\dots,\bm v_N)\right|

例如,在二维空间中,三角形的面积:

V=12det(v1,v2)=12v1×v2V=\dfrac{1}{2}\left|\det(\bm v_1,\bm v_2)\right|=\dfrac{1}{2}\left|\bm v_1\times\bm v_2\right|

在三维空间其张成的平行六面体体积,就是一个混合积:

V=16det(v1,v2,v3)=16v1(v2×v3)V=\dfrac{1}{6}\left|\det(\bm v_1,\bm v_2,\bm v_3)\right|=\dfrac{1}{6}\left|\bm v_1\cdot(\bm v_2\times \bm v_3)\right|

另外,三维空间中 NN 棱锥的底面面积可以用(注意选定顶点后,保证底面为平面图形):

S=12i=1Nvi×vi+1S=\dfrac{1}{2}\left|\sum_{i=1}^N\bm v_i\times \bm v_{i+1}\right|

其中 vn+1=v1\bm v_{n+1}=\bm v_1 来表示,然后用前面讲的点到直线的距离即可。

四点共面问题:

  • 我们用一个行列式表示:

    x1y1z11x2y2z21x3y3z31x4y4z41=0\begin{vmatrix} x_1&y_1&z_1&1\\ x_2&y_2&z_2&1\\ x_3&y_3&z_3&1\\ x_4&y_4&z_4&1 \end{vmatrix}=0
  • 更加直观的做法是:

    对于四点 A,B,C,DA,B,C,D,取任意三对向量,例如 b=AB,c,d\bm b=\overrightarrow{AB},\bm c,\bm d 以此类推。

    课内解法是判断三点确定的面的法向量与另一个点确定的一个直线是否垂直,我们知道令 n=b×c\bm n=\bm b\times\bm c 即为法向量,那么只需要判断 nd=0\bm n\cdot\bm d=0 即可,这就是一个混合积。

    容易理解的是,若 b,c,d\bm b,\bm c,\bm d 张成的平行六面体体积为零,即 det(b,c,d)=0\det(\bm b,\bm c,\bm d)=0 则四点共面。混合积相当于先叉乘再点乘,也就是两者等价。

齐次坐标

齐次坐标是一种用 n+1n+1 维向量表示 nn 维向量的方法,它统一了平移、旋转、投影等变换为矩阵乘法,简化来讲,用 (x,y,z,w)(x,y,z,w) 表示:

  • w=0w=0,则 (x,y,z,0)(x,y,z,0) 表示向量 (x,y,z)(x,y,z)

  • 对于非零实数 ww(x,y,z,w)(x,y,z,w) 表示点 (x/w,y/w,z/w)(x/w,y/w,z/w),即透视除法

  • 特殊的若 w=1w=1,则 (x,y,z,1)(x,y,z,1) 表示 (x,y,z)(x,y,z)

我们将其带入平移矩阵:

T=[100tx010ty001tz0001]T=\begin{bmatrix} 1&0&0&t_x\\ 0&1&0&t_y\\ 0&0&1&t_z\\ 0&0&0&1 \end{bmatrix}

我们用这个矩阵去乘以一个齐次坐标,容易发现向量(w=0w=0)是无法平移的,而点是可以平移的。同样,以前的矩阵用 0011 填充即可:

  • 平移 T(tx, ty, tz)


    [100tx010ty001tz0001]\begin{bmatrix} 1 & 0 & 0 & t_x \\ 0 & 1 & 0 & t_y \\ 0 & 0 & 1 & t_z \\ 0 & 0 & 0 & 1 \end{bmatrix}
  • 缩放 S(sx, sy, sz)


    [sx0000sy0000sz00001]\begin{bmatrix} s_x & 0 & 0 & 0 \\ 0 & s_y & 0 & 0 \\ 0 & 0 & s_z & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}
  • XX 轴旋转 Rx(θ)


    [10000cosθsinθ00sinθcosθ00001]\begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & \cos\theta & -\sin\theta & 0 \\ 0 & \sin\theta & \cos\theta & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}
  • YY 轴旋转 Ry(θ)


    [cosθ0sinθ00100sinθ0cosθ00001]\begin{bmatrix} \cos\theta & 0 & \sin\theta & 0 \\ 0 & 1 & 0 & 0 \\ -\sin\theta & 0 & \cos\theta & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}
  • ZZ 轴旋转 Rz(θ)


    [cosθsinθ00sinθcosθ0000100001]\begin{bmatrix} \cos\theta & -\sin\theta & 0 & 0 \\ \sin\theta & \cos\theta & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}
  • 罗德里格(Rodrigues)旋转公式


    不会。

[todo]

双垂直定理

alt text

双余弦定理

双正弦定理

空间余弦定理

  • 空间第一余弦定理:如图,AEBC,DFBCAE\perp BC,DF\perp BC,则二面角 ABCDA-BC-D 的大小 θ\theta 满足

    cosθ=AE2+EF2+FD2AD22AEFD\cos\theta=\frac{AE^2+EF^2+FD^2-AD^2}{2AE\cdot FD}
  • 空间第二余弦定理:空间中两直线 AB,CDAB,CD 的夹角 θ\theta 满足

    cosθ=AD2+BC2AC2BD22ABCD\cos\theta=\frac{|AD^2+BC^2-AC^2-BD^2|}{2AB\cdot CD}