Using Eigenvalue Analysis to Rotate in 3D

The continuous rotation of one right-handed coordinate system into another depends on the axis of rotation, the angle, and the sense of rotation. All these can be obtained from the eigenvalues and vectors of the change of basis matrix. (The matrix inverse gives only the end state of the rotation.) This Demonstration shows the axis of rotation and a slider that governs the rotation.


  • [Snapshot]
  • [Snapshot]
  • [Snapshot]


In engineering we often want to transform quantities such as forces from one coordinate system into another. So consider an arbitrary right-handed coordinate system relative to a fixed coordinate system. We know the components of the unit vectors , , and along the , , and axes. Then, any vector given in the system can be resolved in the system using simple matrix inversion. That is, if we assemble the matrix of components
and if the vector is given in the system as
then the same vector is given in the system by
However, matrix inversion only tells us the start and end states of the vector and not the process of rotation from one coordinate system to another, namely, the axis about which the system is rotated to bring it to the system, the angle of rotation , and the sense of the rotation (clockwise or counterclockwise).
The process [1] involves finding the eigenvalues and eigenvectors of . The eigenvector corresponding to the eigenvalue of 1 gives the axis ; it is the only eigenvector whose components are all real. The two other eigenvalues are and , whose eigenvectors are complex.
Therefore, by suitably ordering the eigenvalues and eigenvectors with the real part of the eigenvalues, the vector can be deduced. That is, is the eigenvector of the eigenvalue whose real part is the maximum.
The value is given by
Suppose the sense of rotation is defined in the direction of using the value defined as follows:
Take one of the complex eigenvectors and let . Then
In this Demonstration, a random right-handed coordinate system with gray planes is first generated. (You can generate a new system to see different cases.) The fixed system (red axes and planes) is generated by taking the inverse of the column matrix . Use the slider to continuously rotate the system (blue axes and planes) about the vector (purple) into the system.
[1] L. Sadun. Rotation in 3 Dimensions [Video]. (Nov 21, 2014) www.youtube.com/watch?v=5BtDR25TE8k.
    • Share:

Embed Interactive Demonstration New!

Just copy and paste this snippet of JavaScript code into your website or blog to put the live Demonstration on your site. More details »

Files require Wolfram CDF Player or Mathematica.

Mathematica »
The #1 tool for creating Demonstrations
and anything technical.
Wolfram|Alpha »
Explore anything with the first
computational knowledge engine.
MathWorld »
The web's most extensive
mathematics resource.
Course Assistant Apps »
An app for every course—
right in the palm of your hand.
Wolfram Blog »
Read our views on math,
science, and technology.
Computable Document Format »
The format that makes Demonstrations
(and any information) easy to share and
interact with.
STEM Initiative »
Programs & resources for
educators, schools & students.
Computerbasedmath.org »
Join the initiative for modernizing
math education.
Step-by-Step Solutions »
Walk through homework problems one step at a time, with hints to help along the way.
Wolfram Problem Generator »
Unlimited random practice problems and answers with built-in step-by-step solutions. Practice online or make a printable study sheet.
Wolfram Language »
Knowledge-based programming for everyone.
Powered by Wolfram Mathematica © 2018 Wolfram Demonstrations Project & Contributors  |  Terms of Use  |  Privacy Policy  |  RSS Give us your feedback
Note: To run this Demonstration you need Mathematica 7+ or the free Mathematica Player 7EX
Download or upgrade to Mathematica Player 7EX
I already have Mathematica Player or Mathematica 7+