How to build a rotation matrix?

350 Views Asked by At

I know how to build a rotation matrix around the x, y or z axis, but i'm not sure how to do it around an arbitrary vector. For example, in R3, how should i build a rotation matrix with axis (111)? I read i should pick an orthonormal basis but i dont get why it cant be any R3 basis.

Also, i dont understand if a rotation matrix should always be an orthogonal (or hermitian) matrix. I mean, what if i define a linear transformation R as a rotation around the z axis, and apply a change of basis:

[R]b = Ceb.[R]e.Cbe

with R being the rotation matrix and Cbe the change of basis matrix from basis e to b. The resultant matrix wont be orthogonal but still is a matrix defining a rotation, isn't it?

Thanks!