How many elements of a 3x3 Rotation matrix are redundant?

1.8k Views Asked by At

I read the following and got curious:

A rotation matrix is an array of nine numbers. These are subject to the six norm and orthogonality constraints, so only three degrees of freedom are left: if three of the numbers are given, the other six can be computed from these equations.

I know that the matrix only has three degrees of freedom, but the last statement (emphasis mine) is obviously not literally true. Given these seven elements: $$ \left[ \begin{array}{rrrr} . & 0 & 0 \\ 0 & . & 0 \\ 0 & 0 & 1 \end{array}\right] $$

There are at least two possible solutions (1, 1 or -1, -1) which gives me valid but different rotation matrices (a rotation of 180° around the Z axis). So, if I can't choose which elements are revealed to me, I apparently need to know eight elements to be certain about the last.

Is there any way to rephrase the quote above which makes it true (are diagonal matrices an exception?). I know for instance, that if I have the following six elements: $$ \left[ \begin{array}{rrrr} a & b & c \\ d & e & f \\ . & . & . \end{array}\right] $$ I can deduce the last row by using the cross product of the first two (and choose a sign based on handedness).

Can I get away with less than these six elements?

3

There are 3 best solutions below

0
On

The degrees of freedom (DOF) refers to continuous variables. For example, the rotations in two dimensions are determined by $\ \cos(\theta)^2 + \sin(\theta)^2 = 1 \ $ which has one DOF. However, if given $\ \cos(\theta) \ $ then all we can tell is that the other parameter is $\ \sin(\theta) \ $ or $\ -\sin(\theta). \ $ In general, if $\ p(x) \ $ is a polynomial of degree $\ n \ $, then $\ p(x) = 0 \ $ has no DOF and still has $\ n \ $ roots counted up to multiplicity.

Your last question about using less than six elements is yes with the proviso, as in the 2D rotation case, that the remaining values are not uniquely determined. Each row and column of a 3D rotation matrix has norm one. This gives two DOF. Also any two rows or two columns are orthogonal which reduces the DOF by one. The end result is, as you wrote, that there are three DOF in a rotation matrix.

3
On

Well, the way to best think about it is probably the following: the group of rotations $SO(n)$ is a manifold of dimension $\frac{n(n-1)}{2}$ for every positive integer $n$. This means you can construct local diffeomorphisms from $SO(n)$ to $\mathbb{R}^{\frac{n(n-1)}{2}}$, which are in particular bijective maps. For $n=3$, we have $\frac{n(n-1)}{2} = 3$, which means that (locally on $SO(3)$!) every rotation matrix is determined uniquely by 3 real numbers. This is what is meant by 3 degrees of freedom. Does this mean you can compute a unique rotation matrix given 3 real numbers? No, it doesn't, but if you have three real numbers and a diffeomorphism as above you can. However, this matrix will only be unique on the domain of the diffeomorphism.

See also https://en.wikipedia.org/wiki/Charts_on_SO(3) for details.

4
On

The statement is literally true in the sense that a set of 6 elements can be computed when only three are known. That might not be a unique solution, but a solution.

Here is an example. I totally picked at random the known 3 elements of the following matrix

$$ \mathrm{R} = \left[ \matrix{ a & 0.87 & b \\ c & d & -0.05 \\ 0.14 & f & g } \right] $$

The remaining unknown elements $a$, $b$, $c$, $d$, $f$ and $g$ are calculated from

$$ \mathrm{R}^\intercal \mathrm{R} = \mathbf{1} $$ or in expanded form $$ \left[ \matrix{ a^2+c^2 + 0.0196 & 0.87a+c d+0.14 f & a b-0.05c + 0.14g \\ \cdots & d^2+f^2 + 0.7569 & 0.87 b - 0.05d+ f g \\ \cdots & \cdots & b^2+g^2+0.0025 } \right] = \left[ \matrix{1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1} \right] $$

One of the solutions is

$$ \mathrm{R} = \left[ \matrix{ -0.447500684015486 & 0.87 &0.206985839625979 \\ 0.883257118740444 & 0.466215467562293 & -0.05 \\ 0.14 & -0.160446682127340 & 0.977065433936913} \right] $$