keisan生活や実務に役立つ高精度計算サイト

2直線の距離

空間上の2つの直線の最短距離を計算します。

点(a,b,c)を通りベクトル(p,q,r)と平行な直線は、
\(\hspace{20px}\frac{x-a}{p}=\frac{y-b}{q}=\frac{z-c}{r}\)
点P1を通りベクトルV1に平行な直線1:
  P1 (
,
,
)
  V1 (
,
,
)

点P2を通りベクトルV2に平行な直線2:
  P2 (
,
,
)
  V2 (
,
,
)
最短距離 d 
2直線の傾きの外積ベクトルの向きは2つの直線に垂直になります。
この向きの単位ベクトルと各直線上の任意点間のベクトルとの内積の大きさが2直線間の最短距離になります。

\( \normalsize The\ shortest\ distance\ between\ two\ lines\\ (1)\ d=\left|\frac{(\vec{V_1}\times \vec{V_2})\cdot\vec{P_1P_2}}{\left|\vec{V_1}\times \vec{V_2}\right|}\right|,\hspace{30px}at\ \left|\vec{V_1}\times \vec{V_2}\right|\ne0\\ \hspace{10px} =\left|{\large \frac{(q_1r_2-q_2r_1)a_{12}+(r_1p_2-r_2p_1)b_{12}+(p_1q_2-p_2q_1)c_{12}} {\sqrt{(q_1r_2-q_2r_1)^2+(r_1p_2-r_2p_1)^2+(p_1q_2-p_2q_1)^2}}}\right|\\ (2)\ d= \frac{\left|\vec{V_1}\times \vec{P_1P_2}\right|}{\left|\vec{V_1}\right|},\hspace{30px}at\ \left|\vec{V_1}\times \vec{V_2}\right|=0\\ \hspace{10px}={\large \frac{\sqrt{(b_{12}r_1{\tiny-}c_{12}q_1)^2{\tiny+}(c_{12}p_1{\tiny-}a_{12}r_1)^2{\tiny+}(a_{12}q_1{\tiny-}b_{12}p_1)^2}}{\sqrt{p_1^2+q_1^2+r_1^2}}}\\ \hspace{20px} a_{12}=a_1{\tiny-}a_2,\hspace{20px} b_{12}=b_1{\tiny-}b_2,\hspace{20px} c_{12}=c_1{\tiny-}c_2\\ \)

この計算についてお客様の声はまだありません。