/* Variablendeklaration */
...
var M; // dyn. Maßstab
var x, vx; // Objektkoordinaten
var y, vy;
...
var t = 0; // Zeit
var dt; // Zeitquant - wird auf die Bildwechselrate bezogen
var frmRate; // Fliesskommadarstellung für Kehrwertbildung notwendig!
...
var g = 9.81;
var rho = 1.3; // Luftdichte in kg/m³
var cw = 0.1; // cw-Wert Vollkugel bei v > 5 m/s
var d = 0.4; // Balldurchmesser
var mBall = 0.45; // Ballmasse in kg
var tau; // Zeitkonstante
function setup()
{
...
}
function draw()
{
...
//*************************************** Berechnung der Bewegung ***************************************
if (START)
{
...
x = x0;
y = y0;
vx = vx0;
vy = vy0;
tau = mBall/(rho*cw*PI*sq(d/2)); // Zeitkonstante nach Newton
}
else
{
/* Berechnung der Zeitfunktionen */
var vx_ = vx; // Geschwindigkeitswert merken wegen Verkopplung
vx = vx - (vx*sqrt(sq(vx)+sq(vy))/(2*tau))*dt; // I. Integration
vy = vy - (vy*sqrt(sq(vx_)+sq(vy))/(2*tau) + g)*dt;
x = x + vx*dt; // II. Integration
y = y + vy*dt;
...
}
//****************************************** Darstellung ************************************************
// Hier wird in Metern gerechnet!
...
ellipse(kXi(x*M), kYi(y*M), 4*d*M, 4*d*M); // Ball
}