# 3D Cartesian Coordinates System revolve around a specified axis

I have a 3d cartesian coordinates system and now I want to rotate a point $p(x_0, y_0, z_0)$ arround a specified axis $v(v_x, v_y, v_z)$ like $(1,1,1)$,and the angle is $\theta$,finally I want to get the new location of $p$. Can somebody solve it by using the acknowledge of linear algebra?

Can you give me any hints?

-

Extend $v$ to an equinorm orthogonal basis, i.e. find an arbitrary $w\perp v$ with $|w|=|v|$ and then similarly a $u$, s.t. $|u|=|v|$ and $u\perp v$, $u\perp w$. Then write up the rotation matrix in basis $v,w,u$: $$\begin{bmatrix} 1&0&0\\0&\cos\theta&-\sin\theta\\ 0&\sin\theta&\cos\theta \end{bmatrix}$$ and transform it back to the standard basis, by multiplying it by $B:=[u|v|w]$ from the right and $B^{-1}$ from the left.