...
// vor dem Stoß
// zentrale und tangentiale Komponenten
result = rotCoordSystem(vx01, vy01, beta);
v1T = result[1];
v1Z = result[0];
result = rotCoordSystem(vx02, vy02, beta);
v2T = result[1];
v2Z = result[0];
// im Stoßmoment
// Energie- und Impulsübertragung //
v1Z_= ((m1-m2)*v1Z+2*m2*v2Z)/(m1+m2); // Radialgeschwindigkeiten nach dem Stoß
v1T_ = v1T; // Tangentialgeschwindigkeiten
v1_ = sqrt(sq(v1Z_)+sq(v1T_)); // Betrag v1_
gamma1 = atan2(v1T_,v1Z_);
v2Z_= ((m2-m1)*v2Z+2*m1*v1Z)/(m1+m2);
v2T_ = v2T; // keine Änderung d. Tangentialk., da keine Wechselwirkung!
v2_ = sqrt(sq(v2Z_)+sq(v2T_)); // Betrag v2_
gamma2 = atan2(v2T_,v2Z_);
// nach dem Stoß
// x- u. y-Komponenten
result = rotCoordSystem(v1T_, v1Z_, -beta);
v1x_ = result[1];
v1y_ = result[0];
result = rotCoordSystem(v2T_, v2Z_, -beta);
v2x_ = result[1];
v2y_ = result[0];
...
/********************************************** Funktionen ****************************************/
function rotCoordSystem(x, y, phi)
{ // Koordinatensystem um phi drehen
var u = x*cos(phi) + y*sin(phi); // tangentiale K.
var v = -x*sin(phi) + y*cos(phi); // zentrale K.
return [u, v];
}