find position of a point rotate about an arbitrary axis

82 Views Asked by At

I have the axis $u=[1,1,0]$

Follow by $u$ is a vector $v$ which perpendicular to $u$ (i.e. $z \times u=v$ which $z=[0,0,1]$)

I want to find vector $p = u+v$ when rotate $v$ about $u$ by angle $\theta$

Basically, it's about finding the transformation matrix to find the point P w.r.t. $O\textbf{xyz}$ (given $u$ and $\theta$)

1

There are 1 best solutions below

0
On

I will use $\hat{u}=u/|u|$. The vector $w=v\times\hat{u}$ is perpendicular to $w$ and $u$, and $v\times w$ is along $u$. $v'$, which we obtain by rotating $v$ around $u$ by an angle $\theta$ is therefore in the plane of $v$ and $w$. It has a component $|v| \cos\theta$ along $v$, and a component $|v|\sin\theta$ along $w$. we can write this as $$v'=v\cos\theta+\hat{u}\times v \sin\theta$$ For more in detail derivation, you should look up Rodrigues' rotation formula https://en.wikipedia.org/wiki/Rodrigues%27_rotation_formula