这个计算器能做什么
本工具用于计算三维空间中两条直线之间的最短(最小)距离。每条直线都由它所经过的一个点 \(P = (a, b, c)\) 和一个与之平行的方向向量 \(V = (p, q, r)\) 来确定——这正是对称式 \(\frac{x-a}{p} = \frac{y-b}{q} = \frac{z-c}{r}\) 中所包含的数据。它是一款纯粹的解析几何工具,普遍适用,不涉及任何单位或国别相关的规定。
使用方法
先填入第一条直线上点 P1 的三个坐标,以及方向向量 V1 的三个分量;然后对第二条直线做同样的操作。点击计算即可。结果会给出两直线的最短距离,并把它们归类为相交、异面、平行或重合。如果某个方向向量为 \((0, 0, 0)\),系统将拒绝接受,因为它无法确定一条直线。
公式详解
设 \(\vec{W} = \text{P2} - \text{P1}\) 为连接两条直线上各一点的向量,\(\vec{N} = \vec{V_1} \times \vec{V_2}\) 为两方向向量的叉积。当两直线不平行时,最短距离等于混合积(标量三重积)的绝对值除以 \(\vec{N}\) 的模长:
$$d = \frac{\left| \vec{W} \cdot \vec{N} \right|}{\left| \vec{N} \right|}$$若结果为零,则两直线相交;否则它们就是异面直线(永不相交,但也不平行)。当 \(\vec{V_1}\) 与 \(\vec{V_2}\) 互为数乘关系时,\(\vec{N}\) 为零向量,此时计算器切换为点到直线的公式
$$d = \frac{\left| \vec{W} \times \vec{V_1} \right|}{\left| \vec{V_1} \right|}$$若此结果为零,则说明两直线重合。
计算实例
取 \(\text{P1} = (-1, 2, 0)\),\(\vec{V_1} = (2, 3, 1)\),以及 \(\text{P2} = (3, -4, 1)\),\(\vec{V_2} = (1, 2, 1)\)。则 \(\vec{W} = (4, -6, 1)\),\(\vec{N} = \vec{V_1} \times \vec{V_2} = (1, -1, 1)\),\(\left| \vec{N} \right| = \sqrt{3} = 1.7320508\)。点积 \(\vec{W} \cdot \vec{N} = 4 + 6 + 1 = 11\),因此
$$d = \frac{11}{\sqrt{3}} = 6.350853$$由于 \(d\) 不为零,这两条直线为异面直线。
常见问题
“异面”是什么意思?异面直线是三维空间中既不平行也不相交的两条直线——它们彼此错开,相隔一个固定的最小距离。
为什么距离会等于零?距离为零意味着两直线至少有一个公共点:要么它们相交,要么在平行的情况下,它们其实是同一条直线。
方向向量的长度有影响吗?没有。对方向向量进行缩放并不会改变直线本身,而公式又会按相应的模长进行归一化,所以距离不受影响。