This question is based off of Dave Eberly's 3D Game Engine Design, 2nd Edition. I am reading it slowly to gain a larger algebraic grasp of 3D graphics, which this book seems to offer.
When finding a reflection of a vector V in the plane N • X = 0, the book describes breaking the vector up into two parts, cN and Nperp, where c is the height of V. No issues here.
To find the reflection, he uses U = -cN + Nperp, which also makes sense. But then he makes this jump:
U = V - 2(N • V)N = (I - 2NNT)V
He has taken the reflected vector and transformed it into a matrix. I have two questions here.
1) What is the formula or rule of thumb used to make this leap? 2) Is there a particular branch of linear algebra that this type of calculation is commonly observed in?
My linear algebra class was many years ago, but I don't ever remember anything quite like this.