The canvas above shows a system of masses connected to springs. Each colored arc is one mass. Its position along the arc shows displacement — how far the mass has moved from rest. The further the arc's endpoint swings from the center line, the greater the potential energy of the "spring". As the mass swings through equilibrium it obtains its highest kinetic energy and the color of the mass turns brightest.
Click anywhere on the canvas to begin. Sound starts on your first interaction. Click on an arc and drag it to pull the mass away from equilibrium. Release to let it go. The mass oscillates, and you hear a tone whose loudness follows the mass's velocity — loud when it moves fast, quiet at the turning points.
Click in the empty space beyond the outermost arc to add a new mass. Each mass gets its own pitch, spaced a perfect fifth above the last. To remove the outermost mass, press - to switch to the delete tool and click it. Press V to return to the default pointer tool.
Click in the gap between two adjacent arcs to toggle a coupling spring. When two masses are coupled, energy transfers between them — you see them trade motion back and forth. Double-Click the gap between coupled masses to disconnect them. Masses can also be connected to or disconnected from "ground" by clicking where the arc meets the bottom of the canvas.
Press H for the hold tool. Clicking a mass pins it in place as a boundary condition. The system's modes and frequencies change instantly — the eigenanalysis reruns with fewer degrees of freedom. Click a fixed mass again to release it. Press R to release all fixed and forced masses at once.
Press F to apply a harmonic force to the right-side outermost mass. When forcing is active, a frequency button will appear in the menu on the left. Click and drag to increase or decrease the frequency of the forcing.
Open up the Physics tab at the bottom of the canvas and check the "Mode Shapes" box. A series of lines which appear like constellations will indicate how the system's natural modes are activated. In the SCENES buttons, a series of numbers can be clicked which will cause the system to oscillate in these modes.
Open up the physics, geometry and sound tabs for more detailed control over the system parameters. Every mass-spring configuration here is solved as a matrix eigenvalue problem. The stiffness and mass matrices define the system; the eigenvectors are mode shapes and the eigenvalues give natural frequencies. The simulation computes the exact closed-form solution for each mode as a damped sinusoid. When you change a spring or add a mass, the eigenproblem is re-solved and the current motion is reprojected into the new basis. Sound is driven by physical velocities.