理解三维中的直线相交
在三维空间中,两条直线可以相交(交于一点)、平行(无交点)或异面(不平行且永不相交)。
我们提供一个计算器和分步求解器,用于求三维中两条直线的交点(若存在)。
过两点的直线:
$$L_1: \vec{r_1}(t) = \langle x_A, y_A, z_A \rangle + t\,\langle x_B-x_A, y_B-y_A, z_B-z_A \rangle$$
$$L_2: \vec{r_2}(s) = \langle x_C, y_C, z_C \rangle + s\,\langle x_D-x_C, y_D-y_C, z_D-z_C \rangle$$
参数式:
$$L_1: \begin{cases} x = x_1 + t\,a_1 \\ y = y_1 + t\,b_1 \\ z = z_1 + t\,c_1 \end{cases}$$
$$L_2: \begin{cases} x = x_2 + s\,a_2 \\ y = y_2 + s\,b_2 \\ z = z_2 + s\,c_2 \end{cases}$$
求交点:解方程组:
$$\begin{cases}
x_A + t\,(x_B-x_A) = x_C + s\,(x_D-x_C) \\
y_A + t\,(y_B-y_A) = y_C + s\,(y_D-y_C) \\
z_A + t\,(z_B-z_A) = z_C + s\,(z_D-z_C)
\end{cases}$$
重要:用两个方程求解 t 和 s,然后验证它们是否满足第三个方程。若满足第三个方程,则两直线相交;若不满足,则异面。若方向向量平行,则两直线平行或重合。