//*********** 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
}
...
}