Interpolation Axis for two Matrices

In summary, it is possible to find the vector about which to rotate one standard 3d, orthogonal matrix to get another, and it can be done using the eigenvector of the rotation matrix with an eigenvalue of 1. This method is more intuitive for programming 3d transformation interpolation than using quaternions. Additionally, there are efficient methods for finding the inverse of a rotation matrix and calculating the angle of rotation about the axis.
  • #1
Dissident Dan
238
2
If you have two standard 3d, orthogonal matrices representing axes of 3d coordinate systems of the same handedness, is it possible to find the vector about which you would rotate one of the matrices to get the other?

If so, this would be a lot more intuitive than quaternions (at least for me) for programming a computer to do 3d tranformation interpolation.
 
Physics news on Phys.org
  • #2
Did you get the crown in a Maxim magazine?
 
  • #3
LOL, I was expecing something substantive, and I got that.

No, it is not from a magazine.
 
  • #4
So, it seems you have [tex]R_2 = R_3 R_1 [/tex], where [tex]R_1[/tex] and [tex]R_2[/tex] are given orientation-preserving rotation matrices.
Solving for the unknown, [tex]R_2 R_1^{-1}=R_3[/tex].
When you rotate about an axis, you leave it unchanged.
So, the vector you seek is an eigenvector of [tex]R_3[/tex] (with eigenvalue 1). (This might be easier if you can take advantage of the fact [tex]R_3[/tex] is a rotation.)
 
  • #5
K. It's the Burger King crown though, isn't it?
 
  • #6
robphy said:
So, it seems you have [tex]R_2 = R_3 R_1 [/tex], where [tex]R_1[/tex] and [tex]R_2[/tex] are given orientation-preserving rotation matrices.
Solving for the unknown, [tex]R_2 R_1^{-1}=R_3[/tex].
When you rotate about an axis, you leave it unchanged.
So, the vector you seek is an eigenvector of [tex]R_3[/tex] (with eigenvalue 1). (This might be easier if you can take advantage of the fact [tex]R_3[/tex] is a rotation.)

Wow. This is the same exact method that a co-worker and I discussed earlier today.

Thanks for the reply.
 
  • #7
quasar987 said:
K. It's the Burger King crown though, isn't it?

Yes, it is. However, I modified it to say "Veggie King" and slapped a BK Veggie sticker on it. (I don't eat animals.)
 
  • #8
OK, I have a few more questions. This thread is becoming part programming, part linear & matrix algebra.

A) The only method that I can remember for finding the inverse of a matrix by reducing the matrix to the identity (row or column echelon) and applying the same row or coumn transformations to the identity. Is there a computationally faster method of doing this? Can one exploit the fact that 3x3 rotation matrix is composed of all orthogonal vectors to simplify the calculation?

Once I have the matrix [tex]R_3[/tex] (which transforms [tex]R_1[/tex] into [tex]R_2[/tex]) and the axis of rotation, I have the following method in mind for finding the angle of rotation about the axis:

1) Pick a unit vector [tex]V[/tex] that is perpendicular to the axis
2) Multiply [tex]V[/tex] by [tex]R_3[/tex] to get a new, rotated vector [tex]V_2[/tex]
3) Calculate the angle between [tex]V[/tex] and [tex]V_2[/tex] using [tex]acos(V dot V_2)[/tex] (this limits the range to [0,PI])

B) Do you see any problems with doing it this way? Is there a better (computationally faster or otherwise) method for doing this?
 
  • #9
http://mathworld.wolfram.com/OrthogonalMatrix.html

So, if A is an orthogonal matrix, then inverse(A)=transpose(A).

Next, suppose you found the eigenvector of R3 (with eigenvalue 1).
If you express R3 in a basis that includes your eigenvector, then
your rotation matrix would have a diagonal with entries 1,cos(theta),cos(theta).
The trace of R3 (the sum of the diagonals) in this basis is equal to its trace in the original basis. So, without chaging bases, trace(R3)=1+2cos(theta). Solve for theta.

After googling, the following URL suggests a more efficient method
http://www.math.niu.edu/~rusin/known-math/97/rotations
 
Last edited by a moderator:

What is an interpolation axis for two matrices?

An interpolation axis for two matrices is a way to find intermediate values between two given matrices. It involves creating a new matrix that lies between the two original matrices and fills in the missing values based on a certain algorithm or formula.

Why is an interpolation axis useful in scientific research?

An interpolation axis is useful in scientific research because it allows for more precise and accurate data analysis. By filling in missing values between two matrices, it can provide a more complete understanding of the data and can help identify patterns or trends that may not have been apparent before.

What are some common methods used for creating an interpolation axis?

Some common methods used for creating an interpolation axis include linear interpolation, cubic interpolation, and nearest neighbor interpolation. Each method has its own advantages and disadvantages, and the choice of method may depend on the specific data and research goal.

Can an interpolation axis be used for matrices with different dimensions?

Yes, an interpolation axis can be used for matrices with different dimensions. However, the algorithm or formula used for filling in the missing values may need to be adjusted to account for the differences in dimensions.

What are some potential limitations of using an interpolation axis?

Some potential limitations of using an interpolation axis include the assumption that the data follows a certain pattern or trend, which may not always be the case. Additionally, the accuracy of the interpolated values may also depend on the quality and completeness of the original data.

Similar threads

  • Linear and Abstract Algebra
Replies
2
Views
582
  • Linear and Abstract Algebra
Replies
14
Views
5K
  • Linear and Abstract Algebra
Replies
8
Views
2K
  • Linear and Abstract Algebra
Replies
1
Views
949
  • Linear and Abstract Algebra
Replies
4
Views
2K
  • Linear and Abstract Algebra
Replies
1
Views
2K
Replies
6
Views
1K
  • Linear and Abstract Algebra
Replies
5
Views
1K
  • Classical Physics
Replies
6
Views
608
  • Linear and Abstract Algebra
Replies
6
Views
1K
Back
Top