Find vector rotated on 3D plane

893 Views Asked by At

I don't have access to a computer so I can't give pictures but I will try to make this easy to visualize. Suppose I have a vector $n$. I will now draw a plane normal to this vector that and have that plane intersect the origin. I can find a vector $m$ on that plane with no z component that is denoted by $(n_2/n_1,1,0)$ (by making $z=0,y=1$, but for the purpose of this question all that is important is that $m$ is a vector on the $n$ vector defined plane with no z component. How would I rotate $m$ by $\theta$ degrees with respect to the 3d plane? I don't need magnitude, only direction.

1

There are 1 best solutions below

4
On BEST ANSWER

If $n = (n_1, n_2, n_3)$ is a non-zero vector, then $m = (n_2, -n_1, 0)$ is orthogonal to $n$ (and non-zero so long as $n$ does not lie on the third coordinate axis). The cross product $p = n \times m$ is orthogonal to both $n$ and $m$, and the vectors $\mathbf{e}_1 = m/\|m\|$ and $\mathbf{e}_2 = p/\|p\|$ are an orthonormal basis of $\Pi = n^\perp$.

If "rotate $m$ by $\theta$ degrees with respect to the $3$d plane" means "rotate $\Pi$ counterclockwise about $n$ by $\theta$ degrees, the desired vector is $$ m' = \|m\|(\cos\theta \mathbf{e}_1 + \sin\theta \mathbf{e}_2), $$ with the trig functions "in degrees mode".

Rotating a vector in n-perp