# Why does the formula for calculating a reflection vector work?

The formula for calculating a reflection vector is as follows: $$R = V - 2N(V\cdot N)$$ Where V is the incident vector and N is the normal vector on the plane in question.

Why does this formula work? I haven't seen any good explanations of it. I don't understand the significance of doubling the normal vector, nor the relevance of taking the dot product.

• Remember that the dot product is related to the cosine of the angle between two vectors. May 1 '11 at 22:48

$\langle V,N\rangle N$ is the orthogonal projection of $V$ onto (the line determined by) $N$. That is, if you want to write $V$ as a sum of two orthogonal vectors, $u$ and $n$, with $u$ in the plane and $n$ having the same direction as $N$ (that is, orthogonal to the plane), then $n = \langle V,N\rangle N$ and $u = V - \langle V,N\rangle N$.

Since $N$ is normal to the plane, the vector $u = V - \langle V,N\rangle N$ is in the plane. That is, $u$ is the orthogonal projection of $V$ onto the plane.

To take the reflection, you want to go to the point in the plane "directly below" $V$ (that is, to $u$), and then go in the opposite direction to where $V$ is. So what you are doing is simply reversing the normal component to get the reflection: instead of adding $\langle V,N\rangle N$, you subtract it because that reverses the direction. So instead of $$V = \underbrace{\Bigl( V - \langle V,N\rangle N\Bigr)}_{\text{in the plane}} + \underbrace{\langle V,N\rangle N}_{\text{orthogonal to the plane}}$$ you take $$\underbrace{\Bigl( V - \langle V,N\rangle N\Bigr)}_{\text{in the plane}} - \underbrace{\langle V,N\rangle N}_{\text{orthogonal to the plane}}.$$

• I fixed a couple of minor typos; hope you don't mind.
– user856
May 2 '11 at 5:16
• @Rahul: Certainly not! Thanks. May 2 '11 at 14:27