### Table of Contents

# Angle between two vectors

In $\mathbb{R}^n$ there are two angles between any two vectors. The smallest one I'll call $\theta$. The other one, its 360° complement, I'll call $\phi$.

The smallest angle between two vectors $\mathbf{u}$ and $\mathbf{v}$ is given by:

$$ \theta = \cos^{-1}{\frac{\mathbf{u} \cdot \mathbf{v}}{uv}} $$

which follows easily from the geometric definition of the dot product:

$$ \mathbf{u} \cdot \mathbf{v} = uv\cos \theta $$

The other angle is simply the 360° complement:

$$ \phi = 2\pi - \theta $$

## Oriented angle

Some applications call for the *oriented* angle $\psi$. It's the angle going from one vector to the other in a specific direction. The convention that I use is that the direction be **counter-clockwise**.

Because the angle is oriented, changing the order of vectors (or the used convention) changes the angle's sign:

$$\psi(\mathbf{u}, \mathbf{v}) = -\psi(\mathbf{v}, \mathbf{u})$$

or, equivalently:

$$\psi(\mathbf{u}, \mathbf{v}) = 2\pi - \psi(\mathbf{v}, \mathbf{u})$$

Furthermore:

$$\psi({\mathbf{u}, \mathbf{u}) = 0$$

It's also worth noting that:

$$\cos\theta = \cos\phi = \cos\psi$$

which is why the dot product doesn't carry enough information to compute $\psi$.

### In two dimensions

In any coordinate system:

$$ \begin{align}
\psi(\mathbf{u}, \mathbf{v}) &= \mathrm{atan2}(\mathbf{u} \cross_2 \mathbf{v}, \mathbf{u} \cdot \mathbf{v})

&= \mathrm{atan2}(\mathbf{u}_1\mathbf{v}^2 - \mathbf{u}_2\mathbf{v}^1, \mathbf{u}_1\mathbf{v}^1 + \mathbf{u}_2\mathbf{v}^2)
\end{align} $$

### Derivation: in two dimensions

Using the geometric definitions of the two-dimensional cross product and the dot product:

$$ \begin{cases}
\mathbf{u} \cdot \mathbf{v} = uv\cos \theta

\mathbf{u} \cross_2 \mathbf{v} = uv\sin \theta

\end{cases} $$

Solving for the sine and cosine:

$$ \begin{cases}
\cos \theta = \frac{1}{uv} \mathbf{u} \cdot \mathbf{v}

\sin \theta = \frac{1}{uv} \mathbf{u} \cross_2 \mathbf{v}

\end{cases} $$

Solving for $\theta$ (see Systems of equations involving the cosine and the sine of an unknown):

$$ \begin{align}
\theta &= \mathrm{atan2}\left(\frac{1}{uv}\mathbf{u} \cross_2 \mathbf{v}, \frac{1}{uv}\mathbf{u} \cdot \mathbf{v}\right)

&= \mathrm{atan2}(\mathbf{u} \cross_2 \mathbf{v}, \mathbf{u} \cdot \mathbf{v})
\end{align} $$

The simplification can be done because $\frac{1}{uv} > 0$ and eliminating it will not change the result (see properties of atan2).