Using the definition of inner product to find the axis of rotation about a line

652 Views Asked by At

Let's begin with the definition of the inner product. It's as follows:

$$ A . B = ||A|| \ ||B||\cos(\theta) . $$

My understanding is that the $\theta$ is the angle between the two vectors. As such this can be used to find the axis of rotation about a line, given that you have the line about which the rotation occurs, the transformation matrix and a vector orthogonal to the line.

I have been trying to solve an example question and have come as far as figuring out that the transformation is isometric ($A^tA = I) $ and that the $detA = 1$. Thus I know it's a rotation and now I just need to find the line and then I can proceed with finding the angle of rotation.

In short the transformation matrix $A$ = $1\over7$$\begin{bmatrix}3&6&2\\-6&2&3\\2&-3&6\end{bmatrix}$ and the line about which the rotation occurs is $t(1, 0 ,2)$. I picked a vector orthogonal to this line, $\vec v = (0,1,0)$, and now I want to use the definition of the inner product (the one defined earlier) to find the angle.

I had a look at the answer to this example and it turns out that the way they did it - which I do not fully understand - is by using this formula, if you will; $$(A\vec v)^t \vec v = cos \theta $$ Now the thing I don't get is , how does this formula work? I don't really understand the $(A\vec V)^t$ part and why it works.

This seems like a fundamental concept that I am unfortunately lacking an understanding of. I ask for your help, how does the forumla work?

Thanks

2

There are 2 best solutions below

2
On

The meaning of the notation $(A\vec v)^t\vec v$ is the inner product between the vector $Av$ and the vector $v$. Since $v$ is normal to the line about which the rotation takes place, the vector $Av$ will be another vector normal to the rotation-line, and the angle between $v$ and $Av$ will precisely yield the angle of rotation. It does not matter which normal vector you begin with.

1
On

Derivation of the result:

A rotation matrix $A$ in $R^3$ rotates 3d vectors around an axis of rotation $l$. So that the axis $l$ is not affected by the rotation $A$. In other words, the vector $l$ is an eigenvector of $A$ with eigenvalue equals to $1$ since $A l = l$.

Conversely, vectors that lie in the plane orthogonal (or normal) to vector $l$ will change the most by rotation $A$.

So if you have a vector $v$ orthogonal to the axis of rotation $l$, then the rotated vector $A v$ is also orthogonal to $l$ and lie in the same plane as $v$ which has $l$ as normal vector.

So the amount of rotation (or angle of rotation) that $A$ produces can be measured by how much a vector $v$ change under the action of $A$. Since the only thing that can change is the angle we can use the inner product of vectors to measure that angle $\theta = \cos^{-1}((A v)^T v / \|v\|^2)$.

Matrix representation of scalar product:

Given two vectors $a$ and $b$ in $R^n$, they can be represented as two column matrices $A$ and $B$ of size $n \times 1$, the scalar product $a \cdot b = b \cdot a = A^T B = B^T A$.

$A^T B = \begin{bmatrix}A_1 & A_2 & \cdots & A_n\end{bmatrix} \begin{bmatrix}B_1\\B_2\\ \vdots \\ B_n\end{bmatrix} = A_1 B_1 + A_2 B_2 + \cdots + A_n B_n$

So in your case $v$ is a column vector and $A v$ is also a column vector so $(A v)^T v$ is the actual scalar product.