Física en Flash: Mov. Armónico Inframortiguado
Un movimiento oscilatorio simple, es el que realiza un muelle ideal en que no hay perdidas de energía mecánica. Son muy bonitos, pero en esta vida nada es “ideal”, en la realidad, los movimientos oscilatorios, con el tiempo, van perdiendo su fuerza, y su movimiento se reduce hasta detenerse.
Pues esto, si sabemos la formula física que lo representa, no puede ser más sencillo de implementar en Flash (teniendo unos mínimos conocimientos de AS, claro)
Siguiendo la ecuación, es sencillo:

| No amortiguado | Amortiguado |
| |
Se pueden definir parámetros tales como:
- Frecuencia angular.
- Amplitud (En este caso se define por el drag).
- Angulo de fase inicial
- Coeficiente de amortiguamiento.(Beta, en este caso 0,2)
- Y el propio paso del tiempo.
Este es el código, siendo p la instancia del Movie Clip al que aplicamos el movimiento:
[as]A = 0;
w = 1;
O = 0;
t = 0;
Xo = 48;
Yo = 200;
b = 0.2; //coeficiente de amortiguamiento
p.onPress = function() {
delete (onEnterFrame);
t = 0;
this.startDrag(true, Xo, -1000, Xo, 1000);
};
p.onRelease = function() {
compartida();
};
p.onReleaseOutside = function() {
compartida();
};
function compartida() {
this.stopDrag();
A = p._y-Yo;
_root.onEnterFrame = function() {
p._y = A*Math.pow(Math.E, -b*t)*Math.cos(w*t+O)+Yo;
t += 0.1;
};
}
[/as]
El archivo original, *.fla, lo podrán encontrarán
aquí.
Post Relacionado: Física en flash: Movimiento pendular









