Appearance
直线在二维空间($\mathbb{R}^2$)的解析方程与线性代数表达
导言
在解析几何与线性代数中,二维空间 $\mathbb{R}^2$ 中的直线是最基础的几何对象之一。根据侧重点的不同(如代数计算、几何直观或高维推广),直线有着多种等价的数学表达形式。本文旨在严格梳理二维直线的解析方程及其向量与矩阵表示,并探讨它们之间的内在联系。
一、 解析几何中的基础方程
在笛卡尔坐标系中,直线通常通过坐标变量 $x$和$y$ 的线性关系来描述。
1. 一般式 (General Form)
一般式方程
任意一条位于 $\mathbb{R}^2$中的直线都可以表示为关于$x, y$ 的二元一次方程: $$Ax+By+C=0$$ 其中 $A, B, C \in \mathbb{R}$,且满足 $A^2+B^2 \neq 0$(即 $A$和$B$ 不能同时为零)。
严密性解释: 条件 $A^2+B^2 \neq 0$保证了方程不会退化为$C=0$(恒等式或矛盾式)。从线性代数的视角来看,系数向量 $\vec{n} = \begin{bmatrix} A \newline B \end{bmatrix}$ 正是该直线的法向量 (Normal Vector),即垂直于该直线的向量。
示例
直线 $2x-3y+6=0$的法向量为$\vec{n} = \begin{bmatrix} 2 \newline -3 \end{bmatrix}$。
2. 斜截式与点斜式 (Slope-based Forms)
这是基于微积分和函数思维最常用的表达方式,但存在无法表示垂直直线的奇点缺陷。
斜截式 (Slope-Intercept Form)
$$y=mx+b$$ 其中 $m$ 为斜率 (Slope),$b$为$y$轴截距。此形式要求直线不能与$y$轴平行(即$B \neq 0$)。
点斜式 (Point-Slope Form) 已知直线上一点 $(x_1, y_1)$和斜率$m$: $$y-y_1=m(x-x_1)$$
3. 截距式 (Intercept Form)
截距式
$$\frac{x}{a}+\frac{y}{b}=1$$ 其中 $a, b$分别是直线在$x$轴和$y$ 轴上的非零截距。 局限性: 无法表示过原点的直线(因为此时 $a=0, b=0$),也无法表示平行于坐标轴的直线。
二、 线性代数与向量表达
在处理计算机图形学、物理模拟或向高维空间(如 $\mathbb{R}^3, \mathbb{R}^n$)推广时,直线的向量和矩阵表达比纯代数方程更为强大且不具有几何奇点(如斜率无穷大)。
1. 参数方程与向量式 (Vector Parametric Form)
向量参数方程
设直线 $L$经过已知点$P_0$(位置向量为 $\vec{r}_0$),且平行于非零方向向量 $\vec{v}$,则直线上任意一点 $P$(位置向量为 $\vec{r}$)可表示为:
$$\vec{r}(t)=\vec{r}_0+t\vec{v}$$
其中参数 $t \in \mathbb{R}$。
展开为坐标形式:
设 $\vec{r} = \begin{bmatrix} x \newline y \end{bmatrix}$,$\vec{r}_0 = \begin{bmatrix} x_0 \newline y_0 \end{bmatrix}$,$\vec{v} = \begin{bmatrix} v_x \newline v_y \end{bmatrix}$,则:
$$\begin{bmatrix} x \newline y \end{bmatrix} = \begin{bmatrix} x_0 \newline y_0 \end{bmatrix} + t \begin{bmatrix} v_x \newline v_y \end{bmatrix} \implies \begin{cases} x = x_0 + t v_x \newline y = y_0 + t v_y \end{cases}$$
几何意义
参数 $t$可以理解为“时间”:在$t=0$时刻,质点位于$\vec{r}_0$;随着 $t$变化,质点沿着$\vec{v}$的方向匀速直线运动。这种表达方式完美避免了斜率不存在(即垂直线$v_x=0$)的尴尬。
2. 法向量式 (Normal Form / Dot Product Form)
点积法向量方程
设直线 $L$经过已知点$P_0(\vec{r}_0)$,且存在一个非零法向量 $\vec{n}$垂直于直线$L$。直线上任意一点 $P(\vec{r})$构成的向量$(\vec{r}-\vec{r}_0)$必然与$\vec{n}$ 正交。利用点积性质,有:
$$\vec{n} \cdot (\vec{r}-\vec{r}_0)=0$$
与一般式的完美等价:
设 $\vec{n} = \begin{bmatrix} A \newline B \end{bmatrix}$,$\vec{r} = \begin{bmatrix} x \newline y \end{bmatrix}$,$\vec{r}_0 = \begin{bmatrix} x_0 \newline y_0 \end{bmatrix}$。
代入点积公式:
$$\begin{bmatrix} A \newline B \end{bmatrix} \cdot \begin{bmatrix} x-x_0 \newline y-y_0 \end{bmatrix} = 0 \implies A(x-x_0) + B(y-y_0) = 0$$
展开整理得:
$$Ax+By+(-Ax_0-By_0)=0$$
令 $C = -(Ax_0+By_0)$,即推导出了最开始的一般式方程 $Ax+By+C=0$。
三、 投影矩阵与齐次坐标 (高级视点)
进阶知识
在现代计算机图形学(如 OpenGL/Vulkan)中,直线通常通过投影几何和齐次坐标 (Homogeneous Coordinates) 来表达。
齐次坐标表达
在投影平面 $\mathbb{P}^2$中,点被表示为列向量$\mathbf{x} = \begin{bmatrix} x \newline y \newline w \end{bmatrix}$,而直线被表示为行向量(或对偶向量) $\mathbf{l} = \begin{bmatrix} A \newline B \newline C \end{bmatrix}$。
点在直线上的判定条件转化为极其优美的内积形式:
$$\mathbf{l}^T \mathbf{x} = 0 \implies \begin{bmatrix} A & B & C \end{bmatrix} \begin{bmatrix} x \newline y \newline w \end{bmatrix} = 0 \implies Ax+By+Cw=0$$
(当 $w=1$时,即退化为欧氏空间中的一般式$Ax+By+C=0$)。
叉乘的妙用
利用齐次坐标,我们可以用极其简洁的线性代数运算解决几何问题:
两点定线: 已知两点 $\mathbf{x}_1$和$\mathbf{x}_2$,穿过它们的直线表达为:$\mathbf{l} = \mathbf{x}_1 \times \mathbf{x}_2$
两线交点: 已知两直线 $\mathbf{l}_1$和$\mathbf{l}_2$,它们的交点表达为:$\mathbf{x} = \mathbf{l}_1 \times \mathbf{l}_2$
叉乘计算交点
设直线 $L_1$: $x-y+1=0$ ($\mathbf{l}_1 = [1, -1, 1]^T$),直线 $L_2$: $2x+y-4=0$ ($\mathbf{l}_2 = [2, 1, -4]^T$)。
交点 $\mathbf{x} = \mathbf{l}_1 \times \mathbf{l}_2 = \begin{bmatrix} 1 \newline -1 \newline 1 \end{bmatrix} \times \begin{bmatrix} 2 \newline 1 \newline -4 \end{bmatrix} = \begin{bmatrix} 3 \newline 6 \newline 3 \end{bmatrix}$。
将齐次坐标转化为笛卡尔坐标(全体除以 $w=3$),得到交点坐标 $(1, 2)$。代回原方程验证,完全正确。