Einzelnen Beitrag anzeigen

Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#20

AW: Neues Problem

  Alt 4. Aug 2010, 10:51
FÜr mich sind beide Rechnungen jedoch schlüssig,
Für mich nicht. Was du im Grunde machst (bzw. versuchst) ist:
E := E - Norm(Speed) * TimeGap
Norm(Speed) ist die Norm des Geschwindigkeitsvektors.

Was du wirklich tust: ich habe die lange Formel mal etwas auseinander gefriemelt:
Code:
sqrt(
   abs(
      (
         (Xspeed*TimeGap)
         *
         (XSpeed*TimeGap)
      )
   )
   +
   abs(
      (
         (YSpeed*TimeGap)
         +
         (YSpeed*TimeGap)
      )
   )
)
Fällt dir was auf? Beim YSpeed*TimeGap steht ein Plus. Das gehört da nicht hin. (Zumindest wären deine Formeln konsistenter wenn dort ein * stehen würde)

Den Betrag kannst du übrigens weglassen. Die Fallunterscheidung auch. Sieht dann so aus:
Delphi-Quellcode:
  if Energie > 0 then begin
                     X := X + (XSpeed * TimeGap * Energie * 10);
                     Y := Y + (YSpeed * TimeGap * Energie * 10);
                     //Energie neu berechnen
                        Energie := Energie - sqrt(Xspeed*XSpeed + YSpeed*YSpeed) * TimeGap;
  Mit Zitat antworten Zitat