MathLabs

12 年级

空间坐标

把坐标几何推广到三维空间,使用 Oxyz 坐标系。

直观增加第三条轴:从平面到 OxyzOxyz 空间

在房间里,你可以用三个数来确定任意一点——比如吊灯尖端——的位置:沿一面墙走多远(xx),沿相邻的墙走多远(yy),离地面有多高(zz)。把三条两两垂直的轴 Ox,Oy,OzOx, Oy, Oz 在墙角 OO 处合在一起,就得到坐标系 OxyzOxyz,把空间中的每一个点 M(x,y,z)M(x,y,z)、每一个方向以及每一个平面或曲面都转化为数与方程。

$Oxyz$ 坐标系中的交互式三维曲面图。
在 OxyzOxyz 坐标系中绘制的曲面 z=f(x,y)z=f(x,y)。改变函数选项和竖直缩放比例,观察 x,y,zx,y,z 之间的方程如何在空间中刻画出形状。

中学用坐标表示向量、平面、直线与球面

定义: 数量积与向量积 (u⃗×v⃗\vec{u}\times\vec{v})

对两个空间向量 u⃗=(u1,u2,u3)\vec{u}=(u_1,u_2,u_3) 与 v⃗=(v1,v2,v3)\vec{v}=(v_1,v_2,v_3),数量积是数 u⃗⋅v⃗=u1v1+u2v2+u3v3\vec{u}\cdot\vec{v}=u_1v_1+u_2v_2+u_3v_3(当且仅当 u⃗⊥v⃗\vec{u}\perp\vec{v} 时为 00),而向量积 u⃗×v⃗\vec{u}\times\vec{v} 是一个同时垂直于 u⃗\vec{u} 和 v⃗\vec{v} 的新向量:

u⃗×v⃗=(u2v3−u3v2, u3v1−u1v3, u1v2−u2v1)\vec{u}\times\vec{v}=(u_2v_3-u_3v_2,\,u_3v_1-u_1v_3,\,u_1v_2-u_2v_1)

模长 ∣u⃗×v⃗∣|\vec{u}\times\vec{v}| 等于由 u⃗\vec{u} 和 v⃗\vec{v} 张成的平行四边形面积,且当两向量共线时 u⃗×v⃗=0⃗\vec{u}\times\vec{v}=\vec{0}。这使得 u⃗×v⃗\vec{u}\times\vec{v} 成为由平面内两个方向构造该平面法向量的标准工具。

定义: 空间中的平面、直线与球面

具有非零法向量 n⃗=(A,B,C)\vec{n}=(A,B,C) 的平面 (P)(P) 的一般方程为 Ax+By+Cz+D=0Ax+By+Cz+D=0。过点 M0(x0,y0,z0)M_0(x_0,y_0,z_0)、方向向量为 u⃗=(a,b,c)\vec{u}=(a,b,c) 的直线可写为参数方程 x=x0+at,  y=y0+bt,  z=z0+ctx=x_0+at,\;y=y_0+bt,\;z=z_0+ct(t∈Rt\in\mathbb{R})或标准方程 x−x0a=y−y0b=z−z0c\frac{x-x_0}{a}=\frac{y-y_0}{b}=\frac{z-z_0}{c}(当 a,b,c≠0a,b,c\neq 0 时)。以 I(x0,y0,z0)I(x_0,y_0,z_0) 为球心、R>0R>0 为半径的球面方程为 (x−x0)2+(y−y0)2+(z−z0)2=R2(x-x_0)^2+(y-y_0)^2+(z-z_0)^2=R^2。

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

OxyzOxyz 中的距离直接由勾股定理与正交投影推出:两点 A,BA,B 之间的距离为 AB=(xB−xA)2+(yB−yA)2+(zB−zA)2AB=\sqrt{(x_B-x_A)^2+(y_B-y_A)^2+(z_B-z_A)^2},点 M0(x0,y0,z0)M_0(x_0,y_0,z_0) 到平面 Ax+By+Cz+D=0Ax+By+Cz+D=0 的垂直距离由下式给出:

d(M0,(P))=∣Ax0+By0+Cz0+D∣A2+B2+C2d(M_0,(P))=\frac{|Ax_0+By_0+Cz_0+D|}{\sqrt{A^2+B^2+C^2}}
OxyzOxyz 中对象与方程汇总
对象决定向量/数据方程/公式
平面法向量 n⃗=(A,B,C)\vec{n}=(A,B,C)Ax+By+Cz+D=0Ax+By+Cz+D=0
直线点 M0M_0,方向向量 u⃗=(a,b,c)\vec{u}=(a,b,c)x=x0+at,  y=y0+bt,  z=z0+ctx=x_0+at,\;y=y_0+bt,\;z=z_0+ct
球面球心 I(x0,y0,z0)I(x_0,y_0,z_0),半径 RR(x−x0)2+(y−y0)2+(z−z0)2=R2(x-x_0)^2+(y-y_0)^2+(z-z_0)^2=R^2
点到平面的距离M0(x0,y0,z0)M_0(x_0,y_0,z_0) 与 n⃗=(A,B,C)\vec{n}=(A,B,C)d(M0,(P))=∣Ax0+By0+Cz0+D∣A2+B2+C2d(M_0,(P))=\frac{|Ax_0+By_0+Cz_0+D|}{\sqrt{A^2+B^2+C^2}}

大学定理:向量积与点到平面的距离

在 OxyzOxyz 中,点 M0(x0,y0,z0)M_0(x_0,y_0,z_0) 到平面 (P):Ax+By+Cz+D=0(P): Ax+By+Cz+D=0(A2+B2+C2>0A^2+B^2+C^2>0)的垂直距离为 d(M0,(P))=∣Ax0+By0+Cz0+D∣A2+B2+C2d(M_0,(P))=\frac{|Ax_0+By_0+Cz_0+D|}{\sqrt{A^2+B^2+C^2}}。

为什么成立?

计算 Ax0+By0+Cz0+DAx_0+By_0+Cz_0+D 度量了点 M0M_0 偏离平面方程的程度,但被法向量 n⃗=(A,B,C)\vec{n}=(A,B,C) 的模长 ∣n⃗∣=A2+B2+C2|\vec{n}|=\sqrt{A^2+B^2+C^2} 放大了。除以 ∣n⃗∣|\vec{n}| 就把这个代数残差还原成沿法线方向的真实几何距离。

证明

在平面 (P) 上任取一点 M1(x1,y1,z1)。因为 M1 在 (P) 上,其坐标满足 Ax1 + By1 + Cz1 + D = 0,即 D = -(Ax1 + By1 + Cz1)。

设 H 为 M0 在 (P) 上的正交投影。向量 M1M0 = (x0-x1, y0-y1, z0-z1) 分解为沿平面的分量与法向分量 HM0,因此距离 d(M0,(P)) = |HM0| 等于 M1M0 在法向量 n = (A,B,C) 上标量投影的绝对值。

该标量投影的大小为 |n . M1M0| / |n| = |A(x0-x1) + B(y0-y1) + C(z0-z1)| / sqrt(A^2+B^2+C^2)。

将绝对值内的 -(Ax1 + By1 + Cz1) 替换为 D,即得 |Ax0 + By0 + Cz0 + D| / sqrt(A^2+B^2+C^2),证毕。

对任意 u⃗=(u1,u2,u3)\vec{u}=(u_1,u_2,u_3) 与 v⃗=(v1,v2,v3)\vec{v}=(v_1,v_2,v_3),向量积 u⃗×v⃗=(u2v3−u3v2, u3v1−u1v3, u1v2−u2v1)\vec{u}\times\vec{v}=(u_2v_3-u_3v_2,\,u_3v_1-u_1v_3,\,u_1v_2-u_2v_1) 满足 (u⃗×v⃗)⋅u⃗=0(\vec{u}\times\vec{v})\cdot\vec{u}=0、(u⃗×v⃗)⋅v⃗=0(\vec{u}\times\vec{v})\cdot\vec{v}=0,以及 ∣u⃗×v⃗∣2=∣u⃗∣2∣v⃗∣2−(u⃗⋅v⃗)2|\vec{u}\times\vec{v}|^2=|\vec{u}|^2|\vec{v}|^2-(\vec{u}\cdot\vec{v})^2。

为什么成立?

前两个等式确认了 u⃗×v⃗\vec{u}\times\vec{v} 与两个输入向量都垂直,因此它直接给出了由 u⃗\vec{u} 和 v⃗\vec{v} 张成平面的法向量。第三个等式可改写为 ∣u⃗×v⃗∣=∣u⃗∣∣v⃗∣sin⁡θ|\vec{u}\times\vec{v}|=|\vec{u}||\vec{v}|\sin\theta,即由 u⃗\vec{u} 和 v⃗\vec{v} 张成的平行四边形的(底乘高)面积。

证明

由坐标定义直接计算数量积:(u x v) . u = (u2 v3 - u3 v2) u1 + (u3 v1 - u1 v3) u2 + (u1 v2 - u2 v1) u3。

展开三项乘积得 u1 u2 v3 - u1 u3 v2 + u2 u3 v1 - u1 u2 v3 + u1 u3 v2 - u2 u3 v1 = 0,六项成对相消。(u x v) . v = 0 的计算完全相同。

对于模长恒等式,展开 |u x v|^2 = (u2 v3 - u3 v2)^2 + (u3 v1 - u1 v3)^2 + (u1 v2 - u2 v1)^2。同时展开 |u|^2 |v|^2 - (u . v)^2 = (u1^2+u2^2+u3^2)(v1^2+v2^2+v3^2) - (u1 v1 + u2 v2 + u3 v3)^2。

在第二个式子中,对角项 u1^2 v1^2, u2^2 v2^2, u3^2 v3^2 相消,剩下的非对角项 u_i^2 v_j^2 - 2 u_i u_j v_i v_j 与 |u x v|^2 的展开完全一致。由 u . v = |u||v|cos(theta),该式等于 |u|^2|v|^2(1 - cos^2(theta)) = (|u||v|sin(theta))^2。

大学实际应用与典型例题

每一个三维图形引擎、CAD软件、机械臂控制器和卫星导航接收机都在 OxyzOxyz 坐标系中工作。屏幕上的三角形网格通过计算每个三角形两条边向量的向量积 u⃗×v⃗\vec{u}\times\vec{v} 得到法向量 n⃗=(A,B,C)\vec{n}=(A,B,C),再与光线方向作数量积来计算光照。碰撞检测与无人机避障归结为计算点到平面的距离 d(M0,(P))=∣Ax0+By0+Cz0+D∣A2+B2+C2d(M_0,(P))=\frac{|Ax_0+By_0+Cz_0+D|}{\sqrt{A^2+B^2+C^2}} 和球面方程 (x−x0)2+(y−y0)2+(z−z0)2=R2(x-x_0)^2+(y-y_0)^2+(z-z_0)^2=R^2;卫星定位(GPS)则是求以已知 OxyzOxyz 坐标的卫星为球心的球面交点。

例题: 用向量积求过三点的平面方程

求过三点 A(1,0,0)A(1,0,0)、B(0,2,0)B(0,2,0) 和 C(0,0,2)C(0,0,2) 的平面 (P)(P) 的方程。

解答

构造平面内的两个向量:AB = (-1, 2, 0) 与 AC = (-1, 0, 2)。

它们的向量积给出 (P) 的一个法向量:AB x AC = (22 - 00, 0(-1) - (-1)2, (-1)0 - 2(-1)) = (4, 2, 2)。除以 2 可取更简单的法向量 n = (2, 1, 1)。

由过点 A(1,0,0) 写出 2(x - 1) + 1(y - 0) + 1(z - 0) = 0,整理得平面方程 2x + y + z - 2 = 0。

例题: 无人机到倾斜屋顶平面的安全距离

在局部 OxyzOxyz 坐标系(单位:米)中,一处倾斜屋顶位于平面 (P):2x−2y+z−5=0(P): 2x-2y+z-5=0 上,一架悬停的无人机位于 M0(3,1,4)M_0(3,1,4)。求无人机到屋顶的垂直距离,以及以 M0M_0 为球心且不穿过屋顶的最大球面方程。

解答

对 (A,B,C)=(2,−2,1)(A,B,C)=(2,-2,1) 和 M0(3,1,4)M_0(3,1,4) 使用 d(M0,(P))=∣Ax0+By0+Cz0+D∣A2+B2+C2d(M_0,(P))=\frac{|Ax_0+By_0+Cz_0+D|}{\sqrt{A^2+B^2+C^2}},分子为 ∣2(3)−2(1)+1(4)−5∣=∣6−2+4−5∣=3|2(3)-2(1)+1(4)-5|=|6-2+4-5|=3。

分母为 22+(−2)2+12=9=3\sqrt{2^2+(-2)^2+1^2}=\sqrt{9}=3,因此安全距离为 d(M0,(P))=3/3=1d(M_0,(P))=3/3=1 米。

以 M0M_0 为球心且不穿过屋顶的最大球面与 (P)(P) 相切,故其半径为 R=d(M0,(P))=1R=d(M_0,(P))=1。由 (x−x0)2+(y−y0)2+(z−z0)2=R2(x-x_0)^2+(y-y_0)^2+(z-z_0)^2=R^2,其方程为 (x−3)2+(y−1)2+(z−4)2=1(x-3)^2+(y-1)^2+(z-4)^2=1。

在 OxyzOxyz 中,u⃗=(1,2,0)\vec{u}=(1,2,0) 与 v⃗=(0,1,3)\vec{v}=(0,1,3) 的向量积 u⃗×v⃗\vec{u}\times\vec{v} 是什么?

下列哪个向量是平面 3x−y+4z−7=03x-y+4z-7=0 的法向量?

球面 (x−1)2+(y+2)2+z2=9(x-1)^2+(y+2)^2+z^2=9 的球心 II 与半径 RR 是什么?

三维图形引擎需要法向量来为顶点为 A,B,CA,B,C 的三角形面着色。对边向量 u⃗=AB→\vec{u}=\overrightarrow{AB} 与 v⃗=AC→\vec{v}=\overrightarrow{AC} 进行哪种运算可以得到垂直于该三角形的向量?