Compute the Euler Axis and Angle Geometrically

Initializing live version
Download to Desktop

Requires a Wolfram Notebook System

Interact on desktop, mobile and cloud with the free Wolfram Player or other Wolfram Language products.

Euler's rotation theorem states that any rigid motion that leaves the origin fixed is a rotation about an axis through the origin. Given the images , , of the three unit vectors , , (in which case constitutes a rotation matrix), there are various methods to determine the so-called Euler rotation axis and angle. This Demonstration illustrates a geometric method.

Contributed by: Tom Verhoeff (Eindhoven University of Technology) (May 2021)
Open content licensed under CC BY-NC-SA



Use the sliders "" (longitude), "" (latitude) and "" (roll) to set the orientation of the orthonormal system , which represents a rigid motion of the initial orthonormal system . The "sphere" and "sectors" buttons may help you see how this works. Given , and , the goal is to determine the axis and angle of the rotation that transforms to .

The rotation maps to , and hence the rotation axis lies in the bisector plane of the angle , since that axis must make equal angles with and . Similarly, the rotation axis lies in the bisector planes of angles and .

The first step is to construct the "displacements" , , . These displacement vectors are the normals of the "bisector planes" of the angles , and . If two vectors and are aligned, then their bisector plane is not uniquely determined (it fills space). These bisector planes intersect in a single line, which is the rotation axis. Its direction can be found as the cross product of a pair of displacement vectors. This results in (a maximum of) three candidate axes. Quantitatively, it is best to take the longest candidate as the axis. The "projections" of the three vector pairs on the plane perpendicular to the axis give (a maximum of) three candidates for the rotation "angle". Again, taking the longest pair is best (a projection could have length zero, in which case it cannot be used to determine the angle). The "info" box shows the numeric values for axis and angle.

You can examine some unlabeled entities with tooltips. You can disable various elements. Control the opacity of the planes with the "plane opacity" slider.

Feedback (field required)
Email (field required) Name
Occupation Organization
Note: Your message & contact information may be shared with the author of any specific Demonstration for which you give feedback.