Here I’d like to highlight the relationship between a inner product of two vectors and projection of one vector on the other.

Let $a$ and $b$ be two vectors in $\mathbb{R}^n$. Then the projection of vector $a$ on the vector $b$ is $\frac{bb^T}{b^Tb}a$. The Euclidean length of the projection is $\frac{b^Ta}{b^Tb}$. This is well known. Based on this, we can get the following simple but useful fact.

1. If $\|a\|=1$, then $a^Tb$ or $b^Ta$ is the projection length of $b$ on $a$.
2. If $\|b\|=1$, then $a^Tb$ or $b^Ta$ is the projection length of $b$ on $b$.

This is quite straightforward, but it can often be encountered.

$\line(1,0){300}$

Edit: The above mentioned is orthogonal projection length. If you remember, this technique is used when derive the homography matrix. ($N^Tx,\|N\|=1$). In fact, a inner product of two vectors $a,b$ is also a projection but not orthogonal projection (maybe Oblique projection).

$a^Tb=\|a\|\|b\|cos\theta$

$\|a\|cos\theta$ and $\|b\|cos\theta$ are orthogonal projections. But $a^Tb=\|a\|\|b\|cos\theta$ is the oblique projection. One remarkable example is the Lie derivative.

$\mathcal{L}_f h=\nabla h^T f$

is the gradient of $h$ along the vector $f$, which can be regarded as the projection of the gradient of $h$ on the vector $f$.