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
// leapfrog
vy_ = vy + (g - 2*d*vy - sq(omega0)*(y-l0))*dt/2;
y = y + vy_*dt;
vy = vy_ + (g - 2*d*vy_ - sq(omega0)*(y-l0))*dt/2;
t = t + dt;
...
}
}