0
$\begingroup$

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?

2 Answers 2

1

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.

1

Use rotation matrix:

http://en.wikipedia.org/wiki/Rotation_matrix
http://mathworld.wolfram.com/RotationMatrix.html

  • 0
    The translation can be made easier with [homogeneous coordinates](http://en.m.wikipedia.org/wiki/Transformation_matrix#section_5).2012-10-03