Distance between skew lines

Unlike the distance between parallel lines, the distance between skew lines can be traced back to the Hesse normal form.

Given are two skew lines:

$\text{g: } \vec{x} = \vec{p} + r \cdot \vec{m_1}$
$\text{h: } \vec{x} = \vec{q} + s \cdot \vec{m_2}$

We calculate an orthogonal normal vector from the two direction vectors.

$\vec{n}=\vec{m_1}\times\vec{m_2}$

This is normalized (unit normal vector) and inserted into the Hesse normal form together with the two support vectors $\vec{p}$ and $\vec{q}$. The distance $d$ is then obtained.

$d = |(\vec{p} - \vec{a}) \cdot \vec{n_0}|$
i

Method

  1. Calculate normal vector

  2. Form unit normal vector

  3. Insert points in Hesse normal form

Example

Two skew lines are given

$\text{g: } \vec{x} = \begin{pmatrix} 1 \\ 1 \\4 \end{pmatrix} + r \cdot \begin{pmatrix} 1 \\ 1 \\ 0 \end{pmatrix}$

$\text{h: } \vec{x} = \begin{pmatrix} 3 \\ 4 \\ 0 \end{pmatrix} + r \cdot \begin{pmatrix} 1 \\ 5 \\ 2 \end{pmatrix}$

  1. Calculate normal vector

    Variant 1

    Since both direction vectors are perpendicular to the normal vector $\vec{n}=\begin{pmatrix} x \\ y \\ z \end{pmatrix}$, the scalar product must result in zero.

    1. $\begin{pmatrix} x \\ y \\ z \end{pmatrix}\cdot\color{blue}{\begin{pmatrix} 1 \\ 1 \\ 0 \end{pmatrix}} = 0$
    2. $\begin{pmatrix} x \\ y \\ z \end{pmatrix}\cdot\color{blue}{\begin{pmatrix} 1 \\ 5 \\ 2 \end{pmatrix}} = 0$

    The scalar product can now be calculated.

    1. $1x+1y=0$
    2. $1x+5y+2z= 0$

    II.-I.

    $4y+2z=0$

    Choose $z$ freely, e.g. $z=4$

    $4y+8=0\quad|-8$
    $4y=-8\quad|:4$
    $y=-2$

    Calculate $x$ with I. (insert $y$)

    $x+y=0$
    $x-2=0\quad|+2$
    $x=2$

    $\vec{n}=\begin{pmatrix} 2 \\ -2 \\ 4 \end{pmatrix}$

    Variant 2

    In variant 2, only the cross product of the two vectors is formed instead.

    $\vec{n}$ $=\color{blue}{\begin{pmatrix} 1 \\ 1 \\ 0 \end{pmatrix}} \times \color{blue}{\begin{pmatrix} 1 \\ 5 \\ 2 \end{pmatrix}}$ $=\begin{pmatrix} 1\cdot2 - 0\cdot5 \\ 0\cdot1 - 1\cdot2 \\ 1\cdot5 - 1\cdot1 \end{pmatrix}$ $=\begin{pmatrix} 2 \\ -2 \\ 4 \end{pmatrix}$
  2. Unit normal vector

    The normal vector is normalized by dividing by the magnitude of the vector.

    $\vec{n}=\begin{pmatrix} 2 \\ -2 \\ 4 \end{pmatrix}$

    $|\vec{n}|=\sqrt{2^2+(-2)^2+4^2}$ $=\sqrt{24}$

    $\vec{n_0}= \frac{\vec{n}}{|\vec{n}|}$ $=\begin{pmatrix} 2/\sqrt{24} \\ -2/\sqrt{24} \\ 4/\sqrt{24} \end{pmatrix}$

  3. Insert points

    $d=$ $\left|\left(\begin{pmatrix}1 \\ 1 \\4 \end{pmatrix} - \begin{pmatrix} 3 \\ 4 \\ 0\end{pmatrix}\right) \cdot \begin{pmatrix} 2/\sqrt{24} \\ -2/\sqrt{24} \\ 4/\sqrt{24} \end{pmatrix} \right|$ $=\left|\begin{pmatrix} -2 \\ -3 \\ 4 \end{pmatrix} \cdot \begin{pmatrix} 2/\sqrt{24} \\ -2/\sqrt{24} \\ 4/\sqrt{24} \end{pmatrix} \right|$ $\approx3.67$