/* Variablendeklaration */ ... var FREE; // Status der Masse-Bewegung Loslösung der Masse var TOUCH; // Status der Masse-Bewegung Landen der Masse var FIRST = false; // Status für händische Masse-Bewegung ... function setup() { ... } function draw() { ... if (START) { ... } else { startDiagram = true; vyf = vyf + (-2*delta*vyf -n*(yf-l_)/m - g)*dt; // Berechnung DGl. Feder-Masse yf = yf + vyf*dt; vyk = vyk - g*dt; // Berechnung DGl. Masse freier Fall yk = yk + vyk*dt; if (yk > yf) { //Masse nicht mit Feder verbunden: Freier Fall m = mf; // nur Federmasse wirksam TOUCH = false; } else { //Schwingung if(TOUCH) { //erste Berührung Kugel-Feder if (yf > l_ && !FREE) { // Parameterübergabe Feder -> Masse FREE = true; //<>// m = mf; // Feder schwingt nur mit Federmasse } else { FREE = false; m = mf + mk; // effektive Masse = Feder- + Kugelmasse } vyk = vyf; // Parameterübergabe Feder -> Masse if (!result[0]) yk = yf; // Parameterübergabe Ort, wenn nicht von Hand bewegt } else { TOUCH = true; m = mf + mk; vyf = vyk; // Parameterübergabe Masse -> Feder yf = yk; } } }