UCM: Uniform Circular Motion
This activity belongs to the GeoGebra book The Domain of the Time.
After creating, as we have seen, a time record, we place a point M (representing a mass m) at a distance r from point O. If we call ω a constant angular velocity (in radians) and substitute in the slider anima the instruction:
SetValue(M, M + dt v)
with this other one:
SetValue(M, Rotate(M, dt ω, O))
then M will move in uniform circular motion around O.
To keep track of the time taken for each lap and the number of laps completed, we create the lists reg and regDif:
reg = {0}
regDif = If(Length(reg) ≟ 1, {reg(1)}, Sequence(reg(k) - reg(k + 1), k, 1, Length(reg) - 1))
Thus, the average animation time after a complete lap, that is, the period of the animation, will be given by:
T = mean(regDif)
We find the mean of all the recorded periods because, although theoretically all of them should be equal, as the animation does not follow continuous motion but rather at intervals dt, small deviations may occur in each lap. Now we just need to add the following instructions to the slider anima script:
SetValue(reg, If(y(M) < 0 ∧ y(Rotate(M, dt ω, O)) ≥ 0, Append(t, reg), reg))
SetValue(laps, If(y(M) < 0 ∧ y(Rotate(M, dt ω, O)) ≥ 0, laps + 1, laps))
- Note: Since any circumference measures 2π radians, the theoretical period should be 2π/ω. In that time, M should cover the circumference 2πr, so the magnitude of the tangential velocity v (which appears in the construction) should be equal to 2πr divided by 2π/ω, that is, |v| = ω r.
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)
# Register the lap time and the number of laps completed
SetValue(reg, Si(y(M) < 0 ∧ y(Rotate(M, dt ω, O)) ≥ 0, Append(t, reg), reg))
SetValue(laps, Si(y(M) < 0 ∧ y(Rotate(M, dt ω, O)) ≥ 0, laps + 1, laps))
# Move M
SetValue(M, Rotate(M, dt ω, O))
Author of the activity and GeoGebra construction: Rafael Losada.