Skip to content

直线在二维空间($\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$)。

叉乘的妙用

利用齐次坐标,我们可以用极其简洁的线性代数运算解决几何问题:

  1. 两点定线: 已知两点 $\mathbf{x}_1$和$\mathbf{x}_2$,穿过它们的直线表达为:$\mathbf{l} = \mathbf{x}_1 \times \mathbf{x}_2$

  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)$。代回原方程验证,完全正确。

基于 Obsidian 整理 · 由 VitePress 构建