if (START)
{
y = l0; // Startort = Ruhefederlänge
vy = 0;
if (steps.drawButton(true)) // Schrittweite ändern
{
if (I < 16) I = I*2; else I = 1;
dt = 1.0/(I*frmRate);
}
if (INIT)
{
INIT = true;
START = false;
t = 0;
dt = 1/(I*frmRate);
}
}
else
{
...
for (var i = 0; i < I; i++)
{ // I-fache Wiederholung der Berechnung zur Zeitkorrektur
// Verlet
y_ = y;
y = y + vy*dt + (g - 2*d*vy - omega0*omega0*(y-l0))*dt*dt/2;
vy = vy + (2*g - 4*d*vy - omega0*omega0*(y_+y-2*l0))*dt/2;
t = t + dt;
...
}
}