Interpolation Axis for two Matrices

Click For Summary

Discussion Overview

The discussion revolves around the possibility of finding a rotation vector that can transform one orthogonal 3D matrix into another, specifically focusing on the implications for 3D transformation interpolation in programming. Participants explore methods related to linear algebra, matrix operations, and rotation matrices.

Discussion Character

  • Technical explanation
  • Mathematical reasoning
  • Debate/contested
  • Homework-related

Main Points Raised

  • One participant inquires whether it is possible to find a vector about which to rotate one orthogonal matrix to obtain another, suggesting this could simplify 3D transformations compared to quaternions.
  • Another participant proposes that the relationship between the matrices can be expressed as R_2 = R_3 R_1, leading to the conclusion that the sought vector is an eigenvector of R_3 with an eigenvalue of 1.
  • A participant expresses agreement with the eigenvector approach, noting it aligns with a prior discussion they had.
  • Further questions are raised about computational methods for finding the inverse of a matrix, specifically whether there are faster techniques than row reduction, and if properties of 3x3 rotation matrices can be leveraged.
  • One participant outlines a method for determining the angle of rotation about the axis after finding the rotation matrix, involving the use of a perpendicular unit vector and the calculation of the angle using the dot product.
  • Another participant references the property of orthogonal matrices where the inverse is equal to the transpose, and discusses how to derive the angle of rotation from the trace of the rotation matrix.
  • A link to additional resources is provided for further exploration of rotation matrices.

Areas of Agreement / Disagreement

Participants express various viewpoints on the methods for finding rotation vectors and angles, with some agreeing on the eigenvector approach while others raise questions about computational efficiency and alternative methods. The discussion remains unresolved regarding the best approach to take.

Contextual Notes

Participants mention specific methods and properties of matrices without reaching a consensus on the most efficient or effective techniques. There are also references to prior discussions and external resources that may influence the understanding of the topic.

Dissident Dan
Messages
244
Reaction score
1
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
Did you get the crown in a Maxim magazine?
 
LOL, I was expecing something substantive, and I got that.

No, it is not from a magazine.
 
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.)
 
K. It's the Burger King crown though, isn't it?
 
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.
 
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.)
 
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?
 
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:

Similar threads

  • · Replies 14 ·
Replies
14
Views
7K
  • · Replies 4 ·
Replies
4
Views
4K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 2 ·
Replies
2
Views
11K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 13 ·
Replies
13
Views
2K
  • · Replies 12 ·
Replies
12
Views
3K
  • · Replies 5 ·
Replies
5
Views
6K
  • · Replies 4 ·
Replies
4
Views
9K
Replies
3
Views
3K