三维两直线交点计算器求解器

理解三维中的直线相交

在三维空间中,两条直线可以相交(交于一点)、平行(无交点)或异面(不平行且永不相交)。

我们提供一个计算器和分步求解器,用于求三维中两条直线的交点(若存在)。

过两点的直线:
$$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}$$
相交条件:
$$L_1: \vec{P_1} + t\vec{V_1} \quad \text{和} \quad L_2: \vec{P_2} + s\vec{V_2}$$ $$(\vec{P_2} - \vec{P_1}) \cdot (\vec{V_1} \times \vec{V_2}) = 0$$

这就是标量三重积(STP)。若 STP = 0,则两直线共面,可能相交。若 STP ≠ 0,则两直线异面,不能相交。

求交点:解方程组: $$\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,然后验证它们是否满足第三个方程。若满足第三个方程,则两直线相交;若不满足,则异面。若方向向量平行,则两直线平行或重合。

三维直线交点计算器

以任意格式输入直线(两点式、参数式或点+方向)

直线 L₁

a: b: c:

直线 L₂

标量三重积 (STP): ---
STP = (P₂ - P₁) · (V₁ × V₂) — 若 STP = 0,则两直线共面,可能相交。

结果

--
--
--
--

分步解答

输入直线数据并点击“求交点”以查看解答步骤。

更多参考与链接