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; ... } }