Here, you see a double pendulum with respective masses 2 kg and 3 kg. The lengths of the two legs of the pendulum are 6 m, respectively 4 m. You can click on the inner mass and move it around to influence the motion of the pendulum.
Each type of dynamical system is represented by a Java class. On the following pages, you can try various different types of dynamical systems, and you can also experiment with changing their physical parameters.
Go here for a brief explanation of Lagrangian Mechanics, the physical principle on which the simulations are based. You can also find out how to define your own mechanical systems. You can also view the source code of the applet and a description of the applet parameters.
May 9, 2002: Here is a very fun applet which allows you to interactively contruct life-like mass-and-spring mechanical systems and animate them. Beware, this is addictive! Sodaplay.
May 8, 2002: Mark Napier has written a cool applet which simulates a wave by connecting a large number of masses with springs. You can click on masses and drag them around to stimulate the system. Click here to try it out. See also here for some additional cool animations.
August 23, 2001: Mehrtash Babadi has been working on a "Mechanical Workshop". The Workshop is originally based on my Lagrange applet, but has many new features, for instance, you can interactively put together mechanical systems from springs, and even record the motion and play it back later. There is a 2-dimensional and a 3-dimensional version of Mehrtash's Workshop. Both are available as "jar" files: you can start them by typing something like "java -jar filename.jar".
June 3, 2001: Following a suggestion by Peter Lynch, I modified the applet to use a fourth-order Runge Kutta method for solving the differential equation. This improves the naive Euler method used before, giving a more faithful simulation, as well as better (though not perfect) preservation of energy. Also added applet parameters that allow forced energy preservation to be turned on/off, and/or the total energy of the system to be displayed. For an example, check out the Spring Pendulum.
June 3, 2001: Fixed a bug in the MechSystem.solve() method pointed out by Mehrtash Babadi.
March 23, 2001: Peter Lynch has used the Lagrange Applet to display the motion of a three-dimensional Swinging Spring. He also modified the applet to use the Runge Kutta method, a better method for the numerical solution of differential equations.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
Click here to see the full GNU public license.
Back to Peter Selinger's Homepage: