Esta animación simula un
movimiento armónico simple (MAS)
en tiempo real, despreciando el rozamiento, de un resorte
horizontal. La animación hace uso del mínimo de fórmulas (ni
trigonometría ni cálculo diferencial), solo realiza las variaciones
necesarias en los vectores que dirigen el movimiento.
Una masa m, representada
por el punto azul M, se encuentra en el
extremo de un resorte o muelle de elasticidad constante k. Puedes
elegir, dentro de un intervalo, ambas constantes en el panel izquierdo.
Al iniciarse, la construcción
muestra el punto azul M en estado de reposo:
el resorte no ejerce ninguna fuerza sobre él. Arrastra
M hacia la derecha o hacia la izquierda para
estirar o comprimir el resorte. La distancia que lo arrastres determinará
la amplitud. Comprueba que, según arrastras M, el período teórico
no varía, pues no depende de la amplitud. El motivo es que a mayor
amplitud, mayor será la fuerza restauradora del resorte, así que al
final M recorrerá cada oscilación en el mismo
tiempo (demostraremos este isocronismo en la próxima actividad).
Esa separación de la posición de
reposo hará que el resorte se resista, apareciendo una aceleración
a (en verde) cuyo sentido es siempre hacia
el punto de reposo. Esta aceleración no es constante, sino que, en cada
posición de M, es proporcional a la distancia
x de M al punto de reposo.
Pulsa el botón
para activar la animación. La aceleración a
provoca que M adquiera una velocidad variable
v (en rojo). Su módulo es proporcional
a la elasticidad k y a la distancia x, e inversamente
proporcional a la masa m. Es decir, |a|
= k/m x.
-
Sabemos que la fuerza del resorte es, por un
lado, igual a la masa por la aceleración: m |a|, y
por otro lado, proporcional a la distancia x recorrida: k
x. De aquí se deduce que |a| = k/m
x.
Así que adecuamos a esta situación el guion del deslizador anima:
Valor(v,
v
+ dt a)
Es decir, cada vez que
pasa una cantidad de tiempo dt muy pequeña, por definición de
aceleración, la velocidad v aumenta
dt a.
Atención: puedes detener la animación en cualquier momento, pero si lo
haces deberás pulsar el botón Reinicia para actualizar el contador de
tiempo, en caso contrario su medición será errónea.
GUION DEL DESLIZADOR anima
# Calcula los segundos dt
transcurridos; para ello, suma un segundo si t1(1) < tt
Valor(tt, t1(1))
Valor(t1, Primero(TomaTiempo(), 3))
Valor(dt, (t1(1) < tt) + (t1(1) - tt)/1000)
# Mueve M (usamos un vector
auxiliar para retener el valor de vt antes de actualizar el valor de v)
Valor(aux, v)
Valor(v, v + dt a)
Valor(M, M + dt v)
# Registra el tiempo del período
y el número de oscilaciones completas
Valor(reg, Si(x(aux) > 0 ∧ x(v) < 0, Añade(t, reg), reg))
Valor(osci, Si(x(aux) > 0 ∧ x(v) < 0, osci + 1, osci))
|