Rotational Matrices and Vectors

244 Views Asked by At

Lets say I have a rotational matrix obtained by Euler Angles (A) where,

$$A= \begin{pmatrix} 0.99\ 0.11\ 0.01 \\ 0.11 \ 0.99 \ 0.03 \\ 0.97 \ 0.03 \ 0.99 \end{pmatrix}$$

Now lets say I want to look at how the X and Y vectors have been rotated.

I would then multiply,

$A \times [100] $ for the X vectors and $A \times [010]$ for the Y vectors.

For example If I look at how the X vectors are rotated in in matrix A, we get

$[0.99 \ \ \ \ 0.11\ \ \ \ 0.01]$

What I am struggling to understand is what each of these 3 numbers are. Are these Cartesian coordinates, or is this looking at the positions of X with respect to XYZ reference frame. I need to understand exactly what I am looking at.

Any help would be greatly appreciated.

2

There are 2 best solutions below

0
On BEST ANSWER

Yes, there are geometric interpretations to the rows or columns of a rotation matrix.

I will use the OP's matrix as written, even though it is not a rotation matrix (its determinant is not +1).

$A=\begin{pmatrix} 0.99 & 0.11 & 0.01 \\ 0.11 & 0.99 & 0.03 \\ 0.97 & 0.03 & 0.99\end{pmatrix}$

Further, I use the convention that the rotation matrix is on the left of a column vector. Perhaps the OP's convention is that the rotation matrix is on the right of a row vector.

There are two different ways of interpreting what a rotation matrix does to a point:

  1. ("Alibi") there is a single fixed coordinate system and the matrix rotates the given point to a new location; or

  2. ("Alias") the point is fixed and the matrix rotates a given coordinate system to another coordinate system.

See Wikipedia.

The senses or directions of rotation are opposite in the two interpretations. If for example we say that an alibi interpretation rotates points counter-clockwise, then the same matrix under the alias interpretation rotates coordinate systems clockwise.

Alibi

In the first interpretation, applying the matrix to the point along the X axis

$A * [1, 0, 0]^T$

selects the first column of the matrix and results in the point $[0.99, 0.11, 0.97]^T$ (OP selected the first row). These are the coordinates of what was the X axis but rotated to a different point in the same coordinate system -- the X,Y,Z axes of the coordinate system have not changed, but the point's location has. The point $[1,0,0]^T$ is now at $[0.99, 0.11, 0.97]^T$.

Likewise, multiplying the matrix and the point along the Y axis $[0, 1, 0]^T$ selects the second column of the matrix, $[0.11, 0.99, 0.03]^T$. These are the coordinates of what was the Y axis but again rotated to a different point in the same coordinate system.

You can probably guess the interpretation of multiplying the matrix with $[0, 0 ,1]^T$: $[0.01, 0.03, 0.99]^T$ are the coordinates of a point on what was the Z axis but now has been rotated somewhere else in the same coordinate system.

In this alibi interpretation, the three columns of the rotation matrix represent three points originally on the X,Y,Z axes but rotated to new positions, all expressed in the same coordinate system after rotation as before.

Alias

In the second interpretation, we do exactly the same operations but interpret the results differently. We say the point hasn't changed position, but that its coordinates are expressed in a different coordinate system. It's the coordinate system which rotated, not the point.

Lets label the two coordinate systems 'a' and 'b'. We apply the matrix to coordinate system a's X-axis point $[1, 0, 0]^T$ and get $[0.99, 0.11 , 0.97]^T$ again. In this case, these are the coordinates of the same X-axis point but expressed in different coordinate system b. The point didn't move, but its coordinates changed. Likewise for $[0, 1, 0]^T$ and $[0, 0, 1]^T$.

In this alias interpretation, the three columns of the rotation matrix represent three points (along a's X,Y,Z axes) but they are expressed in coordinate system b.

It can be useful to label points with the coordinate system which they are expressed in. In our example, $X_a = [1,0, 0]^T$ and $X_b = [0.99, 0.11, 0.97]^T$. We can also label the rotation matrix with the two coordinate systems that it links. The following notation is non-standard: ${}_bA_a$ means 'A' is the matrix that rotates a point from coordinate system 'a' to coordinate system 'b'. Now we write:

$X_b = {}_bA_a * X_a\qquad(1)$

As we read from right to left, the X point labeled with 'a' encounters the 'a' side of matrix 'A' and gets turned into the 'b' side, the X point labeled with 'b'.

This applies equally well to any point such as $P$: $P_b = {}_bA_a * P_a$.

Rows

We can imagine there is some matrix ${}_aA_b$ that rotates in the opposite direction:

$X_a = {}_aA_b * X_b\qquad(2)$

To find this matrix from b to a, we multiply Eq. (1) on the left by the inverse of ${}_bA_a$:

${}_bA_a^{-1} * X_b = {}_bA_a^{-1} * {}_bA_a * X_a = X_a$

or

$X_a = {}_bA_a^{-1} * X_b.\qquad(3)$

So ${}_aA_b$ in (2) equals the inverse of ${}_bA_a$ in (3), where ${}_bA_a$ was given in (1). As is well known, the inverse of a rotation matrix is its transpose. So

${}_aA_b = {}_bA_a^{-1} = {}_bA_a^T.\qquad(4)$

We can apply the same alias insights to matrix ${}_aA_b$ in (2) as we did for the original ${}_bA_a$ matrix in (1). Namely, its columns represent points on b's X,Y,Z axes but are expressed in a's coordinates. And, since the columns of transposed matrix ${}_bA_a^T$ in (4) are the rows of ${}_bA_a$ in (1), we can equally say that the rows of original matrix ${}_bA_a$ represent points on b's X,Y,Z axes but expressed in a's coordinates.

In summary, we are given a rotation matrix ${}_bA_a$ and the alias interpretation where some fixed point is represented in two different coordinate systems a and b related by

$X_b = {}_bA_a * X_a$

  • The columns of ${}_bA_a$ represent points on a's X,Y,Z axes but expressed in b's coordinates.
  • The rows of ${}_bA_a$ represent points on b's X,Y,Z axes but expressed in a's coordinates.
0
On

I'm not sure if I understand your question but I think you're trying to understand what would happen to the a coordinate (x or y or z) after it gets rotated. If that's the case, then the 2D rotation example below shows how the 'old' x coordinate got rotated to become: $ x\cos \theta -y\sin \theta $. $$ {\displaystyle R\mathbf {v} ={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \end{bmatrix}}{\begin{bmatrix}x\\y\end{bmatrix}}={\begin{bmatrix}x\cos \theta -y\sin \theta \\x\sin \theta +y\cos \theta \end{bmatrix}}.} $$