Thema: Formelfindung

Einzelnen Beitrag anzeigen

Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Formelfindung

  Alt 18. Apr 2005, 16:48
Zitat von Maximus:
Delphi-Quellcode:
 var
  v, w: Extended // v Geschwindigkeit; w Abschusswinkel
  ro : Extended // Dichte der Luft
  r : Extended // Radius der Kugel
  cw : Extended // Wiederstandsbeiwert
  m : Extended // Masse
  ax : Extended // Bremsbeschleunigung X-Richtung
  vx : Extended // Geschwindigkeit X-Richtung
  vor_vx: Integer

 k := Pi * ro * r * r * cw / (2*m); // Wird am anfang berechnet
 vx := v * cos (w);

 ax := k * vx * vx; // Bei jedem "Tick" vom Timer wird ab hier gerechnet
 if vx > 0 then vor_vx := -1 else vor_vx := 1; //Bremsbeschleunigung entgegen Wirken lassen
 vx := vx + vor_vx * ax * 0.05;
Um das Problem bei einer kleinen Rechnung zu verdeutlichen:
Nehmen wir an:
k := 5;
vx := 10;

dan würde ax = 5 * 10² = 500
vx = 10 - 1 * 500 * 0,05 = - 15

Schon beim nächsten durchlauf würde sich vx weiter vergrößern bis es irgendwan den Extended Bereich übersteigt und das Programm abstürzen lässt.
Wenn die Werte so schnell ansteigen, ist das bei der Berechnung einer Flugbahn schon ziemlich ungewöhnlich. Und selbst wenn sich die Geschwindigkeit vergrößern sollte, dann nicht so stark, dass der Bereich von Extended überschritten wird. das scheint doch sehr unrealistisch.
Deshalb vermute ich, dass der Fehler in irgendeiner der Formeln steckt.

MfG
Binärbaum
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat