MCPで接続 →

計算を入力してください

公式

広告

結果

2直線の最短距離
6.350853
入力した座標と同じ長さの単位で表されます
2直線の関係 Lines are skew

この計算機でできること

このツールは、三次元空間内の2本の直線の最短距離(最小距離)を求めます。各直線は、通過点 P =(a, b, c)と、その直線に平行な方向ベクトル V =(p, q, r)で指定します。これはちょうど対称形の式 \((x-a)/p = (y-b)/q = (z-c)/r\) で与えられる情報と同じです。単位や国ごとの規則に依存しない、純粋な解析幾何のツールなので、どこでも同じように使えます。

3次元空間でねじれの位置にある2直線と、その間の最短垂直距離 d
最短距離 \(d\) は、2直線を結ぶ垂線の線分です。

使い方

まず1本目の直線について、通過点 P1 の3つの座標と方向ベクトル V1 の3成分を入力し、続けて2本目の直線も同じように入力します。計算ボタンを押すと、最短距離が表示され、2直線の関係(交わる・ねじれの位置・平行・一致)が判定されます。方向ベクトルが(0, 0, 0)の場合は直線を定義できないため、受け付けられません。

公式の解説

各直線上の点を結ぶベクトルを \(\vec{W} = \text{P2} - \text{P1}\)、方向ベクトルの外積を \(\vec{N} = \vec{V_1} \times \vec{V_2}\) とします。2直線が平行でないとき、最短距離はスカラー三重積の絶対値を \(\vec{N}\) の大きさで割った値になります。すなわち

$$ d = \frac{\left| \vec{W} \cdot (\vec{V_1} \times \vec{V_2}) \right|}{\left| \vec{V_1} \times \vec{V_2} \right|} \quad\text{where}\quad \left\{ \begin{aligned} \vec{W} &= \left( \text{P2}_x - \text{P1}_x,\ \text{P2}_y - \text{P1}_y,\ \text{P2}_z - \text{P1}_z \right) \\ \vec{V_1} &= \left( \text{V1}_x,\ \text{V1}_y,\ \text{V1}_z \right) \\ \vec{V_2} &= \left( \text{V2}_x,\ \text{V2}_y,\ \text{V2}_z \right) \end{aligned} \right. $$

です。これが 0 なら2直線は交わり、0 でなければねじれの位置にあります(決して交わらないが平行でもない関係)。\(\vec{V_1}\) と \(\vec{V_2}\) が互いにスカラー倍のとき、\(\vec{N}\) は零ベクトルになるため、計算機は点と直線の距離の公式

$$ d = \frac{\left| \vec{W} \times \vec{V_1} \right|}{\left| \vec{V_1} \right|} $$

に切り替えます。このときの結果が 0 であれば、2直線は一致しています。

広告
V1 と V2 の外積で法線ベクトルを求め、W をそれに射影したベクトル図
距離は、両方の直線に垂直な方向への \(\vec{W}\) の射影に等しくなります。

計算例

P1 =(-1, 2, 0)、V1 =(2, 3, 1)、P2 =(3, -4, 1)、V2 =(1, 2, 1)とします。すると \(\vec{W} = (4, -6, 1)\)、\(\vec{N} = \vec{V_1} \times \vec{V_2} = (1, -1, 1)\) で、\(|\vec{N}| = \sqrt{3} = 1.7320508\) となります。内積は \(\vec{W} \cdot \vec{N} = 4 + 6 + 1 = 11\) なので、\(d = 11 / \sqrt{3} = 6.350853\) です。\(d\) が 0 でないため、この2直線はねじれの位置にあります。

よくある質問

「ねじれの位置」とは何ですか? ねじれの位置にある直線とは、空間内で平行でも交わってもいない2直線のことです。互いに一定の最短距離を保ちながらすれ違います。

距離が 0 になるのはなぜですか? 距離が 0 ということは、2直線が少なくとも1点を共有していることを意味します。つまり交わっているか、平行であれば同一の直線になっています。

方向ベクトルの長さは結果に影響しますか? いいえ。方向ベクトルを定数倍しても直線そのものは変わりませんし、公式の中で大きさによる正規化が行われるため、距離は変わりません。

最終更新: