//*********** Variablendeklaration *********************/ ... var STOSS = false; // vor oder nach dem Stoß? ... var t = 0; // Zeitvariable var ts = 0; // Stoßzeit var dt; // Increment der Zeitv. function draw() { ... { /************************ Berechnung der Bewegung *****************************************/ if ((abs(x2 - x1) <= (r1 + r2)/2)&&(!STOSS)) { x01_ = x1; // Merken der letzten Positionen beim Stoß x02_ = x2; ts = t; // Stoß-Zeitpunkt STOSS = true; } if (!STOSS) { x1 = vx1*t + x01; // vor dem Stoß x2 = vx2*t + x02; } else { x1 = vx1_*(t - ts) + x01_; // nach dem Stoß: Stoßort und Stoßzeit x2 = vx2_*(t - ts) + x02_; // bestimmen die Bewegung nach dem Stoß! } t = t + dt; // Zeit läuft kontinuierlich } ... }