myPhysicsLab provides JavaScript classes to build real-time interactive animated physics simulations.
Besides the links on this page for each class and interface, see also:
The myPhysicsLab website shows the simulations running and contains explanations of the math behind them.
Building myPhysicsLab Software has information about building, testing, internationalization, and general programming issues.
The How Does It Work? section of myPhysicsLab explains how physics simulations work in general.
myPhysicsLab Architecture is the best place to start for understanding the software.
2D Physics Engine Overview covers the rigid body physics engine.
Customizing myPhysicsLab Simulations tells how to customize using only a browser and text editor.
myPhysicsLab is provided as open source software under the
Apache 2.0 License. See the accompanying file
named LICENSE. The author is Erik Neumann
erikn@myphysicslab.com.
Source code is available at https://github.com/myphysicslab/myphysicslab.
Here are the namespaces of myPhysicsLab, with a few representative classes and interfaces listed for ease of browsing.
myphysicslab.lab.app helper classes for applications
myphysicslab.lab.controls user interface controls
myphysicslab.lab.engine2D 2D rigid body physics engine
myphysicslab.lab.graph create graphs of simulation variables
myphysicslab.lab.model the model of a simulation, including variables,
differential equation solvers, physics objects
myphysicslab.lab.util utility classes, including Subject, Observer, Parameter
myphysicslab.lab.view displays simulation objects in a canvas
myphysicslab.sims.engine2D applications displaying rigid body physics engine simulations
myphysicslab.sims.experimental applications using myphysicslab classes
in experimental ways
myphysicslab.sims.common utility classes used by myphysicslab applications
myphysicslab.sims.pde applications displaying simulations using
partial differential equations
myphysicslab.sims.pendulum applications displaying pendulum simulations
myphysicslab.sims.roller applications displaying roller coaster simulations
myphysicslab.sims.springs applications displaying spring simulations
myphysicslab.test tests of myphysicslab classes