Simple pendulum and SHM
This activity belongs to the GeoGebra book The Domain of the Time.
This animation compares the motion of the simple pendulum with that of the corresponding harmonic motion in real time, disregarding the weight of the rod and friction. The animation does not use formulas (neither trigonometry, nor equations, nor differential calculus), but only performs the necessary variations in the vectors that direct the movement.
A mass m, represented by the blue point M, is located at the end of the rod, which has a length l. We denote g as the vector of gravitational acceleration.
At the same time the pendulum oscillates, a spring activates the simple harmonic motion, in the horizontal direction, of the mass m (in this case represented by the small green point MM, with velocity vv), with the amplitude corresponding to the angular amplitude of the pendulum. For this, we take the spring constant of elasticity:
Notice that when this angular amplitude is small, the period of oscillation of the pendulum is almost identical to that of simple harmonic motion. However, if we vary the initial position so that the angular amplitude is greater, the two movements begin to desynchronize.
SCRIPT FOR SLIDER anima
# Calculate the elapsed seconds dt; add one second if t1(1) < tt
SetValue(tt, t1(1))
SetValue(t1, First(GetTime(), 3))
SetValue(dt, (t1(1) < tt) + (t1(1) − tt)/1000)
# Move M
SetValue(aux, vt)
SetValue(v, vt + dt gt)
SetValue(M, M + dt v)
# Move MM (the small green point of the simple harmonic motion, with velocity vv and acceleration f + a)
SetValue(vv, vv + dt (f + a))
SetValue(MM, MM + dt vv)
# Record the period time and the number of complete oscillations
SetValue(reg, If(x(aux) < 0 ∧ x(vt) > 0, Append(t, reg), reg))
SetValue(osci, If(x(aux) < 0 ∧ x(vt) > 0, osci + 1, osci))
Author of the activity and GeoGebra construction: Rafael Losada.