The Gyroscope program computes and displays the dynamics of a gyroscope under the influence of a gravitational torque acting on the center of mass. The gyroscope is supported at one end and given an initial angular velocity component about its axis of symmetry and a component perpendicular to its axis of symmetry. The numerical solution shows the motion for all initial conditions including zero initial angular momentum. The model is designed to show the cycloidal motion (precession and nutation) of the gyroscope axle when the initial angular velocity is large. Users can very the position and radius of the spinning mass as well as the initial angle and can display the angular momentum, angular velocity, and torque vectors. A second window shows the elevation angle of the axle and the angular momentum vector.

Units are chosen such that the total mass M and the acceleration of gravity g are one. The rotor is an ellipsoid with a uniform mass distribution and with major axes 2*R and minor axis R/5. The ellipsoid's moment of inertia through the center of mass is 4MR2/5 about the major axes and 26MR2/125 about the minor axis.


The Gyroscope Java model was developed by Wolfgang Christian using the Easy Java Simulations (EJS) modeling and authoring tool created by Francisco Esquembere in Murcia, Spain. It was later converted from Java to JavaScript by Wolfgang Christian and Robert Hanson using the SwingJS system developed by Hanson and his students at St. Olaf College.

Updated 10 August 2020.