Einzelnen Beitrag anzeigen

Benutzerbild von olee
olee

Registriert seit: 16. Feb 2008
Ort: Boppard
540 Beiträge
 
Turbo Delphi für Win32
 
#24

Re: Gravitation Erde-Asteroid

  Alt 26. Mär 2008, 17:42
Oh stimmt das hatte ich ganz vergessen...

{an die Stirn schlag}

Die bei jedem Rendern aufgerufene Move-Methode des sich bewegenden Objkektes:

Delphi-Quellcode:
  for i := 0 to high(Planets) do
  begin
    XD := XD + Grav(Planets[i].X-X, Planets[i].X-X, Planets[i].Y-Y, Planets[i].GravF);
    YD := YD + Grav(Planets[i].Y-Y, Planets[i].X-X, Planets[i].Y-Y, Planets[i].GravF);
  end;
  X := X + XD;
  Y := Y + YD;

Die Grav-Methode:

Delphi-Quellcode:
function Grav(CalcDist,DistX,DistY,GravF: Double): Double;
begin
  Result := (CalcDist) / ((sqr(DistX)+sqr(DistY))/GravF);
end;

Diese Formel (natürlich ein wenig an Delphi angepasst^^) habe ich auch aus einem Physikbuch entnommen und stimmt.
Björn Zeutzheim
  Mit Zitat antworten Zitat