Square root of a rotation matrix

In summary, the conversation discusses the problem of finding the square root of a 4x4 matrix in order to move two objects simultaneously in a specific rest position relative to each other. The solution involves calculating the square root of a 3x3 rotational matrix using an eigen decomposition and then using that to calculate the desired movement. However, there is difficulty in finding the eigen vectors and values of the matrix, as well as potential issues with an infinite number of solutions if a reference point is not given. The use of the Denman-Beavers square root iteration algorithm is suggested as a possible solution.
  • #1
yetar
54
0
I am having a hard time figuring this out.
Suppose we have a 4x4 matrix A, B and rotation matrix D.
Matrix A represent position and orinetation of object1, matrix B represent position and orientation of object2. Matrix D is the position and oreintation of object2 relative to object1.
B = D*A
D is a constraint on object1 and object2, meaning when B=D*A, then the two objects are in rest position relative to each other.
If the the position of object2 is L relative to object1, I want to fix their position so, B*A^(-1) = D, they will keep the rest position.
This can be done by doing B' = D*L^(-1)*B,
Since B = L*A.
However, I do not want only to move B, but I would rather want to move both A and B the same distance and orientation, each one half way through, so the result of this movement will be so that B*A^(-1) = D
This can be done this way:
E = D*L^(-1)
B' = (E^0.5)*B
A' = D^(-1)*(E^0.5)*B
Now the big problem is this:
How do I calculare E^0.5?
First of all, E is not an exact rotation matrix because it is a 4x4 matrix and the 4th row is a "translation vector".
But even if I have a 3x3 matrix, it is hard to calculate the square root of this matrix.
Lets look on a 3x3 rotational matrix.
In order to calculate the square root of it, we need a eigen decomposition of this matrix. After doing that, we take the square root of each component of the diagonal part of the eigen decomposition, we multiply by the matrix and its inverse matrix that are made of the eigen vectors as columns and we get the square root of the rotation matrix.
But how do I find the eigen vectors and eigen values of the matrix? given it is a rotational matrix.
I need some algorithm to calculate those, so I can calculate the square root of the matrix.
Also, I was told that there are infinent solution of a reference point is not given?
But it is a square root, so there should be only two solutions?

I would greatly appreciate help on this matter, I have been trying to solve this the whole day.
 
Physics news on Phys.org
  • #3


First of all, it's important to understand that finding the square root of a rotation matrix is not a straightforward task and can be quite complex. It requires knowledge of linear algebra and matrix calculations. So it's understandable that you are having a hard time figuring it out.

To calculate the square root of a rotation matrix, you can use the eigen decomposition method as you mentioned. This involves finding the eigenvalues and eigenvectors of the matrix and using them to construct the square root. However, this method can be quite computationally intensive and may not always be feasible.

Another approach is to use quaternion representation of rotations. Quaternions are a mathematical concept that can be used to represent rotations in 3D space. They have the advantage of being able to easily compute the square root of a rotation. However, this method may require some understanding of quaternions and their operations.

In terms of the infinite solutions, this is because a rotation matrix has four parameters (three for orientation and one for translation), while its square root has only three parameters. This means that there are multiple ways to represent the same square root, leading to infinite solutions. However, if you specify a reference point, this can help narrow down the solutions to just two possibilities.

In conclusion, finding the square root of a rotation matrix is a complex task that requires a good understanding of linear algebra and matrix operations. It's important to carefully consider which method to use and to understand the limitations and potential solutions for the infinite solutions issue.
 

1. What is a square root of a rotation matrix?

A square root of a rotation matrix is a matrix that, when multiplied by itself, results in the original rotation matrix. It represents the original rotation matrix being applied twice.

2. Can a rotation matrix have more than one square root?

Yes, a rotation matrix can have an infinite number of square roots. This is because any rotation can be represented by an infinite number of angles, and each angle will have a corresponding square root of the rotation matrix.

3. How is the square root of a rotation matrix calculated?

The square root of a rotation matrix can be calculated using a variety of methods, including the eigenvalue decomposition, the Cayley transform, or the scaling and squaring method. Each method has its own advantages and disadvantages.

4. What is the relationship between a rotation matrix and its square root?

The square root of a rotation matrix is closely related to the original rotation matrix. They both represent the same rotation, but the square root may have a different orientation or scale factor. The square root matrix can also be thought of as a "half-rotation" in the same direction as the original rotation.

5. Why is the square root of a rotation matrix important in computer graphics?

The square root of a rotation matrix is important in computer graphics because it allows for efficient and accurate interpolation of rotations. This is especially useful in animation, where smooth transitions between different orientations are necessary. Additionally, the square root can be used to decompose a rotation into smaller, more manageable rotations.

Similar threads

  • Linear and Abstract Algebra
Replies
6
Views
516
  • Linear and Abstract Algebra
Replies
8
Views
1K
  • Linear and Abstract Algebra
Replies
1
Views
924
  • Linear and Abstract Algebra
Replies
7
Views
2K
  • Linear and Abstract Algebra
Replies
5
Views
1K
  • Linear and Abstract Algebra
Replies
2
Views
2K
  • Linear and Abstract Algebra
Replies
2
Views
1K
  • Linear and Abstract Algebra
Replies
1
Views
2K
  • Linear and Abstract Algebra
Replies
1
Views
1K
Replies
10
Views
2K
Back
Top