Derive the transformation representing the 3D rotation by an angle α about a line ℓ∈E3. Let ℓ be defined by the point X0 and direction u^.
Given the normal n^, any vector v can be decomposed into parallel and perpendicular component vectors,
v=(v⋅u^)u^+[v−(v⋅u^)u^].
Under rotation, the parallel component remains unchanged while the perpendicular component is transformed.
The perpendicular component v⊥≜v−(v⋅u^)u^ is orthogonal to u^ and is coplanar with v. Let the vectors {u^,v⊥,u^×v} serve as the basis for our 3D space, and perform the rotation in the plane given by P≜span{v⊥,u^×v}.
The rotating v⊥ in P is given by v⊥′=cos(α)v⊥+sin(α)u^×v.
where I is the R3×3 identity matrix, and U is defined as the matrix in the cross-product matrix form,
u^×v≜U⋅v=0u3−u2−u30u1u2−u10v.
Then, to rotate about ℓ by α, we subtract X0 from v, perform the rotation about u^, then add back X0.
Householder Transform
Derive the transformation which represents the reflection about a plane H∈E3 where H is uniquely defined by the point C and normal n^.
Given the normal n^, any vector v can be decomposed into parallel and perpendicular component vectors,
v=(v⋅n^)n^+[v−(v⋅n^)n^].
Suppose that C is at the origin of our coordinate frame; then reflecting v about H negates the parallel component while the perpendicular component remains unchanged,
In the general case for C=O, we simply have to subtract C from v in order to make it the origin of the local coordinate system, then proceed using the above method, and finally adding back C to the reflected v′. This procedure yields the final Householder transformation,