Zitat von
Der T:
Den Luftwoederstand habe ich schon eingebaut.
Wie hast du das denn gemacht? Bei jedem Schleifenaufruf die aktuelle Geschwindigkeit unter einer Variablen gespeichert und in Abhängigkeit von dieser dann die Beschleunigung berechnet, die der Geschwindigkeit entgegenwirkt?
Würde folgender Code (berücksichtigt nur die X-Bewegung) funktionieren bzw. hast du es auch so ähnlich gemacht?
Delphi-Quellcode:
const
cw = 0.5; // cw-Wert einer Kugel
A = 1; // Querschnittsfläche der Kugel
roh = 1.204; // Luftdichte bei 20°C
m = 1; // Gewicht der Kugel
var
t1, t2, DeltaT: Ingeger;
v, x, F: Real; // x-Geschwindigkeit, x-Position, entgegenwirkende Kraft
begin
x := 0;
v := 20;
t1 := GetTickCount;
while Werfen do
begin
t2 := t1;
t1 := GetTickCount;
DeltaT := t1 - t2;
F := 0.5*cw*A*roh*v*v;
v := v - F/m*DeltaT;
x := x + v*DeltaT;
end;
end;