Hover over the menu bar to pick a physics animation.

Vibrating String Animation

In this animation we show the motion of the the masses and springs of a discrete model of a taut string such as used in musical instruments. We permit a variety of initial conditions including a sine wave form with a choice of 1 to 4 half waves and, more practically, an asymmetrical triangle wave. The latter wave shape emulates the initial shape of a string that is not plucked at its center. All of the initial wave forms have and maintain zero displacement with respect to their anchors at either end as would be expected for a musical string. A wave on a taut string is characterized by its phase velocity `c=sqrt(T/mu)` where `T` is the constant tension of the string and `mu` is the mass per unit length. I chosen to make the string tension `T=5` and the all the masses are equal `M=1`. The other important parameter of the wave motion is the frequency `f=c/lambda`, where `lambda` is the wavelength of a full sinusoid on the string. Since the displacements at the ends of the string must be zero, a full wavelength is equal to the space between the string ends. This results in the expression for the first harmonic `f_1=sqrt(T/mu)(1/(2L))`. The number of first harmonic oscillation periods accomplished since the last input parameter change is printed in the center of the page. The total distance the wave components travel, `c*"time"`, is also printed there.

I introduce the term node in this animation. For this animation, a node is either a mass or one of the two end points. To analyze the frequency content we will use the Cooley-Tukey Fast Fourier Transform (FFT). Since the total number of nodes we can have if we want to use a FFT has to be `2^n`, the number of masses has to be `(2^n)-2` or `n_(Nodes)-2.`

I'll also introduce the term element in this animation. The elements here are the springs or spaces between the nodes and therefore the number of elements has to be `2^n-1`.

With 16 nodes, the wave speed is 20 pixels per computer time increment. When the wave is initiated from the left the learner should observe, when it reaches the right end of the string, that c*time=1000 pixels where the total length of the string is 1200. To see that this is so it is best to check the "Single Step" box and repeat pressing the Start button 50 times. As is readily seen in the harmonic frequency plots, harmonics of order `n` have frequencies `f_n=sqrt(T/mu)(n/(2L))` where `(2L)/n` are their spatial wavelengths.

The initial wave forms of sinusoidal waves are symmetrical so their string movements generally repeat their their initial shape and have very few harmonics.

When the triangular wave is symmetrical about its center, the second harmonic of its spatial Fourier transform is zero. After the string vibrates for a while, the second harmonic becomes active. For the initial triangular wave and for the initial sine wave with an odd number of lobes, it is very important to understand that the Fourier transform correlates these with integer numbers of full waves so that we cannot expect the resulting re-construction of the constituents to look like a half wave. The only 'pure' wave re-constructions that we expect are the ones of the sine wave with even integer numbers of lobes.

In the animation, the learner has a selection of triangular wave center displacement, number of nodes, and the initial maximum displacement.

Below the string animation I plot several things:

1. The unique frequencies obtained from the FFT are plotted as vertical red spikes at their respective harmonic position and labeled at the bottom. When the number of nodes is 2^n, we willl have 2^(n-1) distinct frequencies as well as the zero frequency.

2. Plots in black of all various sine waves, A cos(nkx+phase), making up the Fourier emulation of the actual displacement of the springs where n is the harmonic number, k=2pi/len and phase is the phase of the FFT component.

3. A plot in blue that is the sum of all the frequency components of the FFT emulation of the wave. We cannot expect this plot to exactly emulate the mass displacements since those have discontinuous slopes.