Guten Abend!
Ich habe das Problem, dass meine Berechnungen nicht so funktionieren wie sie sollten, aber nicht weiß, woran das liegen könnte.
lw ist der Luftwiderstand, (interv/1000) ist dt (
siehe WIKIPEDIA von dort sind auch meine anderen Formeln)
Delphi-Quellcode:
Timer1Timer...
lw := 0.5 * rho * cw * A * (sqr(vx) + sqr(vy)) / 10000; // vx und vy hier noch die Startwerte aus der PLAY-Button-Procedure
winkelbogen := arctan(vy / vx);
winkel := RadToDeg(winkelbogen);
ax := (-cos(winkelbogen)) * lw * m;
ay := (-g) - (sin(winkelbogen) * lw / m);
vx := vx + (ax * (interv / 1000));
vy := vy + (ay * (interv / 1000));
v := vx + vy;
x := x + (vx * (interv / 1000));
y := y + (vy * (interv / 1000));
// Berechnung der variablen Werte MIT Luftwiderstand
Die Beträge der errechneten Werte wachsen, aber meist mit negativem Vorzeichen. Normalerweise müsste z.B. der Betrag von vx erst sinken und dann wieder steigen, x genau andersherum...stattdessen werden die werte immer kleiner. Was ist denn daran falsch? Ich verzweifel hier bald!