Finding?? a general rotation in 3D

If there is anyone who feels they have some extra time to help me understand this section. I having difficulty conceptualizing exactly how to find S and verifying the matrix is in fact orthogonal. Thanks in advance

What I have done so far:
I found my vector, and I believe I am suppose to be creating the columns of S using this vector and how its maps onto i,j,k. But I am stumped on how to move forward and how I may use python to help me solve this.

mark

Comments

  • So you're given a vector $\vec{v}$ and an angle $\theta$. You want to find a matrix that represents rotation through the angle $\theta$ about the vector $\vec{v}$. I guess we know that the matrix
    $$R = \begin{pmatrix}
    1 & 0 & 0 \\
    0 & \cos(\theta) & -\sin(\theta) \\
    0 & \sin(\theta) & \cos(\theta)
    \end{pmatrix}$$
    represents rotation through $\theta$ about the $x$-axis. So we need a matrix $S$ that does a couple things:

    1. $S$ maps $\vec{\imath} = \langle 1,0,0 \rangle$ to $\vec{v}$ and
    2. maps $\vec{\jmath}$ and $\vec{k}$ to a pair of unit vectors that are perpendicular to one another, as well as to $\vec{v}$.

    I guess it's that second part you're having trouble with. Here's one approach:

    First, the first vector can be any vector that is perpendicular to $\vec{v}$. You can just use the dot product to find one. For example, if $\vec{v} = \langle 1,2,3 \rangle$, then $\vec{u}=\langle -2,1,0 \rangle$ would do, since $\vec{u}\cdot\vec{v}=0$. There's lot of others, too.

    Once you've got that first vector, you can just use the cross product to find another that is perpendicular to both the given vector $\vec{v}$ and the new one that you just found.

    Don't forget to normalize, though, since that's required for matrix to be orthogonal.

Sign In or Register to comment.